Diagram aktywności UML modeluje jak przepływa pracaprzez proces: wykonywane działania, podejmowane decyzje, równoległa praca i ścieżki do zakończenia. PlantUML pozwala opisać ten model jako tekst, a następnie wygenerować go jako diagram – przydatne podejście, gdy chcesz mieć diagramy łatwe do aktualizacji, przeglądu i przechowywania wraz z dokumentacją projektu. Obecny składnia aktywności PlantUML używa czytelnych słów kluczowych, takich jak start, jeśli, powtarzaj, oraz fork; starsza składnia aktywności jest nadal obsługiwana, ale nowsza składnia jest zalecana dla nowych diagramów.

1. Co modelować
Użyj diagramu aktywności, aby wyjaśnić proces lub algorytm, na przykład:

-
Przepływ pracy przy kasie klienta
-
Proces zatwierdzania
-
Rurociąg importu danych
-
Kroki w przypadku użycia
-
Praca podzielona między osoby, zespoły lub komponenty systemu
Aktywność to jednostka pracy, taka jak „Zweryfikuj zamówienie”. przepływ sterowaniałączy aktywności i wskazuje ich kolejność. decyzjawybiera spośród alternatywnych ścieżek; przepływy równoległepokazują pracę, która może przebiegać równolegle. Diagram powinien wyjaśniać zachowanie, a nie próbować dokumentować każdego szczegółu implementacji.
Przydatna zasada: jeśli główne pytanie brzmi „Co dzieje się dalej i pod jakim warunkiem?”, diagram aktywności jest dobrym wyborem.
2. Podstawy PlantUML
Diagram PlantUML zaczyna się od @startuml i kończy się na “@enduml. W obecnej składni aktywności:

-
startoznacza węzeł początkowy. -
:Akcja;definiuje akcję. -
if (...) then (...)rozgałęzia się na podstawie warunku. -
endifzamyka instrukcję warunkową. -
stopkończy przepływ. -
repeatirepeat whilemodeluje powtarzanie. -
fork,fork again, iend forkmodeluje pracę równoległą.
Akcje są zapisywane w kolejności i są domyślnie połączone. Możesz dodawać etykiety do gałęzi i używać partition do grupowania pracy według odpowiedzialności lub roli.
Oto minimalny przykład:

@startuml
start
:Odbierz żądanie;
:Zweryfikuj żądanie;
stop
@enduml
3. Decyzje i alternatywne ścieżki
Użyj jeśli gdy proces dokonuje wyboru. Etykiety gałęzi powinny komunikować wyniki warunku, a nie jedynie powtarzać warunek.

@startuml
start
:Odbierz zamówienie;
:Sprawdź stan magazynu;
if (Wszystkie przedmioty dostępne?) then (Tak)
:Rezerwuj przedmioty;
:Zażądaj płatności;
else (Nie)
:Powiadom klienta;
stop
endif
:Potwierdź zamówienie;
stop
@enduml
Tutaj, jeśli wprowadza decyzję, a koniec_jeśli ją zamyka. Etykiety Tak i Nie sprawiają, że alternatywy są widoczne. Gdy ścieżki kontynuują się do wspólnej akcji po koniec_jeśli, ponownie łączą się z przepływem.
Wskazówka dotycząca modelowania: Bądź wyraźny co do tego, co dzieje się w każdym znaczącym wyniku. Jeśli ścieżka błędu, przekroczenia czasu lub odrzucenia ma znaczenie dla zainteresowanych stron, pokaż ją, zamiast pozostawiać ją implikowaną.
4. Pętle i ponawianie
Użyj pętli, gdy akcja lub grupa akcji może się powtarzać. Ten przykład ciągle prosi o wprowadzenie danych, dopóki nie zostaną one zweryfikowane:

