AP2Lernhub
Hoch📊 58% Prüfungs-Häufigkeit🎯 ~64 Punkte kumuliert

Sequenzdiagramm

Zeitlicher Nachrichtenaustausch zwischen Objekten.

Warum Priorität „Hoch"? Häufig Teil der Prüfung (60–79%) oder bringt viele Punkte.

Lernziele

  • Sequenzdiagramme lesen und aus Anwendungsfällen ableiten
  • Synchrone und asynchrone Nachrichten unterscheiden
  • Aktivierungsbalken, Lifelines und Rückgabepfeile korrekt einzeichnen

1. Bausteine

  • Lifeline (Lebenslinie): Kopf mit Objektname, gestrichelte senkrechte Linie.
  • Aktivierungsbalken: schmales Rechteck auf der Lifeline – Objekt ist aktiv.
  • Nachricht (synchron): durchgezogener Pfeil mit gefüllter Spitze.
  • Antwort: gestrichelter Pfeil mit offener Spitze.
  • Nachricht (asynchron): durchgezogener Pfeil mit offener Spitze (kein Warten).
  • Selbstaufruf: Pfeil, der auf dieselbe Lifeline zurückgeht.

2. Struktur-Fragmente

  • alt – Alternative (if/else)
  • opt – optionaler Block (if ohne else)
  • loop – Wiederholung
  • par – parallele Abläufe

3. Beispiel – Login

User → LoginController : login(u, p)
         LoginController → UserRepo : findByName(u)
         LoginController ← UserRepo : User
         LoginController → User     : checkPassword(p)
         LoginController ← User     : boolean
alt [passwort ok]
    LoginController → SessionService : create(user)
    LoginController ← SessionService : token
    User           ← LoginController : {token}
else [nicht ok]
    User           ← LoginController : 401 Unauthorized
end

4. Tipps fürs Zeichnen

  • Zuerst die beteiligten Objekte horizontal anordnen.
  • Pfeile immer vom Absender zum Empfänger.
  • Zeit läuft von oben nach unten.
  • Aktivierungsbalken nur so lang, wie das Objekt wirklich arbeitet.

Übungen

Eine AntwortWas kennzeichnet eine asynchrone Nachricht?

Eine AntwortWelches Struktur-Fragment modelliert eine if/else-Entscheidung?

Verwandte Themen