Ein UML-Aktivitätsdiagramm modelliert wie die Arbeit fließtdurch einen Prozess: die durchgeführten Aktionen, getroffenen Entscheidungen, parallele Arbeit und Wege zur Fertigstellung. PlantUML ermöglicht es Ihnen, dieses Modell als Text zu beschreiben und es anschließend als Diagramm darzustellen – ein nützlicher Ansatz, wenn Sie Diagramme wünschen, die leicht überarbeitet, überprüft und zusammen mit der Projektdokumentation verwaltet werden können. Die aktuelle Aktivitätssyntax von PlantUML verwendet lesbare Schlüsselwörter wie start, wenn, wiederholen, und verzweigen; seine ältere Aktivitätssyntax wird weiterhin unterstützt, aber für neue Diagramme wird die neuere Syntax empfohlen.

1. Was zu modellieren ist
Verwenden Sie ein Aktivitätsdiagramm, um einen Prozess oder Algorithmus zu erklären, zum Beispiel:

-
Ein Kunden-Kassenvorgang
-
Ein Genehmigungsprozess
-
Eine Daten-Import-Pipeline
-
Die Schritte in einem Anwendungsfall
-
Arbeit, die auf Personen, Teams oder Systemkomponenten verteilt ist
Eine Aktivität ist eine Arbeitseinheit, wie z. B. „Bestellung validieren“. Ein Steuerungsfluss verbindet Aktivitäten und zeigt deren Reihenfolge an. Ein Entscheidungspunkt wählt zwischen alternativen Pfaden; parallele Flüsse zeigen Arbeiten, die parallel ausgeführt werden können. Das Diagramm sollte das Verhalten verdeutlichen, nicht versuchen, jedes Implementierungsdetail zu dokumentieren.
Eine nützliche Daumenregel: Wenn die Hauptfrage lautet „Was passiert als Nächstes und unter welcher Bedingung?“, ist ein Aktivitätsdiagramm gut geeignet.
2. Grundlagen von PlantUML
Ein PlantUML-Diagramm beginnt mit @startuml und endet mit “@enduml. In der aktuellen Aktivitätssyntax:

-
startmarkiert den Startknoten. -
:Action;definiert eine Aktion. -
if (...) then (...)verzweigt basierend auf einer Bedingung. -
endifschließt die Bedingung ab. -
stopbeendet einen Ablauf. -
repeatundrepeat whilemodelliert Wiederholungen. -
fork,fork again, undend forkmodelliert parallele Arbeit.
Aktionen werden in Reihenfolge geschrieben und sind implizit verbunden. Sie können Verzweigungen Beschriftungen hinzufügen und partition verwenden, um Arbeit nach Verantwortung oder Rolle zu gruppieren.
Hier ist ein minimales Beispiel:

@startuml
start
:Anfrage erhalten;
:Anfrage validieren;
stop
@enduml
3. Entscheidungen und alternative Pfade
Verwenden Sie wenn wenn der Prozess eine Auswahl trifft. Zweigbeschriftungen sollten die Ergebnisse der Bedingung kommunizieren, nicht lediglich die Bedingung wiederholen.

@startuml
start
:Bestellung erhalten;
:Lagerbestand prüfen;
if (Alle Artikel verfügbar?) then (Ja)
:Artikel reservieren;
:Zahlung anfordern;
else (Nein)
:Kunde benachrichtigen;
stop
endif
:Bestellung bestätigen;
stop
@enduml
Hier, wenn führt eine Entscheidung ein und endif schließt sie. Die Ja und Nein Beschriftungen machen die Alternativen sichtbar. Wenn die Pfade nach endif zu einer gemeinsamen Aktion weiterführen, schließen sie sich wieder dem Fluss an.
Modellierungstipp: Seien Sie explizit darüber, was bei jedem bedeutungsvollen Ergebnis geschieht. Wenn ein Fehler-, Timeout- oder Ablehnungspfad für die Beteiligten von Bedeutung ist, zeigen Sie ihn, anstatt ihn implizit zu lassen.
4. Schleifen und Wiederholungen
Verwenden Sie eine Schleife, wenn eine Aktion oder eine Gruppe von Aktionen wiederholt werden kann. Dieses Beispiel fragt solange nach Eingaben, bis die Validierung bestanden wird:

