Diagram sekwencji

Niniejszy rozdział przybliża technikę, która umożliwia modelowanie przepływu sterowania z uwzględnieniem komunikatów w czasie. Celem tego rozdziału jest zaprezentowanie diagramów, które umożliwiają modelowanie interakcji pomiędzy obiektami wraz z komunikatami, jakie między nimi przepływają.

Diagram sekwencji – definicja i zastosowanie

Diagram sekwencji (ang. sequence diagram) służy do prezentowania interakcji pomiędzy obiektami wraz z uwzględnieniem w czasie komunikatów, jakie są przesyłane pomiędzy nimi. Na diagramie sekwencji obiekty ułożone są wzdłuż osi X, a komunikaty przesyłane są wzdłuż osi Y. Zasadniczym zastosowaniem diagramów sekwencji jest modelowanie zachowania systemu w kontekście scenariuszy przypadków użycia. Diagramy sekwencji pozwalają uzyskać odpowiedź na pytanie, jak w czasie przebiega komunikacja pomiędzy obiektami. Dodatkowo diagramy sekwencji stanowią podstawową technikę modelowania zachowania systemu, które składa się na realizację 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

najczesciej_stosowana_notacja_UML_2011_html_509495d1

Rysunek 90. 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. Takimi stereotypami mogą być aktor (ang. actor), obiekt klasy granicznej (ang. boundary class), obiekt klasy sterującej (ang. control class), obiekt klasy danych (ang. entity class).

najczesciej_stosowana_notacja_UML_2011_html_m4c0aae15

Rysunek 91. Różne typy stereotypów linii życia

Wymienione rodzaje stereotypów obiektów służą do wskazania, jaką rolę w systemie pełni obiekt. Stereotyp aktora informuje, że obiekt ten pełni funkcję zewnętrzną w stosunku do systemu. Obiekt klasy granicznej reprezentuje interfejs między systemem a bytami występującymi poza nim. Obiekt klasy sterującej używany jest do sterowania działaniem jednej lub wielu klas. Natomiast obiekt klasy danych, stosowany jest do reprezentowania danych, które muszą być zachowane w systemie.

Komunikat

image

Rysunek 92. Komunikat – notacja

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. 93). Komunikat synchroniczny oznacza, że obiekt musi czekać na odpowiedź. Komunikat asynchroniczny nie wymaga oczekiwania na odpowiedź.

najczesciej_stosowana_notacja_UML_2011_html_m6e3dffeb

Rysunek 93. 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

najczesciej_stosowana_notacja_UML_2011_html_79c0026b

Rysunek 95. 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

Na poniższym przykładzie zaprezentowano fragment ze słowem kluczowym par, który wskazuje na dwa komunikaty, które przebiegają równolegle pomiędzy tymi samymi obiektami. Natomiast drugi fragment, z parametrem alt pozwala na wydrukowanie Karty Wypożyczenia w sytuacji, gdy zostanie spełniony warunek „klient potrzebuje kopię Karty Wypożyczenia”.

image

Rysunek 96. Praktyczne zastosowanie fragmentów: parallel i alt

Diagram sekwencji jest jedną z podstawowych technik modelowania w języku UML.

Pozostałe diagramy UML:

Dodaj komentarz

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

Scroll to Top