Archyno
UMLVerhaltensdiagramme

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.
UML-Aktivitätsdiagramm eines Rückerstattungsprozesses. Vom Startknoten aus wird der Rückerstattungsantrag entgegengenommen. Eine Entscheidung verzweigt danach, ob der Betrag über dem Limit liegt: wenn ja, geht es zur Eskalation an die Führungskraft, sonst direkt weiter. Beide Pfade werden zusammengeführt, dann startet eine Gabelung parallel die Gutschrift an den Kunden und die Benachrichtigung des Händlers. Eine Vereinigung wartet auf beide, danach wird der Antrag geschlossen und der Endknoten der Aktivität erreicht.
Ein Rückerstattungsprozess. Die Raute wählt einen Pfad; die massiven Balken teilen in zwei Pfade, die gleichzeitig laufen und dann aufeinander warten.

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#

ElementNotationWas es bedeutet
Startknotengefüllte ScheibeWo der Fluss beginnt. Normalerweise einer pro Aktivität.
Aktionabgerundetes RechteckEin Arbeitsschritt, mit dem Verb zuerst benannt. Er läuft bis zum Ende, sobald ein Token ankommt.
EntscheidungRaute, eine Kante hineinWählt eine ausgehende Kante nach ihrer Wächterbedingung. Wächter stehen in eckigen Klammern; [else] fängt den Rest.
ZusammenführungRaute, eine Kante hinausBringt alternative Pfade wieder zusammen. Sie wartet nicht - das erste Token läuft weiter.
Gabelungmassiver Balken, eine Kante hineinTeilt in Pfade auf, die alle nebenläufig laufen.
Vereinigungmassiver Balken, eine Kante hinausWartet auf jeden eingehenden Pfad und läuft dann weiter. Das ist der Synchronisationspunkt.
AktivitätsendeRing um eine ScheibeBeendet die ganze Aktivität und tötet alle noch laufenden Token.
FlussendeKreis mit KreuzBeendet 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.

Zwei gegenübergestellte Fragmente. Links schickt eine Entscheidungsraute das Token genau einen von zwei bewachten Zweigen hinunter. Rechts schickt ein Gabelungsbalken ein Token beide Zweige zugleich hinunter, und eine Vereinigung wartet auf beide.
Links: eine Raute, und genau ein Zweig läuft. Rechts: ein Balken, und beide Zweige laufen. Sie zu vertauschen ändert die Bedeutung des Prozesses vollständig.

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#

  1. Gabelung statt Entscheidung. Ein Balken sagt, dass beide Pfade laufen. Soll nur einer laufen, gehört dorthin eine Raute.
  2. Eine Gabelung ohne Vereinigung. Zulässig, aber meist ein Fehler: sie sagt, dass nie etwas auf das Ende dieser parallelen Pfade wartet.
  3. Wächter, die nicht alles abdecken. Fügen Sie [else] hinzu.
  4. Aktionen als Substantive benannt. Refund ist mehrdeutig; Credit customer ist ein Schritt. Benennen Sie Aktionen mit dem Verb zuerst.
  5. 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

  1. 01Denken Sie in Token: eine Aktion läuft, wenn ein Token ankommt, und gibt es weiter, wenn sie fertig ist.
  2. 02Die Raute wählt einen Pfad; der massive Balken lässt alle laufen.
  3. 03Die Zusammenführung wartet nicht. Die Vereinigung schon. Dieses Paar muss sitzen.
  4. 04Wächter stehen in eckigen Klammern und müssen vollständig sein - immer [else] ergänzen.
  5. 05Swimlanes zeigen, wer jeden Schritt ausführt; an Bahnwechseln scheitern Prozesse.
  6. 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

Passend dazu

Alle Artikel