Die UML-Aktivitätsdiagrammist grundsätzlich ein Flussdiagramm, das die sequenziellen und konkurrierenden Schritte oder Aktivitäten eines Prozesses modelliert. Es wird verwendet, um die dynamischen Aspekte eines Systems zu beschreiben, wobei der Fokus auf dem Steuerungsfluss von einer Aktivität zur nächsten liegt.
Dieses Diagramm ist von unschätzbarem Wert, um Geschäftsprozesse zu modellieren, Workflows über verschiedene Komponenten hinweg zu definieren und die interne Logik eines Systems oder einer Methode zu dokumentieren.

Kernelemente des Aktivitätsflusses
Ein Aktivitätsdiagramm basiert auf Knoten (die Schritte darstellen) und Kanten (die Steuerungsflüsse darstellen).
A. Aktivitäts- und Aktionknoten
Sie stellen einen einzelnen Schritt oder eine Aufgabe dar, die im Prozess ausgeführt wird.

- Notation: Ein abgerundetes Rechteck.
- Aktionknoten: Stellt einen atomaren, nicht unterbrechbaren Schritt dar (z. B. Bestand prüfen).
- Aktivitätsknoten: Stellt ein hochwertiges Ziel dar, das weiter in Untertätigkeiten aufgeteilt werden kann (z. B. Bestellung erfüllen).
- Zweck: Um die auszuführende Arbeit zu definieren.
B. Steuerungsfluss (Kanten)
Der Steuerungsfluss ist der Pfeil, der zwei Knoten verbindet, und zeigt den Übergang von einer Aktion zur nächsten an.

- Notation: Ein durchgezogener Pfeil.
- Zweck: Zeigt die Ausführungsreihenfolge an.
C. Start- und Endknoten
Jedes Diagramm muss einen einzigen Startpunkt und einen oder mehrere Endpunkte haben.

- Anfangsknoten (Start):
- Notation: Ein gefüllter, solider Kreis.
- Zweck: Der Eingangspunkt für die Steuerungsfluss.
- Aktivitätsendknoten (Ende):
- Notation: Ein solider Kreis, umgeben von einem größeren hohlen Kreis.
- Zweck: Zeigt das Ende aller Flüsse in der Aktivität an.
- Flussendknoten:
- Notation: Ein Kreis mit einem ‘X’ innerhalb.
- Zweck: Zeigt das Ende eines bestimmten Pfades (Flusses) an, aber nichtnot not unbedingt die gesamte Aktivität beenden.
Modellierung von Entscheidungs- und Verzweigungslogik
Aktivitätsdiagramme verwenden spezifische Knoten, um bedingte Logik zu behandeln, ähnlich wieif-else oder switchAnweisungen im Code.
A. Entscheidungs- und Verschmelzungsknoten
Diese Knoten werden verwendet, um bedingte Verzweigungen und die anschließende Wiedervereinigung dieser Pfade zu modellieren.

- Entscheidungsknoten:
- Notation: Eine Rauteform.
- Verwendung: Ein einzelner eingehender Fluss und mehrere ausgehende Flüsse. Jeder ausgehende Fluss muss eineWächterbedingung (eine Bedingung in eckigen Klammern, z. B.
[Bestand > 0]) die bestimmt, welcher Pfad eingeschlagen wird.
- Merge-Knoten:
- Notation: Eine Rauteform.
- Verwendung: Mehrere eingehende Flüsse und ein einziger ausgehender Fluss. Er stellt einfach den Punkt dar, an dem verschiedene Zweige wieder zusammenlaufen, und zeigt an, dass jeder der eingehenden Zweige zum nächsten Schritt führen kann. Er synchronisiert keine gleichzeitigen Flüsse.
Modellierung von Konkurrenz und Synchronisation
Im Gegensatz zu Flussdiagrammen die typischerweise sequenziell sind, zeichnen Aktivitätsdiagramme durch die Darstellung paralleler Ausführung mit Synchronisationsbalken aus.
A. Fork- und Join-Knoten
Diese Knoten werden verwendet, um einen einzelnen Steuerungsfluss in mehrere gleichzeitige Flüsse zu teilen, und später, um darauf zu warten, dass diese gleichzeitigen Flüsse abgeschlossen sind.

- Fork-Knoten:
- Notation: Ein dicker horizontaler oder vertikaler Balken.
- Verwendung: Ein einziger eingehender Fluss und mehrere ausgehende Flüsse. Alle ausgehenden Flüsse beginnen ab diesem Punkt gleichzeitig (parallel) ab diesem Punkt.
- Join-Knoten:
- Notation: Ein dicker horizontaler oder vertikaler Balken.
- Verwendung: Mehrere eingehende Flüsse und ein einziger ausgehender Fluss. Der ausgehende Fluss kann erst beginnen, wenn alle die eingehenden gleichzeitigen Flüsse abgeschlossen sind (Synchronisation).
Organisatorische Elemente: Swimlanes
Swimlanes (auch als Partitionen bezeichnet) sind entscheidend dafür, zu zeigen, welche Abteilung, Komponente oder Aktor für welche Aktivität verantwortlich ist. Sie teilen das Diagramm visuell in vertikale oder horizontale Zonen auf.
- Notation: Vertikale oder horizontale parallele Linien, die verschiedene Verantwortungsbereiche trennen.
- Zweck: Um Aktionen nach der Einheit zu gruppieren, die für ihre Durchführung verantwortlich ist, und eine klare Verantwortlichkeit über verschiedene organisatorische Einheiten hinweg zu gewährleisten (z. B. „Kunde“, „Web-System“, „Lager“).

Zusammenfassung der Best Practices für Aktivitätsdiagramme
- Fluss modellieren, keine Objekte: Konzentrieren Sie sich auf die Reihenfolge der Schritte und den Steuerungsfluss, nicht auf die strukturellen Beziehungen zwischen Klassen (das ist die Aufgabe des Klassendiagramms).
- Schwimmzonen verwenden: Verwenden Sie immer Schwimmzonen, um klar zu zeigen, wer oder was jede Aktion durchführt, insbesondere bei grenzüberschreitenden Geschäftsprozessen.
- Wächter beschriften: Stellen Sie sicher, dass jeder ausgehende Fluss von einem Entscheidungsknoten mit einer klaren, gegenseitig ausschließenden Wächterbedingung versehen ist (z. B.
[A],[B],[Andernfalls]). - Forks synchronisieren: Jeder Fork muss durch einen Join abgestimmt werden, um sicherzustellen, dass nachfolgende Schritte darauf warten, dass alle parallelen Aktivitäten abgeschlossen sind.
Für ein tieferes Verständnis von UML und der Art und Weise, wie KI sie visualisieren kann, erkunden Sie unsere UML-Ressourcen-Portal.
Der Artikel ist auch in English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文 verfügbar.











