Wykład IV
Rola użytkownika w projetkowaniu

 

Dlatego metodologia jego projektowania musi być jasna, efektywna

 

 

Model kaskadowy jest czytelny, przejrzysty, ale w istocie niepraktyczny

 

 

KOHEZJA

Kohezja (cohesion) oznacza zwartość,  spoistość. Terminu tego używa się np.
w odniesieniu  do komponentu oprogramowania (klasy,  modułu, itp.)  na

oznaczenie wzajemnego zintegrowania jego elementów składowych.

Duża kohezja oznacza silną interakcję wewnątrz i relatywnie słabsząinterakcję z zewnętrzem.

Komponenty   powinna cechować duża kohezja, co oznacza, że komponent stanowi dobrą,

intuicyjną abstrakcję “czegoś”, czyli posiada  precyzyjnie określoną semantykę,

jest dobrze wyizolowany z kontekstu (maksymalnie od  niego  niezależny) oraz posiada

Skojarzenie (coupling) określa stopień powiązania między komponentami, np. dla klas:

jak często obiekty jednej klasy występują razem z obiektami innych klas,

jak często obiekty jednej klasy wysyłają komunikaty do obiektów innej klasy, itp.

Możliwe są skojarzenia silne, słabe czy  w ogóle brak skojarzenia.

Duża ilość silnych skojarzeń miedzy  elementami składowymi (high coupling)

jest tym, czego powinno się unikać.

Analiza stopnia kohezji i wzajemnych skojarzeń stanowi podstawę do konstruowania

architektury systemu,  czyli wyróżniania elementów składowych systemu, określania

ich  wzajemnych interakcji  oraz sposobów przesyłania między nimi danych.


Zadania inżynierii oprogramowania

 

Redukcja złożoności oprogramowania;

Propagowanie wykorzystywania technik i narzędzi ułatwiających pracę nad złożonymi systemami; Upowszechnianie metod wspomagających analizę nieznanych problemów oraz ułatwiających

wykorzystanie wcześniejszych doświadczeń; Usystematyzowanie procesu wytwarzania oprogramowania,

tak aby ułatwić jego planowanie i monitorowanie;  Wytworzenie wśród producentów i nabywców przekonania, że budowa dużego systemu wysokiej jakości jest zadaniem wymagającym profesjonalnego podejścia.

 

Zasady przeprowadzania rozmów z przyszłymi użytkownikami


1) Nie należy przeprowadzać rozmów
równocześnie ze zbyt liczną grupą osób,
najlepiej dwu lub trzyosobową.

2) Należy starannie dobrać osoby,
z którymi będą przeprowadzane rozmowy,
najbardziej wartościowymi rozmówcami
są osoby z największym doświadczeniem
w danej dziedzinie.

3) Osoby, z którymi będą przeprowadzane rozmowy
powinny zostać wcześniej poinformowane,
czego analityk chciałby się dowiedzieć,
dobrze jest sporządzić w pisemnej formie
listę głównych pytań.

4) Powinno się unikać pytań "jak?", skupiając się na pytaniu "co?".

5) W pierwszych rozmowach należy dowiedzieć się, jakie jest 
przeznaczenie systemu oraz jakie powinny być jego 
zasadnicze funkcje.

6) Należy dążyć do ograniczenia niejednoznaczności wymagań 
do minimum tak, aby umożliwić utworzenie projektu 
maksymalnie zgodnego z oczekiwaniami.

7) Należy dotrzeć do szczegółów wiążących się 
z poszczególnymi wymaganiami.


8) Należy pamiętać, że to przyszli użytkownicy
są kluczem do dobrego projektu.

9) Dobrze jest zapewnić sobie pomoc w sporządzaniu notatek
z rozmów, aby lepiej skoncentrować się
na wypowiedziach rozmówcy.

10) Rozmowy nie powinny być przedłużane, a jednocześnie
wszystkie zagadnienia powinny zostać omówione.
Dlatego też w razie konieczności należy umówić się
na dodatkowe spotkanie.

11) Zaraz po przeprowadzonej rozmowie użytkownicy
powinni otrzymać szczegółowe notatki z przebiegu spotkania
w celu opatrzenia ich komentarzem, co do kwestii spornych.


Przy projektowaniu systemów informatycznych trzeba koniecznie brać pod uwagę
tzw. „Prawa Murphy’ego”

 

•Jeśli coś może się nie udać – nie uda się na pewno

•Jeśli myślisz, że wszystko idzie dobrze – na pewno o czymś nie wiesz

•Trudne problemy pozostawione same sobie staną się jeszcze trudniejsze

•Jeśli udoskonalasz coś dostatecznie długo – na pewno to zepsujesz

•Niemożliwe jest zbudowanie systemu niezawodnego – głupcy są zbyt pomysłowi

•Aby oszacować czas potrzebny do stworzenia systemu – należy przewidywany czas pomnożyć przez dwa i podać go w jednostkach wyższego rzędu (np. w tygodniach, zamiast w dniach)

•Prawdopodobieństwo każdego zdarzenia jest odwrotnie proporcjonalne do stopnia, w jakim jest ono pożądane •To, czego szukasz, znajdziesz w ostatnim z możliwych miejsc

•Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich sam robić

•Wszyscy kłamią, nie ma to jednak znaczenia, bo i tak nikt nikomu nie wierzy •Logika jest absolutnie pewną metodą dochodzenia do niepewnych wniosków

•Wszystko co dobre, jest niemoralne, nielegalne, albo powoduje tycie