UML Sequenzdiagramm
Aus FI-Wiki
Ein Sequenzdiagramm zeigt den zeitlichen Ablauf der Kommunikation zwischen Objekten oder Systemkomponenten. Es stellt dar, welche Nachrichten in welcher Reihenfolge zwischen den Beteiligten ausgetauscht werden. Bei den Nachrichten handelt es sich meistens um Methodenaufrufe.
Sequenzdiagramme gehören zu den Verhaltensdiagrammen der UML.
Bestandteile
Lebenslinien (Lifelines)
- stellen beteiligte Objekte, Akteure oder Systeme dar
- die vertikale gestrichelte Linie zeigt den zeitlichen Verlauf von oben nach unten

Aktivierungsbalken
- schmale Rechtecke auf der Lebenslinie
- zeigen aktive Ausführung einer Methode oder Aktion

Nachrichten (Messages)
- horizontale Pfeile zwischen Lebenslinien
- zeigen Methodenaufrufe oder Rückgaben

Arten von Nachrichten:
- synchron → Empfänger muss antworten
- asynchron → Empfänger verarbeitet unabhängig
- Rückgabemessage → gestrichelte Linie zurück
Selbstaufruf (Self Call)
- Eine Nachricht, die ein Objekt an sich selbst sendet
- wird verwendet, wenn eine Methode innerhalb desselben Objekts eine weitere Methode aufruft
- dargestellt als Pfeil, der zur eigenen Lebenslinie zurückführt
- erzeugt einen verschachtelten Aktivierungsbalken

Kombinierte Fragmente
- strukturieren den Ablauf im Sequenzdiagramm
- werden als Rahmen mit einer Bedingung oder Steueranweisung dargestellt
alt (Alternative)
- stellt eine Verzweigung dar (if / else)
- enthält mindestens zwei Bereiche
- jeder Bereich besitzt eine Bedingung
- nur der Bereich mit erfüllter Bedingung wird ausgeführt

opt (Optional)
- stellt einen optionalen Ablauf dar
- wird nur ausgeführt, wenn die Bedingung erfüllt ist
- entspricht einer einfachen if-Bedingung ohne else-Zweig

loop
- stellt eine Wiederholung dar
- wird ausgeführt, solange eine Bedingung erfüllt ist
- entspricht einer while- oder for-Schleife

loop (5)
- spezielle Form der Wiederholung
- wird eine feste Anzahl von Malen ausgeführt
- Beispiel: loop (5) bedeutet, dass die enthaltenen Nachrichten fünf wiederholt werden

Zeitverlauf
- Zeit verläuft von oben nach unten
- alle Ereignisse werden chronologisch dargestellt
Einfaches Beispiel
- Ein Kunde gibt eine Bestellung auf.
- Das System prüft zunächst intern die Eingaben.
- Anschließend fragt das System die Verfügbarkeit in der Datenbank ab.
- Falls der Artikel verfügbar ist, wird eine Bestellung erzeugt.
- Falls nicht, wird eine Fehlermeldung angezeigt.

Wofür verwendet man Sequenzdiagramme?
- Darstellung von Abläufen in Use Cases
- Analyse komplexer Interaktionen zwischen Objekten
- Dokumentation der Reihenfolge von Nachrichten
- Planung von Systemlogik und Schnittstellen
- Kommunikation zwischen Entwicklern und Architekten
Vorteile
- sehr klarer zeitlicher Ablauf
- gute Darstellung von Verantwortlichkeiten
- geeignet für API-, Service- und Objektinteraktionen
- hilft beim Debuggen und Testen
Kurzmerksatz
Ein Sequenzdiagramm zeigt, welche Objekte in welcher Reihenfolge miteinander kommunizieren.
