Modelowanie systemu:

- Model systemu jest to graficzna prezentacja, w której przedstawia się problem do rozwiązania i system do zbudowania. Dzięki użyciu graficznych środków wyrazu modele są zwykle bardziej zrozumiałe niż szczegółowy opis wymagań systemowych w języku naturalnym.

- Modele mogą być użyte do zobrazowania systemu z różnych punktów widzenia:

- zewnętrznego, przy którym modeluje się kontekst lub środowisko systemu.

- zachowania, przy którym modeluje się zachowanie systemu.

- strukturalnego, przy którym modeluje się architekturę systemu lub strukturę przetwarzanych danych.

- Modelowanie jest elementem zarówno analizy, jak i projektowania

- Często mówi się o modelu logicznym (analiza) i fizycznym (projektowanie)

Podstawowe rezultaty modelowania

- Poprawny dokument opisujący wymagania (dotyczące oprogramowania)

- Słownik danych zawierający specyfikację modelu

- Harmonogram projektowania

- Wstępne przypisanie ludzi i zespołów do zadań

Dokument opisujący stworzony model może zawierać:

- diagram klas (ew. diagramy obiektów)

- diagram przypadków użycia

- diagramy interakcji (do pokazania sekwencji komunikatów; dla wybranych sytuacji)

- diagramy zmiany stanów (dla interesujących obiektów)

- raport zawierający definicje i opisy klas, atrybutów, związków, metod, itd.

Modelowanie - typowe zagadnienia

- Budowa statycznego modelu klas

- Analiza funkcjonalności i przypadków użycia

- Weryfikacja klas i obiektów

- Identyfikacja i definiowanie metod oraz komunikatów

- Modelowanie stanów i przejść między stanami

- Modelowanie procesów i przepływów danych

- Modelowanie przepływu sterowania

Modele kontekstowe

- We wczesnej fazie procesu określania i analizowania wymagań należy ustalić granice systemu.

- W niektórych wypadkach granica między systemem, a jego środowiskiem jest dość czytelna.

- Granice między systemem a jego środowiskiem należy ustalić w trakcie procesu inżynierii wymagań.

Model analityczny

- uproszczony opis systemu, zawierający wszystkie istotne cechy oprogramowania na wyższym poziomie abstrakcji

- opisany przy pomocy notacji zgodnej z pewną konwencją

- zbudowany przy użyciu dobrze rozpoznanych metod i narzędzi

- może być używany do wnioskowania o przyszłym oprogramowaniu

- nawet b. dobry model nie jest warunkiem wystarczającym do stworzenia dobrego projektu systemu (np. bez udziału doświadczonych i wnikliwych projektantów),

Model logiczny

- Logiczny model oprogramowania:

- pokazuje co system musi robić;

- jest zorganizowany hierarchicznie, wg poziomów abstrakcji;

- unika terminologii implementacyjnej;

- pozwala na wnioskowanie „od przyczyny do skutku” i odwrotnie.

- Model logiczny - abstrahuje od czynników technicznych związanych z realizacją, takich jak:

- sposób reprezentacji danych,

- sposób zapisu danych (np. w bazie danych),

- sposób implementacji algorytmów,

- konfiguracja sprzętowa.

-

Model zachowania

- Modelując zachowanie obiektów, musimy wykazać, jak korzysta się z operacji dostarczonych przez obiekty.

- W UML zachowanie jest modelowane za pomocą scenariuszy.

- Modele zachowania są używane do ogólnego opisywania zachowania systemu.

- Dwa typy modeli:

- Modele przepływów danych, w których opisuje się przetwarzanie danych w systemie.

- Modele maszyn stanowych, w których opisuje się reakcje systemu na zdarzenia.

Modele przepływu danych:

- Są intuicyjnym sposobem przedstawienia, jak dane są przetwarzane przez system.

- Na etapie analizy należy ich użyć do modelowania przetwarzania danych w istniejącym systemie.

- Notacje używane w tych modelach służą do przedstawiania przetwarzania funkcjonalnego, magazynów danych i przekazywania danych między funkcjami.

- Modele przepływu danych są powszechnie stosowane w analizie systemów.

Modele maszyn stanowych

- Służą do opisywania zachowania systemu; reagują na wewnętrzne lub zewnętrzne zdarzenia.

- Zawierają stany i zdarzenia, które powodują przejścia z jednego stanu do innego.

- Nie obejmują przepływu danych w ramach systemu.

- Modele maszyn stanowych są integralną częścią metod projektowania systemów czasu rzeczywistego.

Proces tworzenia modelu obiektowego

Zadania polegające na identyfikowaniu i definiowaniu:

- klas i obiektów

- związków klas i obiektów

- pól, metod i komunikatów

Podstawowe strategie konstruowania modelu w kontekście obiektowości:

- od ogółu do szczegółu” (top-down),

- „od szczegółu do ogółu” (bottom-up),

- „rozpływania” (inside-out).