teoria cw4, Studia i nauka, Sprawozdania i notatki, Inżynieria oprogramowania, Teoria i instrukcje

[ Pobierz całość w formacie PDF ]
Diagramy sekwencji
Diagram sekwencji (sequence diagram) jest jedną z form diagramu interakcji i ukazuje
obiekty łącznie z ich liniami życia (lifeline) biegnącymi w dół, równolegle do osi czasu, co
pozwala uwypuklić kolejność komunikatów w czasie.
Linia życia reprezentuje aktywność pojedynczego uczestnika diagramu sekwencji.
Linia życia zaczyna się od symbolu obiektu, który zwykle jest prostokątem zawierającym
nazwę obiektu, opcjonalnie uzupełnioną jego typem. Jeśli nazwą obiektu jest „self", oznacza
to że linia życia reprezentuje klasyfikator, który posiada diagram sekwencji. Gdy diagram
sekwencji jest ilustracją przypadku użycia i znajduje się w jego gałęzi w drzewie modelu,
linia życia może zaczynać się od symbolu aktora. Ponadto jako symbole obiektów stosuje się
elementy typu klasa graniczna (boundary), klasa sterująca (control) i klasa przechowująca
(entity).
Ośrodek sterowania (execution occurrence, focus of control) – jest prostokątem
leżącym na linii życia , symbolizującym czas, którym sterowanie należy do obiektu w
związku z obsługą odebranego przez obiekt komunikatu. Górna krawędź tego prostokąta leży
na tej samej wysokości co początek akcji obsługującej komunikat, a dolna – na wysokości
odpowiadającej zakończeniu akcji. Można stosować zagnieżdżenie sterowania, by
zobrazować rekurencję, wywołanie własnej operacji lub wywołanie zwrotne z innego obiektu.
Wtedy umieszcza się nowy ośrodek sterowania na istniejącym, nieco przesunięty na prawo.
Komunikaty reprezentują oddziaływania między obiektami znajdującymi się na diagramie.
Mają one postać linii zakończonych grotem i skierowanych od linii życia obiektu źródłowego
do linii życia obiektu docelowego.
Komunikaty mogą być:
• synchroniczne (synchronous) po nadejściu komunikatu do odbiorcy następuje
przekazanie mu sterowania, natomiast przepływ sterowania nadawcy zostaje
przerwany do czasu zakończenia przez odbiorcę operacji inicjowanej komunikatem;
• asynchroniczne (asynchronous) nie powodują przerwania przepływu sterowania
nadawcy (może on kontynuować przetwarzanie – w tym wysyłanie innych
komunikatów), ponieważ nie oczekuje on odpowiedzi;
• zwrotne (return) wskazują na powrót sterowania do nadawcy komunikatu
synchronicznego, z ewentualnym zainicjowaniem pewnej operacji. Nie jest wymagane
używanie komunikatu zwrotnego po komunikacie synchronicznym, ale poprawia to
czytelność modelu i pozwala zainicjować operację, która ma być wykonana po
zwróceniu sterowania do nadawcy komunikatu synchronicznego.
• utracone lub znalezione – należą do kategorii niekompletnych, tzn. takich dla których
odbiorca lub nadawca nie są znani. Komunikat utracony (lost) stosuje się, gdy na
pewnym etapie szczegółowości lub rozwoju projektu nie jest możliwe określenie
klasyfikatora odbiorcy, ale jest to konieczne w wersji docelowej. Komunikat
znaleziony (found) reprezentuje komunikat wysłany spoza diagramu sekwencji, np. w
celu ujęciu w modelu zjawisk zewnętrznych;
• opcjonalne (balking) wysyłane w celu niezwłocznej obsługi przez odbiorcę. Jeśli
taka obsługa nie jest możliwa, nadawca nie ponawia wysyłania tego komunikatu.
• oczekujące (time-out) są podobne do opcjonalnych, z tym że nadawca jest gotowy
czekać przez określony czas na obsłużenie. Jeśli odbiorca nie może przyjąć
komunikatu w tym czasie, nadawca rezygnuje z interakcji.
• komunikaty samowywołania (self message) mogą reprezentować wywołanie
rekursywne tej samej metody lub wywołanie pewnej metody obiektu przez inną
metodę tego samego obiektu. Jest to uwidocznione na diagramie przez wprowadzenie
zagnieżdżonego ośrodka sterowania na linii życia obiektu.
Przykład przedstawia następujące komunikaty:
• pierwszy – synchroniczny, w związku z tym jest narysowany linią ciągłą z
wypełnionym grotem. Komunikat ten implikuje domyślny komunikat zwrotny, który
nie jest uwidoczniony, choć należy być tego świadomym;
• drugi – asynchroniczny (linia ciągła ze strzałką);
• trzeci – asynchroniczny komunikat zwrotny (linia przerywana ze strzałką),
przekazujący do obiektu
Nadawca informacje związane z
rezultatami wykonania operacji
inicjowanej poprzednim
komunikatem asynchronicznym
w obiekcie Odbiorca;
• czwarty – typu utraconego;
• piąty – typu znalezionego;
• ostatnie dwa – odmiany
komunikatu samowywołania,
odpowiednio innej operacji tego
samego obiektu i tej samej
operacji.
Początek i koniec linii życia może być jawnie określony przez projektanta, jeśli
obiekt powinien istnieć tylko przez część czasu reprezentowanego na diagramie. Początek
linii życia odpowiada momentowi utworzenia obiektu; utworzenie jest rezultatem wysłania
komunikatu opatrzonego stereotypem create. Utworzony obiekt jest umieszczony na
diagramie poniżej pierwotnie istniejących obiektów, na wysokości komunikatu
odpowiedzialnego za utworzenie. Obiekt przestaje istnieć wraz z odebraniem komunikatu
opatrzonego stereotypem destroy, przy czym jego linia życia zostaje zakończona symbolem
„X”.
Specyfikowanie parametrów czasowych komunikatów
Domyślnie nie uwzględnia się czasu przekazywania komunikatów. Jednak czas ten
może być istotnym parametrem w przypadku systemów czasu rzeczywistego lub czasowo
zależnych. Wtedy można określić dla komunikatu ograniczenia czasowe (czas trwania,
opóźnienia). Linia reprezentująca taki komunikat jest rysowana ukośnie, a obok nazwy
komunikatu w nawiasach klamrowych wyświetlana jest informacja o ograniczeniach
czasowych. Przykład pokazuje komunikat zapytanie z czasem przekazywania równym 10 ms
i komunikat odpowiedz z czasem przekazywania równym 5 ms.
Fragmenty wyodrębnione
Jak wcześniej zaznaczono, diagramy sekwencji nie są przeznaczone do opisu
złożonych procedur przetwarzania. Jeśli jednak jest to niezbędne, istnieją konstrukcje
związane z diagramami sekwencji, które pozwalają zapisać pewien zakres wymaganej logiki
programu.
Te konstrukcje są nazywane fragmentami wyodrębnionymi (combined fragments).
Stosowanie fragmentów wyodrębnionych umożliwia bardziej precyzyjne zobrazowanie istoty
modelowanej interakcji, co jest ważne w systemach odpowiedzialnych (czasu rzeczywistego,
transakcyjnych).
Fragment wyodrębniony zawiera jedną lub więcej sekwencji przetwarzania, otoczone
ramką i opatrzone operatorem interakcji, który określa specyfikę fragmentu. Operator
interakcji składa się ze specyfikacji rodzaju fragmentu i opcjonalnych parametrów.
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shinnobi.opx.pl