@startuml
start
:Übermittelte Daten lesen;
repeat
:Daten validieren;
if (Gültig?) then (Ja)
:Daten speichern;
break
else (Nein)
:Validierungsfehler anzeigen;
:Benutzer auffordern, Daten zu korrigieren;
endif
repeat while (Benutzer fährt fort?) ist (Ja) nicht (Nein)
stop
@enduml
Schleifen können schwer lesbar sein, wenn ihre Abbruchbedingung unklar ist. Geben Sie an, was einen weiteren Versuch auslöst und was die Wiederholung beendet – besonders wenn Wiederholungen begrenzt sind oder abgebrochen werden können.
5. Parallele Arbeit und Synchronisation
Verwenden Sie fork wenn unabhängige Aktionen gleichzeitig stattfinden können, und end fork wenn die Pfade synchronisiert werden müssen, bevor der Prozess fortgesetzt wird.

@startuml
start
:Bestätigung der Bestellung;
fork
:Bestätigungs-E-Mail senden;
fork again
:Lager-Auswahlzettel vorbereiten;
fork again
:Verkaufs-Dashboard aktualisieren;
end fork
:Bestellung als in Bearbeitung markieren;
stop
@enduml
Ein Fork bedeutet nicht zwangsläufig separate Personen; er kann paralleles Systemverhalten darstellen. Verwenden Sie ihn nur, wenn die Aktionen wirklich parallel stattfinden können. Wenn eine Aufgabe vor Beginn einer anderen abgeschlossen sein muss, modellieren Sie sie stattdessen sequenziell.
6. Schwimmbahnen mit Partitionen
Partitionen gruppieren Aktionen nach der verantwortlichen Rolle, dem Team oder dem System. Dies kann Übergänge klar darstellen, ohne den Prozess selbst zu ändern. PlantUML unterstützt das Gruppieren von Aktivitäten mit partition.

@startuml
start
partition Kunde {
:Bestellung aufgeben;
}
partition "Bestelldienst" {
:Bestellung prüfen;
if (Bestellung gültig?) then (Ja)
:Bestellungsdatensatz erstellen;
else (Nein)
:Validierungsfehler zurückgeben;
stop
endif
}
partition Lager {
:Versand vorbereiten;
}
partition "Bestelldienst" {
:Bestätigung senden;
}
stop
@enduml
Wählen Sie Spaltenbeschriftungen, die der tatsächlichen Aufteilung der Verantwortlichkeiten entsprechen. Vermeiden Sie die Erstellung eines neuen Partitions für jede kleine Komponente; zu viele Spalten können die Übersichtlichkeit des Diagramms erschweren.
7. Datenobjekte und Notizen
Einige Workflows profitieren davon, wichtige Eingaben oder Ausgaben darzustellen. PlantUML-Aktivitätsdiagramme unterstützen Object-Node-Stereotypen; Notizen können zudem Kontext hinzufügen, ohne jedes Aktionslabel zu einem Absatz auszuweiten.

@startuml
start
:Zahlungsanforderung entgegennehmen;
:Zahlung autorisieren;
note right
Verwendet die Autorisierungsantwort
des Zahlungsdienstleisters.
end note
:Zahlungsergebnis protokollieren;
stop
@enduml
Halten Sie die Hauptaktivitätsbeschriftungen kurz. Legen Sie Geschäftsregeln, Annahmen oder Erläuterungen in Notizen ab, wenn Leser sie benötigen, sie aber keine eigenen Schritte im Ablauf darstellen.
8. Vollständiges Beispiel: Online-Kasse
Dieses größere Beispiel kombiniert Partitions, eine Entscheidung, einen alternativen Pfad und parallele Arbeit.

@startuml
Titel Online-Kasse
start
partition Kunde {
:Warenkorb prüfen;
:Kasse abschließen;
}
partition "Bestelldienst" {
:Warenkorb und Adresse prüfen;
if (Warenkorb und Adresse gültig?) then (Ja)
:Gesamtbetrag berechnen;
else (Nein)
:Validierungsfehler anzeigen;
stop
endif
}
partition "Zahlungsdienst" {
:Zahlung autorisieren;
if (Zahlung genehmigt?) then (Genehmigt)
:Zahlung einziehen;
else (Abgelehnt)
:Zahlungsfehler zurückgeben;
stop
endif
}
partition "Bestelldienst" {
:Bestellung erstellen;
}
fork
partition "Benachrichtigungsdienst" {
:Bestellbestätigung senden;
}
fork again
partition Lager {
:Bestellung zur Kommissionierung einreihen;
}
end fork
partition "Bestelldienst" {
:Bestellbestätigung anzeigen;
}
stop
@enduml

