Modelowanie systemu
Model nigdy nie będzie w pełni odpowiadał rzeczywistości
Modelowanie jest nierozerwalnie związane z uwypuklaniem pewnych cech i
pomijaniem innych
Modelowanie można określić jako próbę uchwycenia w kategoriach
informatycznych i wyrażenia za pomocą specjalnej notacji graficznej
Nie ma uniwersalnej odpowiedzi na pytanie o to, co wyróżnić a co pominąć.
Typy Modelu
Modele systemu można podzielić na dwie podstawowe grupy:
Modele zachowania systemu (aspekt dynamiczny)
Modele struktury systemu (aspekt statyczny)
Modele Maszyn Stanowych
Modelami zachowania ukierunkowanymi na zmiany stanów systemu
są modele maszyn stanowych (state machine models).
Modele maszyn stanowych odpowiadają systemom, w których
występuje pewna liczba stanów systemu, a przejścia między stanami
odbywają się z małym udziałem przetwarzania danych. Przykładami
takich systemów są rozmaite systemy czasu rzeczywistego oraz
systemy sterowania.
rosnąca liczba możliwych stanów w bardziej złożonych systemach.
Modelami zachowania ukierunkowanymi na aspekty przetwarzania
danych (nazywanymi także modelami przepływu danych – data flow
models) są:
modele przepływu sterowania (control flow models)
modele przepływu obiektów (object flow models)
W obu wypadkach elementami modelu są działania przekształcające
dane, a powiązania między elementami oznaczają przekazanie danych.
W modelach przepływu obiektów istotną rolę w diagramach
odgrywają elementy przedstawiające dane (mogą to być obiekty, ale
mogą też pliki lub struktury).
Modele struktury
Modele struktury systemu koncentrują się na statycznych aspektach jego
budowy.
Elementami systemu są w takim ujęciu:
podsystemy
komponenty
interfejsy
klasy
obiekty
Należy zwracać uwagę na rozróżnienie abstrakcyjnej struktury systemu
(potencjalna zawartość systemu) od struktury systemu w trakcie wykonania
(konkretna jednostkowa realizacja możliwości systemu). Zapisany program
opisuje potencjalną zawartość systemu, uruchomiony dla konkretnych danych
staje się systemem konkretnym jednostkowym.
Język UML przyjmuje w praktyce postać graficznej reprezentacji
tworzonego systemu, składającej się z logicznie powiązanych z sobą
diagramów. Wyróżniamy następujące ich kategorie:
diagramy abstrakcyjne
diagramy konkretne.
W standardzie UML występuje trzynaście rodzajów diagramów, które
charakteryzują statystykę i dynamikę tworzonego systemu.
Pakiet (ang. package) jest uniwersalnym mechanizmem służącym do
organizowania elementów w grupy. Pakiet grupuje elementy modelu i
diagramy
Diagram klas obrazuje pewien zbiór klas, interfejsów i kooperacji oraz związki
między nimi. Jest on grafem złożonym z wierzchołków (klas, interfejsów,
kooperacji) i łuków (reprezentowanych przez relacje). Diagram klas stanowi
opis statyki systemu, który uwypukla związki między klasami, pomijając
pozostałe charakterystyki.
Modelowanie przepływu czynności jest jedną z najważniejszych technik
oferowanych przez język UML. Rozdział ten zawiera opis notacji i
semantyki diagramu czynności zwanym także diagramem aktywności.
Diagram czynności (ang. activity diagram) jest diagramem interakcji,
który służy do modelowania dynamicznych aspektów systemu. Jego
zasadniczą funkcją jest przedstawienie sekwencji kroków, które są
wykonywane przez modelowany fragment systemu.
Aktywność (ang. activity) jest sparametryzowanym zachowaniem
systemu, przedstawionym w postaci uporządkowanych, podrzędnych
elementów, z których najważniejszym jest akcja. Aktywność służy do
zaprezentowania tych behawioralnych aspektów systemu, które mogą
zostać zdekomponowane za pomocą czynności. Aktywność może
stanowić oddzielny diagram czynności.
• Czynność (ang. action) jest wykonywalnym węzłem aktywności, który
reprezentuje transformację lub proces modelowanego systemu.
Wynikiem działania czynności może być zmiana stanu systemu lub
zwrócenie wyniku (ang. reference). Czynność nie podlega
dekompozycji.
Diagram sekwencji (ang. sequence diagram) służy do prezentowania
interakcji pomiędzy obiektami wraz z uwzględnieniem w czasie
komunikatów, jakie są przesyłane pomiędzy nimi. Na diagramie
sekwencji obiekty ułożone są wzdłuż osi X, a komunikaty przesyłane są
wzdłuż osi Y. Zasadniczym zastosowaniem diagramów sekwencji jest
modelowanie zachowania systemu w kontekście scenariuszy
przypadków użycia. Diagramy sekwencji pozwalają uzyskać odpowiedź
na pytanie, jak w czasie przebiega komunikacja pomiędzy obiektami.
Dodatkowo diagramy sekwencji stanowią podstawową technikę
modelowania zachowania systemu, które składa się na realizację
przypadku użycia.
• diagram klas (ang. Class Diagram) - kls (cld) - diagram klas to graficzne
przedstawienie statycznych, deklaratywnych elementów dziedziny
przedmiotowej oraz związków między nimi
• diagram obiektów (Object Diagram) - obk (od) - diagram obiektów to
wystąpienie diagramu klas, odwzorowujące strukturę systemu w
wybranym momencie jego działania
• diagram pakietów (ang. Package Diagram) - pkt (pd) - diagram
pakietów to graficzne przedstawienie logicznej struktury systemu w
postaci zestawu pakietów połączonych zależnościami i
zagnieżdżeniami;