Zadanie 5 Diagramy sekwencji

Celem zadania jest wykonanie dwóch diagramów:

  • diagramu struktury klas (uzupełnienie modelu dziedziny)
  • sekwencji (przebiegu) – ang. sequence diagram, message sequence chart

Diagram sekwencji obrazuje 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 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 realizację scenariuszy dwóch przypadków użycia w postaci diagramów klas i diagramów sekwencji. Podczas modelowania realizacji przypadku użycia system nie jest traktowany, jak czarna skrzynka. Należy pokazać, że obiekty są tworzone, wyszukiwane, dodawane, wiązane.

Równocześnie, uzupełniaj zbudowany wcześniej diagram struktury klas:

  • dodaj klasy interfejsu za pomocą których komunikuje się aktor
  • dodaj klasy odpowiedzialne za koordynację prztwarzania (tzw. logikę biznesową)
  • dla istniejących klas dodawaj metody i związki.
  • możesz dodać kontenery obiektów

:!: PlantUML --narzedzie do generacji diagramów z opisów tekstowych otwórz...

Przykład

Diagram klas

Diagram klas

Na rysunku pokazano diagram klas. Logicznie obejmuje on trzy grupy klas:

  • interfejsu: FormularzWypożyczeń
  • przetwarzania: ObsługaWypozyczeń
  • modelu dziedziny oraz przechowywania danych (wszystkie pozostałe zaznaczone na niebiesko)

Na diagramie klas zaznaczono metody. Metody będą komunikatami na diagramie sekwencji.

Diagram sekwencji

Diagram sekwencji

Diagram pokazuje realizację rejestracji wypożyczenia (ale bez przebiegów alternatywnych).

  1. Aktor (bibliotekarz) wywołuje funkcję formularza wypożyczeń wypoż_form
  2. Formularz woła metodę wypożycz() obiektu klasy ObsługaWypozyczeń. Zwróć uwagę, że wołana jest metoda docelowego obiektu i jest widoczna jako komunikat
  3. Następnie wyszukiwany jest egzemplarz: egz=znajdzEgzemplarz(sygn) w katalogu
  4. Dalej szukany jest czytelnik znajdzCzytelnika(id_czyt) w bazie czytelników
  5. Następnie, tworzone jest wypożyczenie i ustawiane są jegoparametry: «create»
  6. Na końcu następuje zwrócenie wartości true do formularza, który wywołuje swoją metodę reportSuccess()

Przykład w PlantUML. Aby edytować skopiuj link i wklej w edytorze PlanUML.

Modelowanie przebiegów alternatywnych

Do modelowania przepływu sterowania w UML 2.0 stosujemy regiony:

  • alt - pokazuje co najmniej dwie możliwości, odpowiednik if-else
  • opt - fragment wykonywany opcjonalnie (odpowiednik if)
  • loop - pętla
  • ref - wywołanie innego diagramu sekwencji (można odwzorować konstrukcję «include» przypadków użycia)

Przykład regionu alt

Uwaga: w Visio 2007/2010 do narysowania regionów na diagramach sekwencji można skorzystać z zewnętrznego przybornika : Wykorzystaj zewnętrzny przybornik dla SysML

amo/zadanie_5.txt · Last modified: 2023/02/01 14:17 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0