UML Diagramme

Sequenzdiagramm

Ablauf, Elemente, Darstellung von Nachrichten, Beispiel und Abgrenzung zu anderen Verhaltensdiagrammen.

Ein Sequenzdiagramm ist ein Verhaltensdiagramm der UML und stellt den zeitlichen Ablauf von Nachrichten zwischen Objekten dar. Es dient dazu, die Interaktionen in einem konkreten Szenario detailliert zu visualisieren – zum Beispiel einen Anmeldevorgang oder eine Bestellabwicklung.


Zweck und Einsatz

  • Zeigt zeitlichen Ablauf von Interaktionen zwischen Objekten
  • Modelliert Nachrichtenfluss innerhalb eines Anwendungsfalls
  • Unterstützt Analyse, Design und Dokumentation von Abläufen
  • Wird oft ergänzend zu Anwendungsfällen genutzt
  • Hilft bei der Erkennung von Verantwortlichkeiten und Logik

Beispiel Aufgabe

Hier eine Aufgabe mit Lösung wie sie in der Prüfung vorkommen könnte.

a) Vereinfachtes Sequenzdiagramm (ohne Entscheidung/Wiederholung)

Lösung zur Sequenzdiagramm Aufgabe

b) Entscheidungs- und Wiederholungsstrukturen

Folgende Entscheidungs- und Wiederholungsstrukturen müssten ergänzt werden, um das Sequenzdiagramm realitätsnah zu erweitern:

Entscheidungsstrukturen:

  • Buchverfügbarkeit wird geprüft, wenn das Buch nicht Verfügbar ist wird eine Nachricht angezeigt.
  • Wenn die Bestellung fehlschlägt erhält der Kunde eine E-Mail benachrichtigung.

Wiederholungsstrukturen:

  • Kunde kann mehrere Bücher auswählen.
  • Kunde kann mehrere Artikel in den Warenkorb legen.
  • Kunde kann mehrere Bestellungen tätigen.

Grundelemente

ElementBedeutung
Teilnehmer (Akteure/Objekte)Beteiligte, dargestellt als Kästen oben im Diagramm
LebenslinieGestrichelte Linie unter einem Teilnehmer, repräsentiert dessen Existenz über die Zeit
NachrichtPfeil zwischen Lebenslinien, beschreibt Methodenaufrufe oder Antworten
AktivierungRechteck auf der Lebenslinie, zeigt aktiven Zeitraum (z. B. Methodenlaufzeit)
RückgabewertOptional gestrichelter Pfeil zurück zum Aufrufer mit Rückgabewert

Nachrichtentypen

TypDarstellungBedeutung
SynchronDurchgezogener Pfeil mit voller SpitzeAufruf, bei dem der Sender auf Antwort wartet
AsynchronDurchgezogener Pfeil mit offener SpitzeSender wartet nicht auf Antwort
AntwortGestrichelter PfeilRückgabewert oder Bestätigung