UML Sequenzdiagramm

Aus FI-Wiki
Version vom 15. Februar 2026, 12:07 Uhr von Moettke (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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


Sd lebenslinie
Sd lebenslinie


Aktivierungsbalken

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


Sd aktivitaetsbalken
Sd aktivitaetsbalken


Nachrichten (Messages)

  • horizontale Pfeile zwischen Lebenslinien
  • zeigen Methodenaufrufe oder Rückgaben


Sd sync nachricht
Sd sync nachricht


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


Sd selfcall
Sd selfcall


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


Sd alt fragment
Sd alt fragment


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


Sd opt fragment
Sd opt fragment


loop

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


Sd loop fragment
Sd loop fragment


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


Sd loop5 fragment
Sd loop5 fragment


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.


Sd beispiel Bestellung
Sd beispiel Bestellung


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.