Elementy składowe diagramu sekwencji obejmują głównie 6 rodzajów: aktor, obiekt, linia życia, fokus kontroli, wiadomość, fragment kombinowany.
Diagram sekwencji, znany również jako diagram kolejności, to rodzaj diagramu interakcji UML opisującego zachowanie obiektów. Służy głównie do bardziej przejrzystego przedstawienia kolejności czasowej interakcji między obiektami, z naciskiem na kolejność czasową wysyłania, odbierania, przetwarzania i zwracania wiadomości przez różne obiekty.
Diagram sekwencji to wykres dwuwymiarowy, gdzie oś pozioma reprezentuje obiekty, a oś pionowa czas. Wiadomości są przekazywane poziomo między obiektami i rozmieszczane pionowo zgodnie z kolejnością czasową.
Diagram sekwencji może również pokazywać strukturę kontrolną między obiektami. Na przykład: na diagramie sekwencji dla projektu bankowego, linie życia mogą reprezentować klienta, kasjera bankowego lub menedżera banku. Komunikacja między klientem, kasjerem bankowym a menedżerem banku jest przedstawiana przez wiadomości przekazywane między nimi.
Współpraca wielu użytkowników w czasie rzeczywistym z linkami do udostępniania
Automatyczne generowanie grafiki z tekstu z ulepszaniem stylu
Wbudowane motywy z pełną personalizacją
Obsługa ikon, obrazów, etykiet, formuł LaTeX, bloków kodu, linków, załączników
Eksport: PNG, VISIO, PDF, SVG | Import: VISIO, Mermaid
Przechowywanie w chmurze w czasie rzeczywistym, synchronizacja wielourządzeniowa, historia wersji i bezpieczeństwo danych
Elementy składowe diagramu sekwencji obejmują głównie 6 rodzajów: aktor, obiekt, linia życia, fokus kontroli, wiadomość, fragment kombinowany.
Obiekt znajduje się na górze diagramu sekwencji i jest przedstawiany jako prostokąt. Istnieją trzy główne sposoby nazywania obiektów:
1)Wyświetlanie nazwy obiektu i nazwy klasy, na przykład: „iPhone:Telefon”
2)Wyświetlanie tylko nazwy obiektu, bez nazwy klasy, na przykład: „iPhone:”
3)Wyświetlanie tylko nazwy klasy, bez nazwy obiektu, na przykład: „:Telefon”
Wiadomości dzielą się na wiadomości synchroniczne, asynchroniczne, wiadomości zwrotne, wiadomości samokojarzące.
Wiadomość synchroniczna: Po wysłaniu wiadomości przez obiekt, inne obiekty muszą odpowiedzieć i zwrócić wiadomość, zanim będą mogły kontynuować pracę, oznaczana jako „strzałka ciągła”;
Wiadomość asynchroniczna: Po wysłaniu wiadomości przez obiekt, inne obiekty nie muszą odpowiadać, aby kontynuować pracę, oznaczana jako „ciągła linia + znak większy”;
Wiadomość zwrotna: Zwracana z wywołania procesu, oznaczana jako „przerywana strzałka”
Wiadomość samokojarząca: Oznacza wywołanie własne metody lub wywołanie jednej metody przez inną w obrębie tego samego obiektu, oznaczana jako „półzamknięty prostokąt + strzałka ciągła w dół”
Fragment kombinowany to logiczna grupa przedstawiana jako prostokąt, zawiera struktury warunkowe wpływające na przepływ wiadomości, służy do definiowania specjalnych warunków i podprocesów dla dowolnej części linii życia poprzez określenie warunków lub obszaru zastosowania podprocesu.
Istnieje 13 rodzajów fragmentów kombinowanych, które można użyć do opisania różnych struktur kontrolnych i logicznych w sposób zwięzły i przejrzysty.
Diagram sekwencji można używać na różnych etapach procesu rozwoju do opisywania interakcji między obiektami w systemie.
Analiza: Na etapie analizy diagram sekwencji może pomóc w identyfikacji klas potrzebnych w systemie oraz operacji wykonywanych przez obiekty w interakcji.
Projektowanie: Na etapie projektowania diagram sekwencji pokazuje, jak system działa, aby zrealizować interakcję.
Budowa: Podczas budowy architektury systemu można używać diagramu sekwencji do ilustrowania zachowań wzorców projektowych oraz mechanizmów używanych w systemie.
Diagram sekwencji i diagram współpracy to oba diagramy interakcji UML, które można wzajemnie przekształcać, posiadają podobne odpowiedzialności i są napędzane przez wiadomości, mają charakter sekwencyjny.
Jednak istnieją również wyraźne różnice, diagram sekwencji wyraża kolejność czasową wiadomości wynikających z współpracy między obiektami, podczas gdy diagram współpracy wyraża relacje współpracy między obiektami.
Istnieją trzy sposoby nazywania obiektów:
1) Wyświetlanie zarówno nazwy obiektu, jak i nazwy klasy
2) Wyświetlanie tylko nazwy obiektu, bez nazwy klasy
3) Wyświetlanie tylko nazwy klasy, bez nazwy obiektu
Wszystkie trzy metody są zgodne ze standardami, wybierz tę, która jest najłatwiejsza do zrozumienia dla czytelnika.
Nie. Diagram sekwencji podkreśla pionowe ułożenie w czasie, od góry do dołu jest to kolejność występowania zdarzeń. Dlatego „linia” + „strzałka” dla kolejnej wiadomości musi znajdować się poniżej poprzedniej wiadomości, nie może być powyżej.
Czasami musimy wskazać, że odstęp między wysłaniem a zwróceniem wiadomości musi być mniejszy niż określony czas, wówczas można użyć specjalnej metody w diagramie sekwencji, na przykład {t2-t1<1s}.
Nie. Diagram sekwencji służy do opisu interakcji między obiektami, natomiast przepływ zachowań lub ścieżki operacyjne powinny być wyrażane za pomocą diagramów przepływu, diagramów aktywności lub diagramów stanów.
Staraj się nie umieszczać wszystkich interakcji na jednym diagramie, ponieważ może to prowadzić do chaosu i trudności w czytaniu. Złożone interakcje można podzielić na kilka poddiagramów, a każdy diagram sekwencji powinien koncentrować się na jednym przypadku użycia lub jednym scenariuszu funkcjonalnym.
Nie można. Wiadomości synchroniczne oznaczają konieczność oczekiwania na wynik (np. wywołanie funkcji), a wiadomości asynchroniczne oznaczają kontynuację wykonywania po wysłaniu (np. wysyłanie do kolejki wiadomości). Mieszanie może prowadzić do błędów w logice współbieżności.
Wiadomości zwrotne pomagają w analizie, czy wynik interakcji został przetworzony, zwłaszcza w przypadku wywołań metod i odpowiedzi serwisowych, dlatego podczas rysowania diagramu sekwencji należy uwzględnić wiadomości zwrotne i określić wartość zwrotną.
ProcessOn to narzędzie do rysowania online, które wspiera rysowanie diagramów sekwencji online i oferuje wiele szablonów diagramów sekwencji do klonowania, może doskonale zastąpić Visio, zapraszamy do wypróbowania.