Przewodnik po składni diagramu przypadków użycia PlantUML

Czym jest diagram przypadków użycia?

A Diagram przypadków użyciato schemat zachowawczy używany do wizualizacji relacji między użytkownikami systemu (znanych jako aktorzy) a konkretnymi działaniami lub celami, które chcą osiągnąć (znane jako przypadki użycia). Zamiast pokazywać krok po kroku pętle logiczne, diagram przypadków użycia zapewnia ogólny przegląd zakresu funkcjonalnego systemu, co czyni go doskonałym narzędziem do definiowania wymagań projektu, granic systemu oraz przepływów pracy zainteresowanych stron.

Z VPasCode, możesz natychmiast tworzyć jasne, profesjonalne diagramy przypadków użycia bez walki z wyrównaniem wizualnym płótna. Ten przewodnik pomija niejasne, przestarzałe oznaczenia i skupia się wyłącznie na praktycznych elementach składni potrzebnych do codziennej dokumentacji oprogramowania.

Podstawowy przewodnik składniowy: elementy i konstrukcje

Tworzenie diagramu przypadków użycia w PlantUML opiera się na kilku prostych elementach strukturalnych otoczonych standardowymi znacznikami@startuml i @enduml znacznikami.

1. Deklarowanie aktorów

Aktor reprezentuje zewnętrzny obiekt, który interaguje z Twoją aplikacją (takim jak użytkownik, usługa działająca w tle lub zewnętrzne API sprzętu). Deklarujesz aktora, używając słowa kluczowegoactora następnie wewnętrznego skrótu identyfikatora:

Porada: Użyj słowa kluczowegoasaby przypisać czysty, czytelny dla człowieka ciąg wyświetlany do skomplikowanych identyfikatorów aktorów.

2. Definiowanie przypadków użycia

Przypadek użycia reprezentuje cel funkcjonalny lub proces biznesowy. Możesz zdefiniować przypadek użycia na dwa sposoby: otaczając tekst nawiasami(Twój przypadek użycia), albo jawnie używającprzypadek użyciakluczowe słowo dla złożonego formatowania:

(Logowanie do pulpitu)
przypadek użycia checkout jako "Przetwarzanie płatności kartą kredytową"

3. Mapowanie podstawowych interakcji

Aby połączyć swoich aktorów z ich odpowiednimi przypadkami użycia, użyj podstawowych linii relacji skierowanych lub nieskierowanych. Możesz również dołączyć etykiety tekstowe, aby dodać istotny kontekst do interakcji:

klient --> (Logowanie do pulpitu)
administrator --> checkout : "Zatwierdza zwroty"

4. Zaawansowane relacje: Include i Extend

Podczas modelowania złożonych zachowań systemu często musisz pokazywać zależności między różnymi przypadkami użycia przy użyciu standardowego stereotypowania UML:

5. Ustawianie granic systemu

Aby jasno rozróżnić, co dzieje się wewnątrz Twojej aplikacji oprogramowania, a co poza nią, użyj “prostokątsłowo kluczowe do otoczenia przypadków użycia wewnętrznych. Kluczowe jest to, aby aktorzy pozostali poza tym blokiem kontenera, aby odzwierciedlić ich status uczestników zewnętrznych:

aktor klient

prostokąt "Platforma e-handlu" {
    (Przeglądaj katalog)
    (Dodaj do koszyka)
}

klient --> (Przeglądaj katalog)
klient --> (Dodaj do koszyka)

Najlepsze praktyki dla czystych układów

  • Zachowaj krótkość tekstu:Przypadki użycia powinny zawsze zaczynać się od jasnego, czasownika aktywnego (np. „Generuj raport”, „Zaktualizuj profil”) zamiast długiego zdania.
  • Wykorzystaj kierunkowe punkty zaczepienia: Jeśli Twoi aktorzy i przypadki użycia skupiają się w chaotycznej kolejce, użyj strzałek kierunkowych przestrzennych takich jak -right-> lub -down-> aby delikatnie naprowadzić silnik układu na czystą, czytelną strukturę.
  • Odizoluj granice systemu: Zawsze używaj prostokąta granicznego podczas dokumentowania aplikacji interakcji z wieloma mikroserwisami firm trzecich. Ułatwia to natychmiastowe zrozumienie, kto odpowiada za który proces.

