PlantUML Activity Diagram Syntax Guide

Was ist ein Aktivitätsdiagramm?

Ein Aktivitätsdiagramm ist ein Verhaltens-UML-Diagramm das als ein leistungsstarkes, formalisiertes Flussdiagramm für Softwareanwendungen fungiert. Als wesentlicher Bestandteil der Unified Modeling Language (UML)-Spezifikation zeigt es die schrittweise operative Arbeitsweise einer Systemkomponente, eines Geschäftsprozesses oder einer algorithmischen Ausführungs-Schleife auf. Indem es die sequenzielle Steuerungsfluss von einem anfänglichen Startpunkt bis zu einem endgültigen Ergebnis verfolgt, hilft dieses spezifische UML-Diagrammtyp hilft Softwareentwicklern, Produktmanagern und Business-Analysten, komplexe Systemlogik zu visualisieren, Randfälle zu identifizieren und visuell parallele Ausführungswege zu isolieren, bevor eine einzige Zeile Backend-Logik geschrieben wird.

Mit VPasCode, müssen Sie keine Flusskästchen manuell anordnen, Pfeilüberschneidungen berechnen oder Layoutabstände ausbalancieren. Die Engine verwendet ein modernisiertes, skriptähnliches Formatierungsstandard, um saubere, hochlesbare Layoutvektoren sofort zu generieren, während Sie coden.

Grundlagen-Syntax-Leitfaden: Elemente und Konstrukte

Um ein elegantes, standardskonformes UML-Aktivitätsdiagramm in PlantUML zu gestalten, müssen Sie Ausführungsprüfpunkte, Aktivitätszustände, bedingte Verzweigungen, parallele Aufspaltungen und vertikale Swimlanes beherrschen.

1. Ausführungsprüfpunkte und grundlegende Aktivitäten

Im Gegensatz zu veralteten UML-Notationen verwenden moderne Aktivitäts-Skripte saubere, explizite Befehlssymbole, um die Grenzen Ihres Workflows zu markieren. Ein Aktivitätsknoten wird einfach durch Eingabe von Text innerhalb eines nachgestellten Doppelpunkts und Semikolons definiert:

start
:Anwendungskontext initialisieren;
:Locale Konfigurations-Cache laden;
stop

2. Bedingte Logikverzweigungen (if / else / switch)

Um Ihre Steuerungslogik basierend auf Betriebsparametern zu verzweigen, verwenden Sie Standard-Programmiersyntax-Schleifen. Sie können Labels in Klammern anhängen, um die spezifischen Bewertungskriterien anzugeben, die erforderlich sind, damit eine Pfeilrichtung weitergeleitet wird:

3. Parallele Ausführungen (fork / join)

Beim Modellieren moderner Cloud-Umgebungen oder mehrthreadiger Code-Schleifen müssen Sie häufig Aufgaben darstellen, die gleichzeitig stattfinden. Verwenden Sie den forkKonstrukt, um Ihre Ausführungsreihe in unabhängige parallele Pfade aufzuteilen, und schließen Sie mit einem joinToken ab, um sie wieder in einen einzigen Thread zusammenzuführen:

fork
    :E-Mail-Rechnung generieren;
fork again
    :Lagerbestand abbuchen;
end fork

4. Verantwortlichkeiten mit Schwimmzügen organisieren

Um klar festzulegen, welcher Akteur, Service-Team oder Mikroservice-Infrastruktur-Bereich eine bestimmte Aktion übernimmt, verwenden Sie senkrechte Partitionen, die als Schwimmzüge bekannt sind. Sie deklarieren einen Schwimmzug, indem Sie einen Titeltext in Pipe-Zeichen (|Schwimmzug-Titel|):

|Client-App|
start
:Klicken Sie auf Kauf-Button;
|#LightBlue Zahlungsgateway|
:Kreditkarte autorisieren;