@startuml
start
:Odczytaj przesłane dane;
repeat
:Zweryfikuj dane;
if (Poprawne?) then (Tak)
:Zapisz dane;
break
else (Nie)
:Wyświetl błędy walidacji;
:Poproś użytkownika o poprawienie danych;
endif
repeat while (Czy użytkownik kontynuuje?) jest (Tak) nie (Nie)
stop
@enduml
Pętle mogą być trudne do odczytania, jeśli ich warunek wyjścia jest niejasny. Określ, co powoduje kolejną próbę i co kończy powtarzanie – zwłaszcza gdy liczba prób jest ograniczona lub można je anulować.
5. Praca równoległa i synchronizacja
Użyj fork gdy niezależne działania mogą zachodzić równolegle, oraz end fork gdy ścieżki muszą się zsynchronizować przed kontynuacją procesu.

@startuml
start
:Zamówienie potwierdzone;
fork
:Wyślij e-mail potwierdzający;
fork again
:Przygotuj listę kompletacji ze magazynu;
fork again
:Zaktualizuj pulpit sprzedaży;
end fork
:Oznacz zamówienie jako przetwarzane;
stop
@enduml
Fork niekoniecznie oznacza oddzielnych osób; może reprezentować równoległe zachowanie systemu. Używaj go tylko wtedy, gdy działania rzeczywiście mogą zachodzić równolegle. Jeśli jedno zadanie musi zostać zakończone przed rozpoczęciem drugiego, modeluj je sekwencyjnie.
6. Ścieżki z podziałami
Podziały grupują działania według roli, zespołu lub systemu odpowiedzialnego. Może to uczynić przejęcia wyraźnymi bez zmiany samego procesu. PlantUML obsługuje grupowanie działań za pomocą partition.

@startuml
start
partition Klient {
:Złóż zamówienie;
}
partition "Serwis Zamówień" {
:Zweryfikuj zamówienie;
if (Zamówienie poprawne?) then (Tak)
:Utwórz rekord zamówienia;
else (Nie)
:Zwróć błędy walidacji;
stop
endif
}
partition Magazyn {
:Przygotuj wysyłkę;
}
partition "Serwis Zamówień" {
:Wyślij potwierdzenie;
}
stop
@enduml
Wybierz etykiety pasm odpowiadające rzeczywistemu podziałowi odpowiedzialności. Unikaj tworzenia nowego podziału dla każdego małego komponentu; zbyt wiele pasm może utrudnić skanowanie diagramu.
7. Obiekty danych i notatki
Niektóre przepływy pracy korzystają z pokazywania ważnych danych wejściowych lub wyjściowych. Diagramy aktywności PlantUML obsługują stereotypy węzłów obiektów; notatki mogą również dodawać kontekst bez zamieniania każdej etykiety akcji w akapit.

@startuml
start
:Odbierz żądanie płatności;
:Autoryzuj płatność;
note right
Wykorzystuje odpowiedź
autoryzacyjną dostawcy płatności.
end note
:Zarejestruj wynik płatności;
stop
@enduml
Utrzymuj główne etykiety aktywności krótkimi. Umieszczaj reguły biznesowe, założenia lub wyjaśnienia w notatkach, gdy czytelnicy ich potrzebują, ale same nie są krokami w przepływie.
8. Kompletny przykład: proces zakupowy online
Ten większy przykład łączy podziały, decyzję, alternatywną ścieżkę i pracę równoległą.

@startuml
tytuł Zakupy online
start
partition Klient {
:Przejrzyj koszyk;
:Złóż zamówienie;
}
partition "Serwis Zamówień" {
:Zweryfikuj koszyk i adres;
if (Koszyk i adres poprawne?) then (Tak)
:Oblicz całkowitą kwotę;
else (Nie)
:Pokaż błędy walidacji;
stop
endif
}
partition "Serwis Płatności" {
:Autoryzuj płatność;
if (Płatność zatwierdzona?) then (Zatwierdzono)
:Zrealizuj płatność;
else (Odmówiono)
:Zwróć błąd płatności;
stop
endif
}
partition "Serwis Zamówień" {
:Utwórz zamówienie;
}
fork
partition "Serwis Powiadomień" {
:Wyślij potwierdzenie zamówienia;
}
fork again
partition Magazyn {
:Zakolejkuj zamówienie do kompletacji;
}
end fork
partition "Serwis Zamówień" {
:Pokaż potwierdzenie zamówienia;
}
stop
@enduml

