Zajęcia 15 - Krótki przegląd UML
Diagramy UML
Diagramy przypadków użycia
- Cel: zamodelowanie różnych przypadków interakcji pomiędzy
użytkownikiem a systemem. Inaczej: kto będzie używał systemu
i co będzie z nim robił.
- Podstawowe przykłady
- Złożone
przykłady
- Relacje reużytkowania (reuse) w diagramach przypadków użycia:
- <<include>> - tak jak "wywołanie" innego
przypadku użycia, np. "SaveAll" zawiera "SaveSettings", "SaveDocuments",
itd.
- Dziedziczenie przypadków użycia - jeden przypadek użycia dziedziczy
zachowanie innego i zarazem dodaje lub modyfikuje część tego zachowania.
Np. z przypadku użycia "zapisz na uniwersytet" może dziedziczyć inny:
"zapisz krewnego profesora na uniwersystet". Oznacza to, że ogólna
procedura jest podobna, ale np. obowiązują inne reguły jeśli zapisujący
się jest krewnym profesora.
- <<extend>> - jeden przypadek użycia rozszerza
drugi. Podobne do dziedziczenia, ale możemy dokładnie określić,
w którym miejscu rozszerzający przypadek użycia dodaje coś do
rozszerzanego (przez tzw. extension point).
- Dziedziczenie aktorów - np. z aktora "Student" może dziedziczyć
"Student międzynarodowy". Oznacza to, że student międzynarodowy jest
studentem, ale np. obowiązują go nieco inne reguły.
Diagramy klas
- Cel: modelowanie klas w systemie i relacji pomiędzy nimi
- Przykłady
- Relacje pomiędzy klasami:
- Powiązania (association) - oznacza, iż obiekty łączy jakaś relacja, np.
klient powiązany jest z zamówieniem
- Generalizacja (generalization) - oznacza, że jakaś klasa jest
generalizacją lub specjalizacją jakiejś innej (dziedziczenie)
- Agregacja i kompozycja (aggregation and composition) - obiekt składa się
z innych obiektów, np. zespół składa się z pracowników (agregacja), albo
samolot składa się z części (kompozycja). Kompozycja jest "silniejszą"
formą agregacji - jeśli całość jest niszczona, to jej części także,
w przypadku agregacji tak nie jest.
Diagramy interakcji (sekwencji i kolaboracji/komunikacji)
- Cel: zamodelowanie sekwencji wiadomości pomiędzy współpracującymi
obiektami w ramach jakiegoś przypadku użycia
- Diagramy sekwencji skupiają się na kolejności zdarzeń i wiadomości
- Diagramy kolaboracji/komunikacji skupiają się na powiązaniach
pomiędzy obiektami
- Diagramy sewkencji dobrze pokazują kolejność wiadomości, gorzej
ogólny pogląd na to, co dzieje się w danym scenariuszu, diagramy
komunikacji/kolaboracji - odwrotnie.
- Przykład
- Diagram komunikacji - Przykład
Diagramy aktywności
- Cel: modelowanie przepływu aktywności w systemie w ramach jakiegoś
przypadku użycia
- Zaleta: łatwość modelowania alternatywnych przebiegów operacji
- Dobre do modelowania skomplikowanych operacji. Operacje proste
nie wymagają diagramu aktywności.
- Przykład
Diagramy stanu
Diagramy komponentów
Diagramy wdrożeń
Bartosz Baliś, balis at agh.edu.pl
Włodzimierz Funika, funika at agh.edu.pl
Maciej Malawski, malawski at agh.edu.pl
|