Diagramy sekwencji
Diagramy sekwencji wizualizują sposób, w jaki obiekty wchodzą w interakcje w czasie. Pokazują kolejność komunikatów wymienianych między uczestnikami w celu wykonania określonego zadania lub scenariusza.
Podstawowe pojęcia
Uczestnicy
Uczestnicy reprezentują obiekty lub aktorów zaangażowanych w interakcję. Każdy uczestnik ma linię życia — pionową linię przerywaną rozciągającą się w dół, która reprezentuje czas.
Komunikaty
Komunikaty to wymiany informacji między uczestnikami, przedstawiane jako poziome strzałki między liniami życia. Czas płynie od góry do dołu.
Paski aktywacji
Paski aktywacji (zwane też specyfikacjami wykonania) to cienkie prostokąty na linii życia, które pokazują, kiedy uczestnik aktywnie przetwarza.
Tworzenie uczestników
Za pomocą narzędzia uczestnika
Naciśnij P, aby aktywować narzędzie uczestnika, a następnie kliknij na obszarze roboczym, aby umieszczać uczestników.

Typy uczestników
Uczestnicy mogą reprezentować różne typy encji:
- Actor - Użytkownik lub system zewnętrzny (ikona postaci)
- Object - Instancja klasy (prostokąt)
- Component - Komponent systemu (prostokąt ze stereotypem)
- Boundary - Granica interfejsu lub systemu
- Control - Logika procesu lub kontrolera
- Entity - Obiekt danych lub domeny
Skonfiguruj typ uczestnika w panelu Inspektora.
Tworzenie komunikatów
Za pomocą narzędzia komunikatu
Naciśnij M, aby aktywować narzędzie komunikatu, a następnie:
- Kliknij na linii życia uczestnika źródłowego
- Przeciągnij do linii życia uczestnika docelowego
- Puść, aby utworzyć komunikat
Typy komunikatów
| Typ | Styl strzałki | Opis |
|---|---|---|
| Synchroniczny | Linia ciągła, wypełniona strzałka | Nadawca czeka na odpowiedź |
| Asynchroniczny | Linia ciągła, otwarta strzałka | Nadawca kontynuuje bez czekania |
| Zwrotny | Linia przerywana, otwarta strzałka | Odpowiedź na wywołanie synchroniczne |
| Tworzący | Linia przerywana, otwarta strzałka do pola | Tworzy nowego uczestnika |
| Niszczący | Linia kończąca się na X | Kończy uczestnika |

Etykiety komunikatów
Kliknij dwukrotnie na komunikat, aby edytować jego etykietę. Typowe formaty:
nazwaMetody()- Proste wywołanie metodynazwaMetody(param1, param2)- Wywołanie z parametramiwynik := nazwaMetody()- Wywołanie z przypisaniem wartości zwracanej[warunek] nazwaMetody()- Komunikat warunkowy (strażnik)
Paski aktywacji
Paski aktywacji pokazują okres, w którym uczestnik wykonuje przetwarzanie lub czeka na odpowiedź.
Dodawanie pasków aktywacji
- Zaznacz komunikat
- W Inspektorze włącz „Show Activation"
- Pasek aktywacji pojawi się na linii życia odbierającego uczestnika
Zagnieżdżone aktywacje
Gdy uczestnik wywołuje sam siebie (wywołanie rekursywne) lub obsługuje wiele zagnieżdżonych wywołań, paski aktywacji mogą być nakładane.

Fragmenty
Fragmenty grupują komunikaty, aby pokazać logikę warunkową, pętle lub inny przepływ sterowania.
Typy fragmentów
| Typ | Słowo kluczowe | Przeznaczenie |
|---|---|---|
| Alternatywa | alt | Rozgałęzienie if-else |
| Opcja | opt | Opcjonalne wykonanie (if bez else) |
| Pętla | loop | Powtarzane wykonanie |
| Przerwanie | break | Wyjście z otaczającej pętli |
| Równoległe | par | Jednoczesne wykonanie |
| Krytyczne | critical | Sekcja atomowa/krytyczna |
Tworzenie fragmentów
- Zaznacz komunikaty, które chcesz zgrupować
- Kliknij prawym przyciskiem myszy i wybierz „Add Fragment" lub użyj narzędzia fragmentu
- Wybierz typ fragmentu
- W razie potrzeby dodaj warunki/strażniki

Strażnicy fragmentów
Strażnicy to warunki wyświetlane w nawiasach kwadratowych:
[x > 0]- Warunek numeryczny[user.isAdmin]- Sprawdzenie właściwości[else]- Domyślna/alternatywna gałąź w fragmentach alt
Zmiana kolejności elementów
Przesuwanie uczestników
Przeciągaj uczestników poziomo, aby zmienić ich kolejność. Połączone komunikaty podążą za nimi.
Przesuwanie komunikatów
Przeciągaj komunikaty pionowo, aby zmienić ich kolejność w sekwencji. Wpływa to na czas/kolejność interakcji.
Dobre praktyki
- Zacznij od głównego przepływu - Zamodeluj najpierw szczęśliwą ścieżkę, potem dodaj alternatywy
- Zachowaj czytelność - Ogranicz się do 5-7 uczestników na diagram
- Używaj znaczących nazw - Etykietuj komunikaty rzeczywistymi nazwami metod lub opisami
- Pokazuj komunikaty zwrotne - Szczególnie dla wywołań synchronicznych, gdzie wartość zwracana ma znaczenie
- Używaj fragmentów oszczędnie - Zbyt wiele zagnieżdżonych fragmentów zmniejsza czytelność
- Dodawaj notatki - Używaj elementów notatek, aby wyjaśnić złożoną logikę
Przykład: Przepływ logowania użytkownika
Typowa sekwencja logowania może obejmować:
- Użytkownik wprowadza dane uwierzytelniające
- Klient wysyła żądanie logowania do serwera
- Serwer waliduje z bazą danych
- Baza danych zwraca rekord użytkownika
- Serwer tworzy sesję
- Serwer zwraca sukces/niepowodzenie do klienta
- Klient aktualizuje interfejs
Ten przepływ demonstruje wywołania synchroniczne, komunikaty zwrotne i potencjalne fragmenty alt dla ścieżek sukcesu/niepowodzenia.