UML-Aktivitätsdiagramm
Was ist ein UML-Aktivitätsdiagramm?
Dynamische Abläufe visualisieren
Ein UML-Aktivitätsdiagramm (Activity Diagram) ist ein Verhaltensdiagramm der Unified Modeling Language (UML). Es dient dazu, den Ablauf von Aktivitäten zu visualisieren. Du kannst es dir wie ein Flussdiagramm vorstellen, das Schritt für Schritt zeigt, was in einem System oder Prozess passiert. Es eignet sich hervorragend, um:
- Geschäftsprozesse darzustellen (z. B. "Wie wird eine Bestellung bearbeitet?").
- Algorithmen zu modellieren (z. B. "Wie sortiert das Programm diese Liste?").
- Parallele Abläufe zu beschreiben (z. B. "Was passiert gleichzeitig?").
Im Gegensatz zu statischen Diagrammen, die den Aufbau eines Systems zeigen (wie Klassendiagramme), konzentriert sich das Aktivitätsdiagramm auf die Dynamik: Wer macht was, wann und unter welchen Bedingungen?
Die Bausteine: Knoten und Kanten
Ein Aktivitätsdiagramm besteht aus verschiedenen Elementen, die den Fluss steuern. Wir unterscheiden dabei drei Hauptarten von Knoten:
- Aktionsknoten (Action Nodes): Das sind die eigentlichen Arbeitsschritte oder Befehle. Sie werden als Rechteck mit abgerundeten Ecken dargestellt.
- Beispiel: "Passwort prüfen" oder "Datenbankeintrag erstellen".
- Kontrollknoten (Control Nodes): Sie steuern den Ablauf des Prozesses.
- Startknoten (Initial Node): Ein ausgefüllter schwarzer Kreis markiert den Beginn des Prozesses.
- Endknoten (Activity Final Node): Ein schwarzer Kreis mit weißer Umrandung ("Spiegelei") markiert das Ende des gesamten Ablaufs.
- Entscheidung/Zusammenführung (Decision/Merge): Eine Raute steuert Verzweigungen (
if/else) bzw. führt verschiedene Pfade wieder zusammen. - Gabelung/Vereinigung (Fork/Join): Ein dicker schwarzer Balken teilt einen Pfad in mehrere parallele Pfade auf bzw. führt die parallelen Pfade wieder zusammen und wartet, bis alle beendet sind.
- Objektknoten (Object Nodes): Sie repräsentieren Daten oder Dokumente, die zwischen Aktionen ausgetauscht werden. Sie werden als ein Rechteck dargestellt.
- Beispiel: Eine Aktion "Bestellung aufgeben" erzeugt das Objekt "Bestellschein", das von der nächsten Aktion "Bestellung prüfen" als Input benötigt wird.
Wie werden komplexe Abläufe gesteuert?
Sequenzielle vs. Parallele Abläufe
In der Programmierung und Prozessgestaltung ist der Unterschied zwischen "Nacheinander" und "Gleichzeitig" entscheidend. Das Aktivitätsdiagramm bietet hierfür klare Symbole:
- Sequenzielle Abläufe mit Entscheidungen: Hier nutzen wir den Entscheidungsknoten (Raute). Ähnlich wie bei einer
if/else-Anweisung im Code oder einem XOR-Gateway in BPMN, kann der Prozess hier nur einen von mehreren Wegen nehmen.- Beispiel: Bei einem Login wird geprüft: Sind die Daten korrekt? [Ja] -> "Login durchführen". [Nein] -> "Fehlermeldung anzeigen".
- Parallele Abläufe (Concurrency): Hier kommen Gabelung (Fork) und Vereinigung (Join) ins Spiel. Ein Fork-Knoten (schwarzer Balken) splittet den Kontrollfluss auf. Alle ausgehenden Pfade werden gleichzeitig (oder quasi-gleichzeitig) ausgeführt. Ein Join-Knoten (ebenfalls schwarzer Balken) wartet, bis alle eingehenden parallelen Pfade abgeschlossen sind, bevor es weitergeht.
- Beispiel: Ein Video wird hochgeladen. Gleichzeitig passieren zwei Dinge: "Video komprimieren" und "Vorschaubild generieren". Erst wenn beides fertig ist, kann der Schritt "Video veröffentlichen" erfolgen.
Wer ist zuständig? Partitionen (Swimlanes)
Um darzustellen, wer eine bestimmte Aktion ausführt, wird das Diagramm in Partitionen unterteilt, die visuell wie Schwimmbahnen (Swimlanes) aussehen.
- Funktion: Jede Bahn steht für eine Verantwortlichkeit, z. B. eine Klasse im Code, eine Datenbank, ein externes System oder eine Abteilung (z. B. "Buchhaltung").
- Anwendung: Die Aktionsknoten werden in der Bahn platziert, die für die Ausführung zuständig ist.
- Vorteil: Wechselt ein Pfeil von einer Bahn in die andere, wird sofort sichtbar, dass eine Schnittstelle oder eine Kommunikation zwischen zwei Parteien stattfindet (z. B. Frontend sendet Daten an Backend). Dies hilft, Abhängigkeiten und Kommunikationsbedarf im System frühzeitig zu erkennen.
Lernziele
- die verschiedenen Knotentypen in Aktivitätsdiagrammen klassifizieren, indem zwischen Aktionsknoten (auszuführende Schritte), Kontrollknoten (Start, Ende, Entscheidung, Zusammenführung, Gabelung, Vereinigung) und Objektknoten (Datenfluss) unterschieden wird.
- sequenzielle und parallele Abläufe differenzieren, indem die Verwendung von Entscheidungsknoten (Decision Nodes) für bedingte Verzweigungen und Gabelungsknoten (Fork Nodes) für die Aufspaltung in parallele Pfade (Concurrency) gegenübergestellt wird.
- die Funktion von Partitionen (Swimlanes) erklären, indem ihre Verwendung zur Zuordnung von Aktionen zu Verantwortlichkeiten (z.B. Personen, Abteilungen, Systeme) analog zur Geschäftsprozessmodellierung dargestellt wird.
- den Zweck von UML-Aktivitätsdiagrammen erklären, indem ihre Rolle bei der Modellierung von Arbeitsabläufen, Algorithmen und parallelen Prozessen sowie ihre Ähnlichkeit zu Flussdiagrammen beschrieben wird.
Vertiefe dein Wissen!
Du hast die Grundlagen verstanden? Perfekt! In unserer App findest du interaktive Übungen, praktische Projekte und erweiterte Inhalte zu UML-Aktivitätsdiagramm.
Ab 5€/Monat • Kostenloser Test verfügbar