In der letzten Lektion galt eine strenge Regel: nur ein Weg pro Aktion, keine Alternativen. Manchmal soll ein Ablauf aber tatsächlich unterschiedlich weiterlaufen, je nachdem, welche Bedingung zutrifft. Genau dafür gibt es die Verzweigung (englisch: Decision) und ihr Gegenstück, die Zusammenführung (englisch: Merge).
Beide werden als kleine Raute dargestellt. Wichtig dabei: In die Raute selbst wird nichts hineingeschrieben. Die Bedingungen stehen stattdessen in eckigen Klammern direkt an den ausgehenden Kanten, zum Beispiel [gesund] oder [nicht gesund].
Egal welcher Zweig genommen wird – am Ende laufen beide wieder in einem gemeinsamen Punkt zusammen, bevor es weitergeht.
Jede Verzweigung muss auch wieder geschlossen werden – entweder durch eine passende Zusammenführung, die alle Zweige wieder zu einem gemeinsamen Ablauf vereint, oder dadurch, dass ein Zweig gezielt in einen eigenen Endknoten mündet. Nicht erlaubt ist ein Zweig, der einfach „im Nichts“ endet, ohne dass klar ist, wie es weitergeht.
✗ Nicht erlaubt: Der linke Zweig endet einfach, ohne zusammengeführt zu werden oder in einem eigenen Endknoten zu münden.
| Konzept | Gemeinsamkeit |
|---|---|
| Decision / Merge (UML) | Genau ein Zweig wird durchlaufen |
if / elif / else |
Genau ein Codeblock wird ausgeführt |
| XOR-Gatter (Elektronik) | Exklusives Oder – nur ein Eingang „gewinnt“ |
In Anforderungstexten erkennst du eine Verzweigung häufig an Wörtern wie wenn, falls oder im Englischen if.
Verzweigungen sorgen dafür, dass immer nur EIN Weg genommen wird. In der nächsten Lektion drehen wir den Spieß um: Wie modelliert man Schritte, die tatsächlich gleichzeitig ablaufen sollen?