Czytaj od góry do dołu: klient składa zamówienie, serwis zamówień je weryfikuje, płatność jest autoryzowana, a zamówienie tworzone. Następnie potwierdzenie i przygotowanie w magazynie przebiegają równolegle. Jeśli weryfikacja lub płatność się nie powiedzie, przepływ kończy się przez odpowiednią ścieżkę błędu.
9. Przepływ pracy diagramu jako kodu
Praktyczny przepływ pracy wygląda następująco:
Przepływ pracy diagramu jako kodu
Praktyczny przepływ pracy wygląda następująco:
-
Opisz proces prostym językiem.Zidentyfikuj jego początek, koniec, główne działania, decyzje, wyjątki, zadania równoległe i odpowiedzialne role.
-
Stwórz pierwszy szkic w PlantUML.Skup się na logice przed stylizacją.
-
Wygeneruj i sprawdź go.Sprawdź, czy wynik czyta się naturalnie i czy gałęzie oraz pętle są zrozumiałe.
-
Przejrzyj logikę ze stronami zainteresowanymi.Renderowanie sprawdza składnię, a nie poprawność procesu.
-
Zaktualizuj źródło i zapisz je wraz z projektem.Diagramy tekstowe są łatwe do porównania i przeglądu wraz z inną dokumentacją.
Do renderowania lokalnego narzędzie wiersza poleceń PlantUML może generować pliki diagramów; edytory oparte na przeglądarce są wygodne do szybkich szkiców i podglądów. PlantUML oferuje również edytor przeglądarkowy, podczas gdy VPasCode zapewnia edytor oparty na przeglądarce z podglądem na żywo i obsługą diagramów aktywności PlantUML.
-
Opisz proces prostym językiem.Zidentyfikuj jego początek, koniec, główne działania, decyzje, wyjątki, zadania równoległe i odpowiedzialne role.
-
Stwórz pierwszy szkic w PlantUML.Skup się na logice przed stylizacją.
-
Wygeneruj i sprawdź go.Sprawdź, czy wynik czyta się naturalnie i czy gałęzie oraz pętle są zrozumiałe.
-
Przejrzyj logikę ze stronami zainteresowanymi.Renderowanie sprawdza składnię, a nie poprawność procesu.
-
Zaktualizuj źródło i zapisz je wraz z projektem.Diagramy tekstowe są łatwe do porównania i przeglądu wraz z inną dokumentacją.
Do renderowania lokalnego narzędzie wiersza poleceń PlantUML może generować pliki diagramów; edytory oparte na przeglądarce są wygodne do szybkich szkiców i podglądów. PlantUML oferuje również edytor przeglądarkowy, podczas gdy VPasCode zapewnia edytor oparty na przeglądarce z podglądem na żywo i obsługą diagramów aktywności PlantUML.
10. Wykorzystywanie Visual Paradigm VPasCode i pomocy AI
VPasCode to oparty na przeglądarce edytor tekstowy do diagramów firmy Visual Paradigm. Jego obsługa PlantUML obejmuje diagramy aktywności, a edytor zapewnia renderowanie na żywo. Visual Paradigm opisuje również wbudowaną generację diagramów w języku naturalnym oraz pomoc AI w modyfikowaniu lub poprawianiu kodu diagramu.
Przydatny przepływ pracy wspomagany przez AI:

-
Wymagaj opisu zachowania, a nie tylko typu diagramu.Na przykład:
„Stwórz diagram aktywności PlantUML dla procesu online checkout. Uwzględnij walidację koszyka, walidację adresu, autoryzację płatności, ścieżki błędów, tworzenie zamówienia oraz równoległe potwierdzenie e-mailem i przygotowanie w magazynie. Użyj partycji dla Klienta, Usługi Zamówień, Usługi Płatności, Usługi Powiadomień i Magazynu. Użyj aktualnej składni diagramów aktywności PlantUML.” -
Sprawdź wygenerowane źródło.Sprawdź, czy używa
@startuml/@enduml, że każdy gałąź reprezentuje rzeczywisty warunek oraz że ścieżki błędów lub alternatywne są obsługiwane. -
Wyrenderuj go w VPasCode.Użyj podglądu, aby wykryć błędy składni, mylące etykiety lub zbyt złożone układy.
-
Ulepsz kod PlantUML samodzielnie lub przy użyciu celowych poprawek generowanych przez AI.Poproś o konkretną zmianę, np. „Dodaj ścieżkę przekroczenia czasu płatności” lub „Uczyń przygotowanie magazynowe sekwencyjne po utworzeniu zamówienia.”
-
Zweryfikuj proces z osobą, która go zna.AI może stworzyć prawdopodobny diagram, ale nie może potwierdzić, że rzeczywisty proces Twojej organizacji jest poprawny.
Dokładne sterowanie i dostępność funkcji w VPasCode mogą się różnić w zależności od edycji produktu; potwierdź aktualne opcje w edytorze, którego używasz.
11. Proces modelowania w Visual Paradigm
Użyj VPasCode, gdy chcesz pracować bezpośrednio z źródłem diagramu i podglądem. Użyj środowiska modelowania Visual Paradigm, gdy zadanie wymaga edycji graficznej lub szerszej pracy nad modelem. Wytyczne Visual Paradigm opisują proces generowania lub importowania diagramu, a następnie jego ulepszania w edytorze wizualnym; dokładne ścieżki importu mogą zależeć od produktu i wersji.
Rozsądne przekazanie wygląda następująco:

-
Stwórz szkic i iteruj w PlantUML.
-
Udostępnij wyrenderowany diagram i źródło do przeglądu.
-
Otwórz lub zaimportuj go do odpowiedniego edytora Visual Paradigm, jeśli potrzebujesz edycji wizualnej lub innych funkcji modelowania.
-
Zachowaj źródło PlantUML jako wersję podtrzymywaną, jeśli jest to wybrany przez zespół źródło prawdy; unikaj cichego wprowadzania sprzecznych zmian w dwóch miejscach.
12. Typowe błędy i lista kontrolna jakości
Przed udostępnieniem diagramu sprawdź:

-
Czy ma wyraźny początek i sensowne zakończenie?
-
Czy każde działanie opisuje rozpoznawalny fragment pracy?
-
Czy wyniki decyzji są wyraźnie oznaczone?
-
Czy ścieżki odrzucenia, błędu, przekroczenia czasu lub anulowania są uwzględnione tam, gdzie są istotne?
-
Czy warunki pętli czynią zachowanie powtarzania i wyjścia jasnym?
-
Czy działania równoległe są naprawdę niezależne i czy synchronizacja jest pokazana tam, gdzie jest potrzebna?
-
Czy podziały reprezentują użyteczne granice odpowiedzialności?
-
Czy czytelnik może zrozumieć przepływ bez czytania długich etykiet działań?
-
Czy wyrenderowany diagram odpowiada rzeczywistemu procesowi?
Dobry diagram aktywności nie jest najdłuższy ani najbardziej szczegółowy. To najmniejszy diagram, który czyni przepływ pracy, decyzje, odpowiedzialności i istotne wyjątki jasnymi.
Szybka referencja składni
| Cel | Wzorzec PlantUML |
|---|---|
| Start | start |
| Akcja | :Wykonaj coś; |
| Decyzja | if (Warunek?) then (Tak) ... else (Nie) ... endif |
| Pętla | repeat ... repeat while (Warunek?) |
| Praca równoległa | fork ... fork ponownie ... end fork |
| Grupa odpowiedzialności | partition Rola { ... } |
| Koniec | stop |
Przykłady używają aktualnego składnia diagramów aktywności PlantUML. W przypadku nietypowych konstrukcji lub zachowania renderowania specyficznego dla wersji, sprawdź referencję diagramów aktywności PlantUML.
Ten post dostępny jest również w English, Español, فارسی, Français, Bahasa Indonesia, 日本語 and Ру́сский