Best Practices für saubere Aktivitätsabläufe

  • Aktive Verb-Bezeichnungen verwenden:Halten Sie Ihre Aktivitäts-Textblöcke kompakt und klar, indem Sie mit handlungsorientierten Verben beginnen (z. B. :Payload parsen;anstatt :Die Payload-Daten werden von der Worker-Anwendung geparsed;).
  • Hochrisikoknoten farblich kennzeichnen: Fügen Sie benutzerdefinierte Hex-Farben direkt auf empfindliche Hintergrundknoten (z. B. :#Crimson:Datenbankprotokolle löschen;) ein, um kritische Schritte visuell in großen Unternehmenskarten hervorzuheben.
  • Vermeiden Sie sich kreuzende Linien: Wenn Ihr mehrfach verzweigtes Diagramm anfangen sollte, unübersichtlich zu wirken, trennen Sie die Textblöcke, indem Sie mithilfe der Trennnotation (trennen) oder Endankern ein sauberen, kreisförmigen Verbindungs-Knoten einfügen.

Realitätsnahe PlantUML-Aktivitätsdiagramm-Beispiele

Beispiel 1: Benutzer-Onboarding und Identitätsüberprüfung (Verzweigungen & Schalter)

Dieses Mustermodell beschreibt einen standardmäßigen Benutzer-Onboarding-Ablauf mit tiefgehender binärer bedingter Logik und einer Identitätsüberprüfung innerhalb einer sauberen UML-Diagrammstruktur.

@startuml
start
:Benutzer stellt Anmeldeformular ein;
if (E-Mail existiert bereits?) dann (ja)
    :Konto-Konflikt-Warnung anzeigen;
    stop
sonst (nein)
    :Erstelle ausstehenden Benutzer-Eintrag;
endif

:Bestätigungs-OTP-Code senden;
wiederhole
    :Warten auf Benutzer-OTP-Eingabe;
rückwärts:Protokollieren von fehlgeschlagenen Versuchswarnungen;
wiederhole, solange (Ist OTP korrekt?) ist (nein) nicht (ja)

umschalten (Kontenauswahl-Tier)
fall (Premium bezahlt)
    :Bereitstellen von Datenbank-Clustern;
    :Auslösen der Stripe-Abonnement-Schleife;
fall (Kostenlose Version)
    :Anwenden grundlegender API-Ratenbeschränkungen;
endeumschaltung

:Markiere Benutzerprofil als verifiziert;
stop
@enduml

Syntax-Aufschlüsselung: Dieses Muster zeigt eine Standard-wiederhole / rückwärts / wiederhole, solange Überprüfungs-Schleife, die Benutzereingaben kontinuierlich erfasst, bis der korrekte Sicherheitsschlüssel übergeben wurde. Die mehrfach verzweigteumschaltenHülle trennt die Kontoeinrichtungslogik sauber basierend auf den Stufenzustandswerten.

Beispiel 2: Verteilter Bestellabwicklungsmotor (Schwimmbahnen & parallele Verzweigungen)

Diese komplexe Unternehmensarchitekturkarte nutzt strukturelle vertikale Schwimmbahnen, um genau nachzuvollziehen, wie ein automatisierter Kassenablauf Aufgaben gleichzeitig über einen Browser-Client, einen API-Gateway und ein physisches Abwicklungscenter verarbeitet.

@startuml
|#Weiß|Client-Anwendung|
start
:Warenkorb senden;
:Versandadresse auswählen;

|#Hellblau|Checkout-API-Motor|
:Produktbestand überprüfen;
wenn (Artikel auf Lager?) dann (nein)
    :Fehler „Nicht auf Lager“ zurückgeben;
    stop
sonst (ja)
    :Bestand-Zuweisungen sperren;
endif

verzweige
    :Zahlung über Stripe verarbeiten;
    :Digitales PDF-Bestätigungsbeleg generieren;
verzweige erneut
    |#Lavendel|Lagerverwaltungssystem|
    :Physischen Versandbeleg ausdrucken;
    :Lager-Roboter-Auswahl zuweisen;
ende verzweigung

|#Hellblau|Checkout-API-Motor|
:Bestellbestätigungs-Hook versenden;
stop
@enduml

Syntax-Aufschlüsselung: Die Verwendung von farbkodierten Schwimmbahnen (wie|#Lavendel Lagerverwaltungssystem|) zwingt den automatisierten Layout-Engine, klare, getrennte Spalten zu erstellen. Die paralleleGabelDie Aussage zeigt deutlich, dass die Zahlungsabwicklung im API-Engine und die Erstellung des Packzettels im physischen Lager gleichzeitig erfolgen und vor dem Terminal sauber zusammengeführt werdenStop Block.

Nach oben scrollen