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:
actor customer
actor admin jako "Administrator systemu" 
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:
- Include (Zależność wymagana):Wskazuje, że podstawowy przypadek użycia opiera się na innym pomocniczym przypadku użycia w celu pomyślnej realizacji swojego działania. Użyj linii połączeniowej z kropkami (
..>) z dodaną etykietą tekstową:Plantuml Edit Plantuml in VPasCode(Przetwarzanie zakupu) ..> (Weryfikacja salda) : <<include>>
- Extend (Zachowanie opcjonalne/warunkowe):Wskazuje, że opcjonalny przepływ może odchodzić od podstawowego przypadku użycia w określonych warunkach. Zwróć uwagę, że strzałka wskazuje od przypadku *rozszerzenia* do przypadku *bazowego*:
Plantuml Edit Plantuml in VPasCode
(Zastosuj kod promocyjny) ..> (Przetwarzanie zakupu) : <<extend>>
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.