UML-Aktivitätsdiagramm
Das UML-Aktivitätsdiagramm zeigt den Ablauf von Aktivitäten in einem System. Es ist wie ein Flussdiagramm für Geschäftsprozesse.
Mit einem UML-Aktivitätsdiagramm kann man darstellen, welche Schritte nacheinander oder parallel ablaufen.
I. Was ist ein Aktivitätsdiagramm?
Es zeigt, was in welcher Reihenfolge passiert.
Verwendung:
- Ablauf von Geschäftsprozessen zeigen
- Workflows dokumentieren
- Algorithmen visualisieren
- Parallel ablaufende Prozesse darstellen
Beispiele:
- Bestellprozess in einem Online-Shop
- Login-Vorgang einer App
- Produktionsablauf in einer Fabrik
- Genehmigungsverfahren
II. Die wichtigsten Elemente
Diese Symbole brauchst du für ein UML-Aktivitätsdiagramm.
Syntax
Es gibt nur einen START und ein ENDE pro Diagramm!
Start/Beginn
Wo der Ablauf eines Systems beginnt.
ASCII-Darstellung:
● ← Startknoten (gefüllter Kreis)
│
│ Ablauf beginnt hier
▼
- Gefüllter schwarzer Kreis
- Nur EINER pro Diagramm
- Keine eingehenden Pfeile
- Ein ausgehender Pfeil
Ende
Wo der Ablauf eines Systems endet.
ASCII-Darstellung:
│
│ Ablauf endet hier
▼
◉ ← Endknoten (Kreis mit Ring)
- Kreis mit Ring (Bull's Eye)
- Kann mehrere geben (verschiedene Enden)
- Nur eingehende Pfeile
- Keine ausgehenden Pfeile
Aktivitäten
Eine Aktion oder Tätigkeit im Ablauf.
ASCII-Darstellung:
┌──────────────────┐
│ Aktivität Name │ ← Abgerundetes Rechteck
└──────────────────┘
Eigenschaften:
- Abgerundetes Rechteck
- Enthält Beschreibung der Aktion
- Verben verwenden ("Bestellen", "Prüfen", "Senden")
- Kurze, klare Beschreibung
Beispiele:
- "Daten eingeben"
- "Rechnung erstellen"
- "Email versenden"
- "Artikel verpacken"
Entscheidungen (Verzweigungen)
Wenn der Ablauf sich aufteilt.
ASCII-Darstellung:
│
▼
◆ ← Raute (Entscheidung)
╱ ╲
╱ ╲
[ja] [nein]
╱ ╲
▼ ▼
Symbol: Raute (Diamant)
Verwendung:
- Bedingungen prüfen
- IF-THEN-ELSE darstellen
- Mehrere Ausgänge möglich
- Bedingungen an Pfeile schreiben
Beispiel:
◆
╱ ╲
[Geld ]
[genug?]
╱ ╲
[ja] [nein]
╱ ╲
▼ ▼
Bestellen Abbrechen
Zusammenführung (Merge)
Mehrere Pfade kommen zusammen.
ASCII-Darstellung:
Pfad 1 Pfad 2
│ │
▼ ▼
╲ ╱
╲ ╱
╲ ╱
◆ ← Merge
│
▼
Weiter geht's
Parallelisierung (Fork)
Mehrere Aktivitäten laufen gleichzeitig.
ASCII-Darstellung:
│
▼
═════════ ← Dicker Balken (Fork)
║ ║ ║
▼ ▼ ▼
Akt1 Akt2 Akt3 (parallel!)
Symbol: Dicker horizontaler Balken
Bedeutung:
- Aktivitäten laufen parallel
- Alle Pfade werden gleichzeitig gestartet
- Nicht nacheinander!
Beispiel:
Bestellung eingegangen
│
▼
═════════
║ ║ ║
▼ ▼ ▼
Rechnung Lager Versand
erstellen prüfen vorbereiten
Synchronisation (Join)
Warten bis alle parallelen Aktivitäten fertig sind.
ASCII-Darstellung:
Akt1 Akt2 Akt3
║ ║ ║
▼ ▼ ▼
═════════ ← Join
│
▼
Alle fertig, weiter!
Partitionen (Swimlanes)
Zeigt, wer für welche Aktivität zuständig ist.
ASCII-Darstellung:
┌─────────────┬─────────────┬─────────────┐
│ Kunde │ System │ Admin │
├─────────────┼─────────────┼─────────────┤
│ │ │ │
│ Bestellen │ │ │
│ │ │ │ │
│ └──────┼──→ Prüfen │ │
│ │ │ │ │
│ │ └──────┼──→ Freigabe │
│ │ │ │
└─────────────┴─────────────┴─────────────┘
Verwendung:
- Zuständigkeiten zeigen
- Rollen trennen
- Abteilungen darstellen
- Verantwortlichkeiten klar machen
III. Vollständiges Beispiel: Online-Bestellung
Ein praktisches Beispiel für den Bestellprozess.
Kunde System Lager
│ │ │
● Start │ │
│ │ │
▼ │ │
┌─────────┐ │ │
│Produkt │ │ │
│auswählen│ │ │
└────┬────┘ │ │
│ │ │
▼ │ │
┌─────────┐ │ │
│In Waren-│ │ │
│korb │ │ │
└────┬────┘ │ │
│ │ │
└─────────────────┼──→ │
▼ │
┌─────────┐ │
│Bestell- │ │
│ung │ │
│prüfen │ │
└────┬────┘ │
│ │
▼ │
◆ │
╱ ╲ │
[Verfügbar?] │
╱ ╲ │
[ja] [nein] │
╱ ╲ │
▼ ▼ │
══════════ ┌────────┐ │
║ ║ │Kunde │ │
║ ║ │benach- │ │
║ ║ │richtigen│ │
▼ ▼ └────┬───┘ │
┌────┐ ┌────┐ │ │
│Rech│ │────┼───────────┼──→ │
│nung│ │ │ ▼ │
└──┬─┘ └──┬─┘ ┌─────────┐ │
║ ║ │Artikel │ │
║ ║ │entnehmen│ │
▼ ▼ └────┬────┘ │
══════════ │ │
│ │ │
▼ │ │
┌─────────┐ │ │
│Versand │◀─────────────┘ │
│ │ │
└────┬────┘ │
│ │
▼ │
◉ Ende │
IV. Schritt-für-Schritt Anleitung
So erstellst du dein eigenes UML-Aktivitätsdiagramm.
1. Prozess verstehen:
- Was soll ablaufen?
- Wer ist beteiligt?
- Was sind die Schritte?
2. Hauptaktivitäten finden:
- Alle wichtigen Schritte auflisten
- Verben verwenden
- Reihenfolge festlegen
3. Entscheidungen identifizieren:
- Wo gibt es IF-THEN?
- Welche Bedingungen?
- Alternative Pfade?
4. Parallele Abläufe erkennen:
- Was läuft gleichzeitig?
- Fork und Join einfügen
5. Swimlanes hinzufügen:
- Wer macht was?
- Zuständigkeiten klären
V. Häufige Fehler
Das solltest du vermeiden.
1. Mehrere Starts:
❌ FALSCH:
● Start 1 ● Start 2
│ │
▼ ▼
✅ RICHTIG:
● Start
│
▼
◆
╱ ╲
▼ ▼
2. Aktivitäten ohne Verb:
❌ FALSCH:
┌──────────┐
│ Rechnung │
└──────────┘
✅ RICHTIG:
┌──────────────┐
│ Rechnung │
│ erstellen │
└──────────────┘
3. Fehlende Bedingungen:
❌ FALSCH:
◆
╱ ╲
▼ ▼
(keine Labels!)
✅ RICHTIG:
◆
╱ ╲
[ja] [nein]
▼ ▼
4. Fork ohne Join:
❌ FALSCH:
═══════
║ ║ ║
▼ ▼ ▼
(nie zusammengeführt)
✅ RICHTIG:
═══════
║ ║ ║
▼ ▼ ▼
Akt1 Akt2 Akt3
║ ║ ║
▼ ▼ ▼
═══════
VI. Prüfungswissen
Was du für die IHK-Prüfung wissen musst.
Symbole kennen:
- ● Start (gefüllter Kreis)
- ◉ Ende (Kreis mit Ring)
- Rechteck mit runden Ecken = Aktivität
- ◆ Raute = Entscheidung
- ═ Dicker Balken = Fork/Join
Regeln:
- Nur ein Start
- Kann mehrere Enden haben
- Aktivitäten mit Verben beschreiben
- Bedingungen an Pfeile
- Fork und Join immer paarweise
Unterschied zu anderen Diagrammen:
- UML-Klassendiagramm: Struktur von Klassen
- UML-Anwendungsfalldiagramm: Was System kann
- UML-Aktivitätsdiagramm: WIE Abläufe funktionieren
Frage: "Erstellen Sie ein Aktivitätsdiagramm für einen Login-Vorgang."
Antwort:
● Start
│
▼
┌──────────────┐
│ Benutzername │
│ eingeben │
└──────┬───────┘
│
▼
┌──────────────┐
│ Passwort │
│ eingeben │
└──────┬───────┘
│
▼
┌──────────────┐
│ Daten │
│ prüfen │
└──────┬───────┘
│
▼
◆
╱ ╲
[korrekt?]
╱ ╲
[ja] [nein]
╱ ╲
▼ ▼
┌──────┐ ┌─────────┐
│Login │ │Fehler- │
│erfolg│ │meldung │
└──┬───┘ └────┬────┘
│ │
▼ ▼
◉ ◉
Ende Ende