Przykłady diagramów przypadków użycia PlantUML w świecie rzeczywistym

Skopiuj i wklej następujące praktyczne szablony bezpośrednio do panelu edytora w czasie rzeczywistym VPasCode, aby zobaczyć, jak są dynamicznie renderowane.

Przykład 1: Podstawowa autoryzacja użytkownika i zarządzanie kontem

Ten szablon modeluje standardowy ekosystem aplikacji zawierający podstawowego użytkownika, operatora administracyjnego oraz pole graniczne zawierające podstawowe mechanizmy bezpieczeństwa.

@startuml
' Ustaw kierunek układu od lewej do prawej
kierunek od lewej do prawej

aktor "Użytkownik końcowy" jako użytkownik
aktor "Administrator bezpieczeństwa" jako admin

prostokąt "Usługa dostawcy tożsamości" {
    (Zaloguj się)
    (Zresetuj hasło)
    (Zaktualizuj dane profilu)
    (Przejrzyj dzienniki bezpieczeństwa)
    (Dezaktywuj konta)
}

użytkownik --> (Zaloguj się)
użytkownik --> (Zresetuj hasło)
użytkownik --> (Zaktualizuj dane profilu)

(Przejrzyj dzienniki bezpieczeństwa) <-- admin
(Dezaktywuj konta) <-- admin
@enduml

Rozbicie składni: Dyrektywa kierunek od lewej do prawej zmusza silnik układu do umieszczenia aktorów na zewnętrznych skrzydłach i rozszerzania przypadków użycia poziomo zamiast pionowo. Zwróć uwagę, jak umieszczenie deklaracji aktorów w sposób czysty poza prostokątemotoczeniem utrzymuje je uporządkowane, podczas gdy odwrócenie kierunku nawiasu strzałki dla użytkownika administracyjnego (<-- admin) precyzyjnie przytrzymuje je po stronie prawej macierzy diagramu.

Przykład 2: Zaawansowany proces płatności w e-commerce z zależnościami zewnętrznymi

To rzeczywiste ułożenie systemu odzwierciedla skomplikowany przepływ płatności, który opiera się na zewnętrznych interfejsach API bankowych, strukturalnych dołączaniach oraz opcjonalnych flagach rozszerzeń.

@startuml
kierunek od lewej do prawej

aktor "Klient" jako customer
aktor "Pracownicy magazynu" jako staff
aktor "Brama Stripe" jako stripe

prostokąt "System realizacji zamówień w sklepie internetowym" {
    (Złóż zamówienie)
    (Zastosuj kupon)
    (Wygeneruj fakturę)
    (Wybierz i zapakuj przedmioty)
    (Zaktualizuj status wysyłki)
}

' Zewnętrzne interakcje z granicami systemu
customer --> (Złóż zamówienie)
(Złóż zamówienie) --> stripe : "Zatwierdź środki"

' Struktury include i extend
(Złóż zamówienie) ..> (Wygeneruj fakturę) : <<include>>
(Zastosuj kupon) ..> (Złóż zamówienie) : <<extend>>

' Ścieżki realizacji
(Wybierz i zapakuj przedmioty) <-- staff
(Zaktualizuj status wysyłki) <-- staff
(Wygeneruj fakturę) --> staff : "Wyślij kopię e-mailem"
@enduml

Analiza składni: Ten szablon pokazuje, jak pojedynczy przypadek użycia (Złóż zamówienie) wymusza wywołanie (Wygeneruj fakturę) przy użyciu tagu <<include>> na linii kropkowanej. W międzyczasie zastosowanie kodu kuponu poprawnie jest modelowane jako opcjonalna gałąź poprzez <<extend>> wskazując wstecz ku podstawowemu wykonaniu. Wszyscy zewnętrzni aktorzy pozostają jasno izolowani poza otoczeniem systemu.

Przewijanie do góry