Lesen Sie es von oben nach unten: Der Kunde schließt die Kasse ab, der Bestelldienst prüft dies, die Zahlung wird autorisiert und die Bestellung erstellt. Anschließend laufen die Bestätigung und die Lagerbereitschaft parallel ab. Wenn die Prüfung oder die Zahlung fehlschlägt, endet der Ablauf über den entsprechenden Fehlerpfad.
9. Workflow Diagram-as-Code
Ein praktischer Workflow ist:
Workflow Diagram-as-Code
Ein praktischer Workflow ist:
-
Beschreiben Sie den Prozess in einfacher Sprache.Identifizieren Sie Start, Ende, Hauptaktionen, Entscheidungen, Ausnahmen, parallele Aufgaben und verantwortliche Rollen.
-
Erstellen Sie einen ersten PlantUML-Entwurf.Konzentrieren Sie sich vor dem Styling auf die Logik.
-
Rendern Sie es und prüfen Sie es.Stellen Sie sicher, dass das Ergebnis natürlich lesbar ist und dass Verzweigungen und Schleifen verständlich sind.
-
Überprüfen Sie die Logik mit den Beteiligten.Das Rendern prüft die Syntax – nicht, ob der Prozess korrekt ist.
-
Überarbeiten Sie die Quelle und speichern Sie sie mit dem Projekt.Textbasierte Diagramme lassen sich einfach mit anderen Dokumentationen vergleichen und überprüfen.
Für die lokale Darstellung kann das PlantUML-Command-Line-Tool Diagrammdateien generieren; browserbasierte Editoren sind praktisch für schnelle Entwürfe und Vorschauen. PlantUML bietet ebenfalls einen Browser-Editor, während VPasCode einen browserbasierten Editor mit Live-Vorschau und Unterstützung für PlantUML-Aktivitätsdiagramme bereitstellt.
-
Beschreiben Sie den Prozess in einfacher Sprache.Identifizieren Sie Start, Ende, Hauptaktionen, Entscheidungen, Ausnahmen, parallele Aufgaben und verantwortliche Rollen.
-
Erstellen Sie einen ersten PlantUML-Entwurf.Konzentrieren Sie sich vor dem Styling auf die Logik.
-
Rendern Sie es und prüfen Sie es.Stellen Sie sicher, dass das Ergebnis natürlich lesbar ist und dass Verzweigungen und Schleifen verständlich sind.
-
Überprüfen Sie die Logik mit den Beteiligten.Das Rendern prüft die Syntax – nicht, ob der Prozess korrekt ist.
-
Überarbeiten Sie die Quelle und speichern Sie sie mit dem Projekt.Textbasierte Diagramme lassen sich einfach mit anderen Dokumentationen vergleichen und überprüfen.
Für die lokale Darstellung kann das PlantUML-Command-Line-Tool Diagrammdateien generieren; browserbasierte Editoren sind praktisch für schnelle Entwürfe und Vorschauen. PlantUML bietet ebenfalls einen Browser-Editor, während VPasCode einen browserbasierten Editor mit Live-Vorschau und Unterstützung für PlantUML-Aktivitätsdiagramme bereitstellt.
10. Verwendung von Visual Paradigm VPasCode und KI-Unterstützung
VPasCode ist der browserbasierte Text-zu-Diagramm-Editor von Visual Paradigm. Die PlantUML-Unterstützung umfasst Aktivitätsdiagramme, und der Editor bietet eine Live-Darstellung. Visual Paradigm beschreibt zudem integrierte Funktionen zur Diagrammerstellung in natürlicher Sprache sowie KI-Unterstützung zum Ändern oder Korrigieren von Diagrammcode.
Ein nützlicher, von KI unterstützter Arbeitsablauf:

-
Fordern Sie das Verhalten an, nicht nur den Diagrammtyp.Zum Beispiel:
„Erstellen Sie ein PlantUML-Aktivitätsdiagramm für den Online-Checkout. Beziehen Sie Warenkorbsvalidierung, Adressvalidierung, Zahlungsautorisation, Fehlerpfade, Auftragserstellung sowie parallele Bestätigungs-E-Mail und Lagerbereitschaft ein. Verwenden Sie Partitionen für Kunde, Auftragsdienst, Zahlungsdienst, Benachrichtigungsdienst und Lager. Verwenden Sie die aktuelle PlantUML-Aktivitätssyntax.“ -
Prüfen Sie den generierten Quellcode.Stellen Sie sicher, dass es verwendet:
@startuml/@enduml, dass jeder Zweig eine echte Bedingung darstellt und dass fehlgeschlagene oder alternative Pfade behandelt werden. -
Rendern Sie es in VPasCode.Verwenden Sie die Vorschau, um Syntaxfehler, verwirrende Beschriftungen oder übermäßig komplexe Layouts zu erkennen.
-
Verfeinern Sie das PlantUML selbst oder mit gezielten KI-Bearbeitungen.Fordern Sie eine spezifische Änderung an, z. B. „Einen Zahlungstimeout-Pfad hinzufügen“ oder „Die Lagerbereitschaft nach der Auftragserstellung sequenziell gestalten.“
-
Validieren Sie den Prozess mit jemandem, der ihn kennt.KI kann einen plausiblen Entwurf erstellen, aber sie kann nicht feststellen, ob der tatsächliche Prozess Ihrer Organisation korrekt ist.
Die genauen Steuerelemente und die Verfügbarkeit von Funktionen in VPasCode können je nach Produktversion variieren; bestätigen Sie die aktuellen Optionen im von Ihnen verwendeten Editor.
11. Visual Paradigm Modellierungsarbeitsablauf
Verwenden Sie VPasCode, wenn Sie direkt mit der Diagrammquelle und der Vorschau arbeiten möchten. Verwenden Sie die Modellierungsumgebung von Visual Paradigm, wenn die Aufgabe eine grafische Bearbeitung oder umfassendere Modellarbeit erfordert. Die Anleitung von Visual Paradigm beschreibt einen Arbeitsablauf zum Erstellen oder Importieren eines Diagramms und dessen Verfeinerung im visuellen Editor; die genauen Importpfade können vom Produkt und der Version abhängen.
Ein sinnvoller Übergang ist:

-
Entwerfen und iterieren Sie in PlantUML.
-
Teilen Sie das gerenderte Diagramm und die Quelle zur Überprüfung.
-
Öffnen oder importieren Sie es in den entsprechenden Visual Paradigm-Editor, wenn Sie eine visuelle Bearbeitung oder andere Modellierungsfunktionen benötigen.
-
Behalten Sie die PlantUML-Quelle als die gepflegte Version bei, wenn sie die vom Team gewählte Quelle der Wahrheit ist; vermeiden Sie es, stillschweigend widersprüchliche Änderungen an zwei Orten vorzunehmen.
12. Häufige Fehler und Qualitätscheckliste
Überprüfen Sie vor dem Teilen eines Diagramms Folgendes:

-
Hat es einen klaren Start und ein sinnvolles Ende?
-
Beschreibt jede Aktion ein erkennbares Stück Arbeit?
-
Sind die Ergebnisse von Entscheidungen klar beschriftet?
-
Sind Ablehnungs-, Fehler-, Timeout- oder Abbruchpfade dort enthalten, wo sie wichtig sind?
-
Machen Schleifenbedingungen das Wiederholungs- und Exit-Verhalten klar?
-
Sind parallele Aktionen tatsächlich unabhängig, und wird die Synchronisation dort angezeigt, wo sie erforderlich ist?
-
Stellen Partitionen nützliche Eigentumsgrenzen dar?
-
Kann ein Leser den Ablauf verstehen, ohne lange Aktionsbeschriftungen lesen zu müssen?
-
Entspricht das gerenderte Diagramm dem tatsächlichen Prozess?
Ein gutes Aktivitätsdiagramm ist nicht das längste oder detaillierteste. Es ist das kleinste Diagramm, das den Arbeitsablauf, Entscheidungen, Verantwortlichkeiten und wichtige Ausnahmen klar darstellt.
Schnelle Syntaxreferenz
| Zweck | PlantUML-Muster |
|---|---|
| Start | start |
| Aktion | :Etwas tun; |
| Entscheidung | if (Bedingung?) then (Ja) ... else (Nein) ... endif |
| Schleife | repeat ... repeat while (Bedingung?) |
| Parallele Arbeit | fork ... fork again ... end fork |
| Verantwortlichkeitsgruppe | partition Rolle { ... } |
| Ende | stop |
Die Beispiele verwenden die aktuelle Aktivitätsdiagramm-Syntax von PlantUML. Für unübliche Konstrukte oder versionspezifisches Rendering-Verhalten konsultieren Sie die Referenz für PlantUML-Aktivitätsdiagramme.
Der Artikel ist auch in English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文 verfügbar.












