de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Wykres sekwencji UML: Wizualizacja czasu i interakcji

Wykres sekwencji UML to istotny narzędzie do zrozumienia zachowania dynamicznego systemu. Modeluje sposób, w jaki obiekty wzajemnie się oddziałują oraz kolejność tych oddziaływań, podkreślając uporządkowany w czasie przepływ wiadomości. Jest kluczowy do definiowania przypadków użycia, dokumentowania wywołań interfejsów API oraz śledzenia złożonych przepływów transakcji.

Ten samouczek przewodniczy Ci przez podstawowe elementy i techniki modelowania wykresu sekwencji.

Podstawowa struktura i cel

Wykres sekwencji jest organizowany wzdłuż dwóch osi:

  1. Oś pozioma: Pokazuje uczestniczące Obiekty (lub aktorów, klas i komponentów).
  2. Oś pionowa (oś czasu): Reprezentuje przepływ czasu, poruszający się w dół. Wiadomości wysyłane niżej na wykresie pojawiają się później w sekwencji.

Axis-of-sequence-diagram

Cel polega na odpowiedzi na pytanie: „W tym konkretnym scenariuszu (przypadku użycia), w jakiej kolejności te obiekty wymieniają informacje, aby osiągnąć oczekiwany wynik?“

Podstawowe elementy wykresu sekwencji

Aby zamodelować sekwencję, potrzebne są trzy podstawowe elementy: linie życia, wiadomości i paski aktywacji.

A. Linie życia (uczestnicy)

Linia życia reprezentuje jednego uczestnika — obiekt, instancję lub klasę — w interakcji.

  • Oznaczenie: Prostokątny pudełko na górze wykresu zawierające nazwę obiektu, z pionową linia kreskową rozciągającą się w dół.
  • Składnia:
    • NazwaUczestnika (jeśli obiekt jest instancją, np. użytkownik)
    • NazwaInstancji: NazwaKlasy (np. authService: AuthenticationService)
  • Cel:Przerywana linia wskazuje istnienie uczestnika w czasie w zakresie sekwencji.

lifeline

B. Komunikaty (Interakcja)

Komunikaty to poziome strzałki rysowane między liniami życia. Odpowiadają one komunikacji między obiektami, takimi jak wywołania metod, sygnały lub żądania API.

Messages-(Interaction)

Rodzaje komunikatów:

Typ komunikatu Oznaczenie Opis
Wywołanie synchroniczne Pełna linia z zatoczoną strzałką Wysyłający oczekuje odpowiedzi przed kontynuowaniem. Powoduje to rozpoczęciePasek aktywacjina linii życia odbiorcy.
Odpowiedź/Zwrot Linia przerywana z otwartą strzałką Odpowiedź na wywołanie synchroniczne, wskazująca na powrót kontroli do nadawcy. Zazwyczaj zamyka pasek aktywacji.
Komunikat asynchroniczny Pełna linia z otwartą strzałką Nadawca nie oczekuje odpowiedzi i natychmiast kontynuuje swoją własną realizację. Często występuje w architekturach opartych na zdarzeniach.
Wywołanie własne Strzałka, która wraca do tej samej linii życia Obiekt wywołujący jedną z własnych metod.
Komunikat zewnętrzny Strzałka wychodząca z punktu końcowego i uderzająca w linię życia Nadawcą komunikatu jest nieznany lub poza zakresem diagramu (np. zewnętrzny wyzwalacz).

C. Paski aktywacji (specyfikacja wykonania)

Pasek aktywacji (nazywany również skupieniem kontroli) to cienki prostokąt pionowy rysowany na linii życia.

  • Oznaczenie: Pełny pionowy prostokąt na linii życia.
  • Cel: Oznacza okres, w którym obiekt aktywnie wykonuje operację (tj. jego metoda jest uruchomiona) lub oczekuje na odpowiedź synchroniczną. Zaczyna się w momencie otrzymania komunikatu synchronicznego i kończy się w momencie wysłania komunikatu odpowiedzi.

Modelowanie logiki i przepływu sterowania

Aby zamodelować złożoną logikę biznesową, używasz fragmentów (lub prostokątów), aby otoczyć sekcje diagramu.

A. Fragmenty połączone

