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:

  1. Jeżeli korzystasz z Visio, zacznij od pliku z diagramem struktury
  2. Dodaj diagram przypadków użycia i narysuj wybrane dwa wybrane przypadki użycia wraz z aktorami
  3. Dodaj nowy diagram - diagram sekwencji.
  4. Przeanalizuj przypadek użycia
  5. Zadecyduj, które obiekty będą brały udział w scenariuszu. Możesz dodawać dodatkowe klasy na diagramie struktury.
  6. 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)
  7. 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.
  8. Możesz pominąć linie aktywności na diagramach sekwencji. Visio ma z tym problemy
  9. Nie zapomnij uwzględnić na diagramach stereotypowych komunikatów «create» i «destroy».
  10. Przebiegi alternatywne na diagramach sekwencji. : Wykorzystaj zewnętrzny przybornik dla SysML
  11. 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

io/zadanie_5.txt · Last modified: 2012/11/19 02:38 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0