Table of Contents
Zadanie 5 Diagramy interakcji
Temat jest realizowany przez dwa kolejne zajęcia. Podczas realizacji jest modyfikowany także opracowany wcześniej diagram struktury klas.
Celem zadania jest wykonanie dwóch diagramów modelujących interakcje pomiędzy obiektami:
- sekwencji (przebiegu) – ang. sequence diagram, message sequence chart oraz
- diagramów współdziałania (kooperacji, kolaboracji, komunikacji) – ang. collaboration diagram, communication diagram
Oba diagramy obrazują podstawowy paradygmat modelowania/programowania obiektowego: system jest siecią połączonych ze sobą obiektów, które komunikują się za pomocą przesyłanych komunikatów.
Diagramy sekwencji i współdziałania są semantycznie równoważne: stosując różną notację pokazują scenariusz wymiany komunikatów pomiędzy obiektami. Mogą na nich występować zarówno obiekty wchodzące w skład systemu, jak i obiekty zewnętrzne (aktorzy).
Diagramy opisujące interakcję powinny być spójne z diagramami opisującymi strukturę:
- Obiekt może przyjąć tylko te komunikaty, które są zdefiniowane w jego interfejsie. Interfejs jest zdefiniowany przez wyliczenie metod. Widoczne atrybuty mogą być opakowane przez metody set() i get().
- Wysłanie komunikatu jest utożsamiane z wywołaniem metody.
- Aby nadawca mógł przesłać komunikat do odbiorcy, obie strony muszą być połączone jakąś formą kanału komunikacji. Implikuje to istnienie w modelu struktury związku typu asocjacja (agregacja, kompozycja) lub zależność.
- W praktycznej implementacji - aby móc przesłać komunikat do obiektu, czyli wywołać jego metodę, musi być on
- obiektem globalnym (zależność),
- parametrem metody nadawcy (zależność),
- atrybutem nadawcy typu wskaźnik, referencja (ascocjacja lub agregacja)
- polem nadawcy (kompozycja).
Do przeczytania
Do zrealizowania
Zamodeluj scenariusze dwóch przypadków użycia w postaci diagramów sekwencji i diagramów współdziałania. Podczas modelowania przestań traktować system, jak czarną skrzynkę. Pokaż, że obiekty są tworzone, wyszukiwane, dodawane, wiązane.
Równocześnie, uzupełniaj zbudowany wcześniej diagram struktury klas:
- dla istniejących klas dodawaj metody i związki.
- możesz dodać kontenery obiektów
- możesz dodać sztuczne klasy typu Obsługa zamówienia
Wskazówki:
- Jeżeli korzystasz z Visio, zacznij od pliku z diagramem struktury
- Dodaj diagram przypadków użycia i narysuj wybrane dwa wybrane przypadki użycia wraz z aktorami
- Dodaj nowy diagram - diagram sekwencji.
- Przeanalizuj przypadek użycia
- Zadecyduj, które obiekty będą brały udział w scenariuszu. Możesz dodawać dodatkowe klasy na diagramie struktury.
- Kiedy dodasz na diagramie obiekty, ustal ich klasę (kalsyfikator). Jeśli wybierzesz klasę aktora, postać graficzna zmieni się (zamiast prostokąta pojawi się symbol aktora)
- Dodawaj kolejne komunikaty na diagramie sekwencji. Komunikaty powinny być opisane nazwami metod (lub zwracanymi przez nie wartościami). W miarę potrzeb, możesz dodawać metody do klas (lub dodadzą się same, jeżeli poprawne określisz klasę obiektu.
- Możesz pominąć linie aktywności na diagramach sekwencji. Visio ma z tym problemy
- Nie zapomnij uwzględnić na diagramach stereotypowych komunikatów «create» i «destroy».
- Przebiegi alternatywne na diagramach sekwencji. : Wykorzystaj zewnętrzny przybornik dla SysML
- Na diagramach współdziałania dodaj numery pokazujące kolejność diagramów w sekwencji. W miarę możliwości numery te powinny być spójne z numeracją stosowaną w scenariuszach przypadków użycia.
Uwagi do egzaminu
Proszę przygotować się także z diagramu obiektów.
Do wykorzystania
Regiony opt, loop, alt » Przybornik Visio wspierający diagramy sekwencji