Fragmenty połączone pozwalają na modelowanie logiki warunkowej, powtarzania i opcjonalnych kroków. Najczęstsze fragmenty to:

  1. Alternatywa (alt): Używane do if-else logiki. Fragment jest podzielony linią przerywaną, a każda sekcja zawiera warunek (tzw. „ochrona”) w nawiasach kwadratowych. Można wybrać tylko jedną drogę.
    • Przykład: [jeśli dane uwierzytelniające użytkownika są poprawne] i [w przeciwnym razie / niepoprawne dane uwierzytelniające].
  2. Opcja (opt): Używane do if instrukcji. Interakcja wewnątrz fragmentu jest opcjonalna i wykonuje się tylko wtedy, gdy warunek (ochrona) jest prawdziwy.
    • Przykład: [jeśli użytkownik ma przedmioty w koszyku].
  3. Pętla (loop): Używane do powtarzania. Ochrona określa warunek iteracji (np. [dla każdego przedmiotu] lub [dopóki (próby < 3)]).
  4. Odwołanie (ref): Używane do modularizacji diagramu przez odwołanie się do sekwencji interakcji zdefiniowanej w innym, oddzielnym diagramie sekwencji. Zapobiega to nadmiernemu zatłoczeniu diagramów.
  5. Krytyczny (crit): Służy do oznaczenia sekcji, która nie może być przerwana, często używana do modelowania procesów współbieżnych.

Przykład modelowania krok po kroku

Zamodelujmy uproszczonyProces wyboru użytkownika używając podstawowych elementów:

Krok Działanie Typ wiadomości
1. Użytkownik kliknął „Zamówienie.” Wywołanie synchroniczne
2. Frontend weryfikuje koszyk. Wywołanie własne (na frontendzie)
3. Frontend prosi o przetworzenie płatności. Wywołanie synchroniczne
4. Brama płatności sprawdza środki. Wywołanie synchroniczne
5. Brama płatności zwraca „Sukces.” Wiadomość zwrotna
6. Frontend wysyła wiadomość asynchroniczną do usługi Inwentarz w celu zmniejszenia stanu. Wiadomość asynchroniczna
7. Frontend wysyła wiadomość synchroniczną do usługi Zamówienia w celu finalizacji zamówienia. Wywołanie synchroniczne
8. Usługa Zamówień zwraca „ID zamówienia”. Wiadomość zwrotna
9. Frontend wyświetla stronę potwierdzenia. Wiadomość zwrotna (do użytkownika)

Modelowanie logiki (fragment alternatywy)

Aby obsłużyć błąd, używamy Alternatywy fragment:

  1. Umieść Sprawdzenie bramki płatności (krok 4 i 5) wewnątrz alt fragmentu.
  2. Pierwsza sekcja jest chroniona przez [Sukces]. Ta sekcja zawiera kroki 6, 7, 8 i 9.
  3. Druga sekcja, podzielona linią przerywaną, jest chroniona przez [Błąd]. Ta sekcja zawiera nową wiadomość synchroniczną: paymentService -> frontend: zwróć „Płatność nie powiodła się” a frontend wyświetla stronę z błędem.

Podsumowanie najlepszych praktyk diagramów sekwencji

  • Zachowaj skupienie: Diagram sekwencji powinien zazwyczaj modelować pojedynczy przypadek użycia lub pojedynczą operację atomową (np. „Zaloguj się”, „Dodaj przedmiot do koszyka”). Użyj Fragmentów odwołaniowych do podprocesów.
  • Jasno oznacz wiadomości: Używaj fraz z czasownikiem dla wiadomości, odzwierciedlając nazwy metod lub punkty końcowe interfejsów API (np. processPayment(ilość, token)).
  • Poprawne identyfikowanie uczestników: Rozróżnij między Aktora (zewnętrzny element) i Obiekt (wewnętrzny składnik systemu lub wystąpienie).
  • Czas płynie w dół: Upewnij się, że wiadomości są spójnie ułożone od góry do dołu.
  • Użyj fragmentów do kontroli: Unikaj rysowania złożonych węzłów decyzyjnych lub pętli w samym przepływie wiadomości; użyj alt, opt, i loop fragmentów.

Aby uzyskać więcej informacji na temat UML i jego metod wizualizacji opartych na AI, odwiedź nasz centrum zasobów UML.

Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文