en_USes_ESfa_IRfr_FRid_IDjapl_PLru_RU

VPasCode: Diagramy aktywności UML z PlantUML – Praktyczny przewodnik

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.

Diagram aktywności UML ilustrujący proces finalizacji zamówienia z użyciem składni PlantUML, pokazujący akcje, decyzje i przepływy pracy równoległej.

1. Co modelować

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

Diagram aktywności UML ilustrujący przepływy pracy, takie jak finalizacja zamówienia przez klienta, procesy zatwierdzania i potoki danych, z diamentami decyzji i zadaniami równoległymi.

  • 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:

Przykład składni PlantUML pokazujący kod walidacji zamówienia wraz z odpowiadającym mu diagramem aktywności i legendą kluczowych symboli.

  • start oznacza węzeł początkowy.

  • :Akcja; definiuje akcję.

  • if (...) then (...) rozgałęzia się na podstawie warunku.

  • endif zamyka instrukcję warunkową.

  • stop kończy przepływ.

  • repeat i repeat while modeluje powtarzanie.

  • fork, fork again, i end fork modeluje 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:

Interfejs VPasCode wyświetlający składnię kodu PlantUML wraz z wygenerowanym diagramem aktywności pokazującym przepływ odbierania i walidacji żądań.

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.

Interfejs VPasCode wyświetlający kod PlantUML i odpowiadający mu diagram aktywności UML ilustrujący decyzję if-else dotyczącą dostępności zapasów.

@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:

Interfejs VPasCode wyświetlający kod PlantUML dla pętli walidacji danych wraz z wygenerowanym diagramem aktywności UML pokazującym logikę ponawiania.

@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.

Diagram aktywności UML VPasCode pokazujący równoległe ścieżki fork do wysyłania e-maili, przygotowywania list i aktualizowania pulpitów przed synchronizacją.

@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.

Interfejs VPasCode wyświetlający diagram aktywności PlantUML z torami (swimlanes) podzielonymi na role: Klient, Obsługa Zamówienia i Magazyn.

@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.

Interfejs VPasCode wyświetlający kod PlantUML dla przepływu płatności wraz z wyrenderowanym diagramem aktywności zawierającym notatkę dołączoną do akcji autoryzacji płatności.

@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łą.

Diagram aktywności UML dla procesu online finalizacji zamówienia pokazujący zgłoszenie klienta, walidację, autoryzację płatności oraz równoległe potwierdzenie i przygotowanie w magazynie.

@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

Diagram aktywności PlantUML pokazujący przepływ online finalizacji zamówienia z podziałem na role: Klient, Zamówienie, Płatność, Powiadomienie i Usługa Magazynowa.

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:

  1. Opisz proces prostym językiem.Zidentyfikuj jego początek, koniec, główne działania, decyzje, wyjątki, zadania równoległe i odpowiedzialne role.

  2. Stwórz pierwszy szkic w PlantUML.Skup się na logice przed stylizacją.

  3. Wygeneruj i sprawdź go.Sprawdź, czy wynik czyta się naturalnie i czy gałęzie oraz pętle są zrozumiałe.

  4. Przejrzyj logikę ze stronami zainteresowanymi.Renderowanie sprawdza składnię, a nie poprawność procesu.

  5. 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.

  1. Opisz proces prostym językiem.Zidentyfikuj jego początek, koniec, główne działania, decyzje, wyjątki, zadania równoległe i odpowiedzialne role.

  2. Stwórz pierwszy szkic w PlantUML.Skup się na logice przed stylizacją.

  3. Wygeneruj i sprawdź go.Sprawdź, czy wynik czyta się naturalnie i czy gałęzie oraz pętle są zrozumiałe.

  4. Przejrzyj logikę ze stronami zainteresowanymi.Renderowanie sprawdza składnię, a nie poprawność procesu.

  5. 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:

Pięciokrokowy przepływ pracy ilustrujący sposób tworzenia diagramów aktywności PlantUML za pomocą VPasCode, od pisania kodu, przez przeglądanie logiki, aż do zapisywania plików źródłowych.

  1. 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.”

  2. 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.

  3. Wyrenderuj go w VPasCode.Użyj podglądu, aby wykryć błędy składni, mylące etykiety lub zbyt złożone układy.

  4. 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.”

  5. 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:

Diagram przepływu pracy Visual Paradigm pokazujący cztery kroki: tworzenie źródła PlantUML, udostępnianie do przeglądu, import do Visual Paradigm oraz dopracowywanie przy zachowaniu kontroli wersji.

  1. Stwórz szkic i iteruj w PlantUML.

  2. Udostępnij wyrenderowany diagram i źródło do przeglądu.

  3. Otwórz lub zaimportuj go do odpowiedniego edytora Visual Paradigm, jeśli potrzebujesz edycji wizualnej lub innych funkcji modelowania.

  4. 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ź:

Infografika z listą kontrolną jakości dla diagramów aktywności, zawierająca kroki walidacji przepływu oraz przykładowy przepływ pracy procesu zamówienia z punktami decyzyjnymi i obsługą błędów.

  • 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 Ру́сский