UML-Aktivitätsdiagramme
Ein Prozess, präzise gezeichnet: die Schritte, die Verzweigungen und die Teile, die wirklich gleichzeitig geschehen. Das, was in UML einem Flussdiagramm am nächsten kommt, nur ohne die Mehrdeutigkeit.
9 Min. LesezeitUML 2.5.113 von 35
Die kurze Antwort
- Eine Raute schickt den Token über genau eine Kante, ein Balken über jede zugleich. Eine Raute zu zeichnen, wo ein Balken gemeint war, ist der häufigste Fehler dieser Notation.
- Eine Vereinigung ist ein Balken und wartet auf jede eingehende Kante. Eine Zusammenführung ist eine Raute und wartet auf nichts - das erste Token läuft weiter.
- Eine Zusammenführung statt einer Vereinigung ist der Weg, auf dem ein Diagramm behauptet, der Prozess laufe weiter, bevor seine parallele Arbeit fertig ist.
- Es ist ein Flussdiagramm ohne Mehrdeutigkeit: Gabelungen und Vereinigungen, Objektknoten, Partitionen und Token-Semantik, die sagt, was an jedem Knoten passiert.
01Was es zeigt#
Ein Aktivitätsdiagramm beschreibt einen Prozess als Arbeitsfluss. Es sieht aus wie ein Flussdiagramm, und in einfachen Fällen ist es eines. Was es hinzufügt - und warum es die Formbibliothek schlägt - ist Genauigkeit bei zwei Dingen, bei denen Flussdiagramme vage sind: Nebenläufigkeit und Synchronisation.
Das Modell darunter ist Tokenfluss. Ein Token beginnt am Startknoten und wandert entlang der Pfeile. Eine Aktion läuft, wenn ein Token ankommt; ist sie fertig, zieht das Token weiter. Eine Gabelung macht aus einem Token mehrere. Eine Vereinigung wartet, bis sie auf jeder eingehenden Kante eines hat. Dieses eine Denkmodell erklärt jedes Symbol im Diagramm, und es lohnt sich, daran festzuhalten, weil es die unangenehmen Fälle offensichtlich macht.
02Die Knoten#
| Element | Notation | Was es bedeutet |
|---|---|---|
| Startknoten | gefüllte Scheibe | Wo der Fluss beginnt. Normalerweise einer pro Aktivität. |
| Aktion | abgerundetes Rechteck | Ein Arbeitsschritt, mit dem Verb zuerst benannt. Er läuft bis zum Ende, sobald ein Token ankommt. |
| Entscheidung | Raute, eine Kante hinein | Wählt eine ausgehende Kante nach ihrer Wächterbedingung. Wächter stehen in eckigen Klammern; [else] fängt den Rest. |
| Zusammenführung | Raute, eine Kante hinaus | Bringt alternative Pfade wieder zusammen. Sie wartet nicht - das erste Token läuft weiter. |
| Gabelung | massiver Balken, eine Kante hinein | Teilt in Pfade auf, die alle nebenläufig laufen. |
| Vereinigung | massiver Balken, eine Kante hinaus | Wartet auf jeden eingehenden Pfad und läuft dann weiter. Das ist der Synchronisationspunkt. |
| Aktivitätsende | Ring um eine Scheibe | Beendet die ganze Aktivität und tötet alle noch laufenden Token. |
| Flussende | Kreis mit Kreuz | Beendet nur diesen einen Pfad. Der Rest der Aktivität läuft weiter. |
03Entscheidung ist keine Gabelung#
Das ist der Unterschied, für den die Notation existiert, und der, der durcheinandergerät. Eine Entscheidung ist eine Wahl: ein Token hinein, ein Token hinaus, entlang des Zweigs, den der Wächter auswählt. Eine Gabelung ist eine Aufspaltung: ein Token hinein, mehrere Token hinaus, alle gleichzeitig lebendig.
Ihre Gegenstücke folgen derselben Regel. Eine Zusammenführung (Raute) wartet nicht - sie ist nur die Stelle, an der sich alternative Pfade wiedertreffen. Eine Vereinigung (Balken) wartet, und zwar auf alle. Eine Zusammenführung zu verwenden, wo eine Vereinigung gemeint war, ist der Weg zu einem Diagramm, das behauptet, der Prozess laufe weiter, bevor seine parallele Arbeit fertig ist.
04Swimlanes#
Eine Aktivitätspartition - fast immer Swimlane genannt - teilt die Fläche in Bahnen und stellt jede Aktion in die Bahn dessen, der sie ausführt. Bahnen können senkrecht oder waagerecht liegen und sich verschachteln.
Swimlanes sind die wertvollste Ergänzung eines Geschäftsprozessdiagramms, weil die interessanten Probleme eines Prozesses meist die Übergaben sind. Kreuzt ein Pfeil eine Bahngrenze, hat die Arbeit den Besitzer gewechselt, und genau dort geht etwas verloren, verzögert sich oder wird doppelt gemacht. Ein Diagramm mit vier Bahnwechseln in sechs Schritten hat Ihnen gerade etwas Wichtiges gesagt.
Sie kosten auch nichts an Ausdruckskraft: eine Partition ändert keine Semantik, sie sagt nur, wer zuständig ist. Spielt der Ausführende für Ihre Frage keine Rolle, lassen Sie ihn weg.
Hier geht der Notation zugleich die Luft aus. Eine UML-Partition sagt, wer einen Schritt ausführt; sie unterscheidet nicht den Kollegen im Nachbarteam von einer anderen Firma mit eigenem Prozess. BPMN trennt das in Lanes und Pools und gibt der Grenze zwischen Pools echte Semantik - nur Nachrichten überqueren sie. Verlassen die Übergaben, die Sie interessieren, die Organisation, ist dieser Unterschied die zweite Notation wert, und BPMN ist der Anfang.
05Wann eines zu zeichnen ist#
Dazu greifen, wenn
- Ein Geschäftsprozess mit echten Verzweigungen, auf die sich Leute einigen müssen
- Alles mit echter Parallelität - für Gabelung und Vereinigung gibt es keinen guten Ersatz
- Den Hauptablauf und die Alternativen hinter einem Anwendungsfall dokumentieren
- Übergaben zwischen Teams oder Systemen zeigen, mit Swimlanes
Zu etwas anderem greifen, wenn
- Der Prozess ist linear - eine nummerierte Liste ist kürzer und genauso klar
- Sie beschreiben den Lebenszyklus eines Objekts - nehmen Sie ein Zustandsdiagramm
- Es geht eigentlich um die Nachrichtenreihenfolge zwischen Diensten - nehmen Sie ein Sequenzdiagramm
- Sie würden eine vorhandene Funktion Anweisung für Anweisung abschreiben
06Häufige Fehler#
- Gabelung statt Entscheidung. Ein Balken sagt, dass beide Pfade laufen. Soll nur einer laufen, gehört dorthin eine Raute.
- Eine Gabelung ohne Vereinigung. Zulässig, aber meist ein Fehler: sie sagt, dass nie etwas auf das Ende dieser parallelen Pfade wartet.
- Wächter, die nicht alles abdecken. Fügen Sie
[else]hinzu. - Aktionen als Substantive benannt.
Refundist mehrdeutig;Credit customerist ein Schritt. Benennen Sie Aktionen mit dem Verb zuerst. - Aktivitätsende, wo Flussende gemeint war. Ring und Scheibe töten die gesamte Aktivität samt noch laufender Zweige. Wollten Sie nur einen Pfad beenden, nehmen Sie den durchkreuzten Kreis.
In je einer Zeile
- 01Denken Sie in Token: eine Aktion läuft, wenn ein Token ankommt, und gibt es weiter, wenn sie fertig ist.
- 02Die Raute wählt einen Pfad; der massive Balken lässt alle laufen.
- 03Die Zusammenführung wartet nicht. Die Vereinigung schon. Dieses Paar muss sitzen.
- 04Wächter stehen in eckigen Klammern und müssen vollständig sein - immer [else] ergänzen.
- 05Swimlanes zeigen, wer jeden Schritt ausführt; an Bahnwechseln scheitern Prozesse.
- 06Das Aktivitätsende beendet alles; das Flussende nur seinen eigenen Pfad.
07Häufige Fragen#
Was ist der Unterschied zwischen Gabelung und Entscheidung?
Ein Entscheidungsknoten, eine Raute, schickt den Token über genau eine ausgehende Kante, die von Wächtern gewählt wird. Eine Gabelung, ein ausgefüllter Balken, schickt gleichzeitig einen Token über jede ausgehende Kante, sodass die Zweige tatsächlich parallel laufen. Eine Raute zu zeichnen, wo ein Balken gemeint war, ist der häufigste Weg, auf dem ein Aktivitätsdiagramm etwas Falsches sagt.
Was ist ein Zusammenführungsknoten im UML-Aktivitätsdiagramm?
Eine Raute mit mehreren eingehenden Kanten und einer ausgehenden, an der alternative Pfade wieder zusammenlaufen. Sie wartet nicht - das erste Token, das hindurchgeht, läuft weiter. Genau darin liegt der Unterschied zur Vereinigung, die ein Balken ist und auf jede eingehende Kante wartet. Eine Zusammenführung dort zu verwenden, wo eine Vereinigung gemeint war, führt dazu, dass ein Diagramm behauptet, der Prozess laufe weiter, bevor seine parallele Arbeit beendet ist.
Was ist eine Vereinigung im UML-Aktivitätsdiagramm?
Das Gegenstück zur Gabelung, gezeichnet als derselbe ausgefüllte Balken. Sie wartet auf einen Token an jeder eingehenden Kante, bevor sie einen weiterlässt - so modelliert man wenn all dies fertig ist. Eine Zusammenführung, eine Raute, ist das Gegenstück zur Entscheidung und wartet auf nichts.
Wozu dienen Schwimmbahnen?
Partitionen, wie UML sie selbst nennt. Jede Bahn benennt, wer oder was die Aktionen darin ausführt, sodass das Diagramm die Übergaben zwischen Rollen oder Systemen zeigt und nicht nur die Schrittfolge.
Ist ein UML-Aktivitätsdiagramm dasselbe wie ein Flussdiagramm?
Es ist ein Flussdiagramm ohne die Mehrdeutigkeit. Ein Flussdiagramm hat keine standardisierte Art, Nebenläufigkeit, Objektfluss oder die ausführende Instanz auszudrücken. Ein Aktivitätsdiagramm hat Gabelungen und Vereinigungen, Objektknoten und Partitionen sowie definierte Token-Semantik, die genau sagt, was an jedem Knoten passiert.
In dieser Reihe
- 01Was ist UML?
- 02UML-Symbole
- 03Diagramm auswählen
- 04Klassendiagramme
- 05Klassendiagramm-Beispiele
- 06Klassendiagramm zeichnen
- 07Klassendiagramm-Symbole
- 08Sequenzdiagramme
- 09Sequenzdiagramm-Beispiele
- 10Sequenzdiagramm zeichnen
- 11Anwendungsfalldiagramme
- 12Anwendungsfall-Beispiele
- 13Aktivitätsdiagramme
- 14Aktivitätsbeispiele
- 15Zustandsdiagramme
- 16Zustandsdiagramm-Beispiele
- 17Komponentendiagramme
- 18Komponenten-Beispiele
- 19Komponentendiagramm zeichnen
- 20Komponenten-Symbole
- 21Verteilungsdiagramme
- 22Verteilungsbeispiele
- 23Objektdiagramme
- 24Paketdiagramme
- 25Kompositionsstrukturdiagramme
- 26Kommunikationsdiagramme
- 27Sequenz vs Kommunikation
- 28Zeitverlaufsdiagramme
- 29Interaktionsübersichtsdiagramme
- 30Profildiagramme
- 31UML mit KI
- 32E-Commerce-Beispiel
- 33Banken-Beispiel
- 34Microservices-Beispiel
- 35AWS-Beispiel
Passend dazu
Grundlagen
Verhaltensdiagramme
Verhaltensdiagramme
Verhaltensdiagramme
Grundlagen
Verhaltensdiagramme