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).