Diagram sekwencji

Niniejszy wpis prezentuje technikę modelowania przepływu sterowania z uwzględnieniem komunikatów w czasie. Celem jest omówienie diagramów sekwencji, które umożliwiają modelowanie interakcji pomiędzy obiektami wraz z komunikatami przepływającymi między nimi.

Diagram sekwencji – definicja i zastosowanie

Diagram sekwencji (ang. sequence diagram) służy do prezentowania interakcji pomiędzy obiektami z uwzględnieniem czasowego aspektu komunikatów przesyłanych między nimi. Kluczowe cechy:

  • Obiekty układane są wzdłuż osi X.
  • Komunikaty przesyłane są wzdłuż osi Y, reprezentując upływ czasu.
  • Główne zastosowanie: modelowanie zachowania systemu w kontekście scenariuszy przypadków użycia.
  • Pozwalają odpowiedzieć na pytanie: jak przebiega komunikacja pomiędzy obiektami w czasie?
  • Stanowią podstawową technikę modelowania zachowania systemu w realizacji przypadku użycia.

Diagram sekwencji – notacja i semantyka

W celu budowania diagramów sekwencji należy najpierw poznać elementy (klocki), z jakich te diagramy powstają. Poniżej zamieszczono notację wraz
z opisem najważniejszych elementów służących do kreowania diagramów sekwencji.

Linia życia

diagramy uml linia zycia
Rys 1. Linia życia – notacja

Linia życia to rola uczestnika interakcji, jaką pełni w czasie jej trwania. Linia życia reprezentuje współuczestnika interakcji i czas jego istnienia podczas realizacji scenariusza. Linie życia reprezentują konkretne byty – obiekty, systemy i mogą przyjmować stereotypy, które świadczą o roli, jaką pełni dany obiekt
w systemie. Reprezentuje konkretne byty: obiekty, systemy (np.: komponenty)

Komunikat

Komunikat (ang. message) jest to informacja przesyłana pomiędzy obiektami. W języku UML można korzystać z różnych typów komunikatów (rys. 2). Komunikat synchroniczny oznacza, że obiekt musi czekać na odpowiedź. Komunikat asynchroniczny nie wymaga oczekiwania na odpowiedź.

Rys. 2 Podstawowe rodzaje komunikatów na diagramach sekwencji

diagramy uml diagram sekencji podstawowe rodzaje komunikatow
Rys. 2 Podstawowe rodzaje komunikatów na diagramach sekwencji

Stosując na diagramie komunikaty synchroniczne, przyjmuje się, że natychmiast po jego wywołaniu przychodzi odpowiedź. Taka konwencja pozwala na zmniejszenie liczby elementów na diagramie. W sytuacji, gdy modelowany fragment rzeczywistości jest inny niż założenia konwencji, należy umieścić komunikat zwrotny.

Fragment

diagramy uml fragment
Rys. 3 Fragment – notacja

Fragment (ang. combined fragment) to konceptualnie zamknięta część diagramu sekwencji, która rozszerza możliwości obejmowanego przez siebie obszaru diagramu sekwencji. Fragment może zawierać w sobie pętle, powtórzenia, scenariusze alternatywne lub wskazywać poziom abstrakcji modelowanego fragmentu systemu.

Rodzaj fragmentu jest określany poprzez umieszczenie odpowiedniego słowa kluczowego w lewym górnym rogu. Poniżej opis wszystkich słów kluczowych, które mogą wystąpić we fragmentach. Najpopularniejsze typy to:

  • alt – dzieli fragment interakcji zgodnie z warunkami logiki Boole’a na dwa alternatywne scenariusze; każda  z alternatyw musi być opatrzona warunkiem dozoru, którego spełnienie gwarantuje wykonanie danej alternatywy.
  • loop – powtórzenie fragmentu interakcji określoną warunkiem liczbę razy.
  • par – prezentuje równoległe wykonywanie przepływu wiadomości.

Możliwość stosowania fragmentów w diagramach sekwencji pomaga przy modelowaniu scenariuszy.

Diagram sekwencji przykład

diagramy uml diagram sekwencji przyklad
Rys. 4 Diagram sekwencji – przykład

Główne elementy diagramu to:

  1. Klient – inicjator procesu płatności
  2. System Rental – system obsługujący wynajem
  3. Bramka płatności – zewnętrzny system autoryzacji płatności

Przebieg interakcji:

  1. Klient inicjuje płatność.
  2. System Rental wysyła żądanie autoryzacji płatności do bramki płatności.
  3. Bramka płatności przetwarza żądanie i zwraca odpowiedź. Diagram pokazuje dwa możliwe scenariusze: a) Płatność zaakceptowana:
    • Bramka zwraca kod 200 (sukces)
    • System Rental zapisuje status płatności jako OK
    • System potwierdza płatność klientowi

    b) Płatność odrzucona:

    • Bramka zwraca kod 40X (błąd)
    • System Rental zapisuje status płatności jako Nie OK
    • System informuje klienta o błędzie płatności

Diagram pokazuje asynchroniczną komunikację między systemami, co jest widoczne przez przerywane linie strzałek powrotnych. Prezentuje on również alternatywne ścieżki wykonania (zaakceptowana vs odrzucona płatność) za pomocą fragmentu oznaczonego jako „alt”.

Warto zauważyć, że diagram ten przedstawia uproszczony proces płatności, skupiając się na kluczowych interakcjach między uczestnikami systemu.

Podsumowanie

Diagramy sekwencji są potężnym narzędziem do modelowania dynamicznych aspektów systemu. Pozwalają na szczegółowe przedstawienie interakcji między obiektami w czasie, co jest kluczowe dla zrozumienia i projektowania złożonych systemów informatycznych. Ich elastyczność w reprezentowaniu różnych scenariuszy, w tym alternatywnych ścieżek i powtórzeń, czyni je nieocenionym narzędziem w procesie analizy i projektowania oprogramowania.

Pozostałe diagramy UML:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top