Sequenzdiagramme
Sequenzdiagramme visualisieren, wie Objekte über die Zeit interagieren. Sie zeigen die Reihenfolge der zwischen Teilnehmern ausgetauschten Nachrichten, um eine bestimmte Aufgabe oder ein Szenario zu bewältigen.
Grundkonzepte
Teilnehmer
Teilnehmer repräsentieren die am Ablauf beteiligten Objekte oder Akteure. Jeder Teilnehmer hat eine Lebenslinie — eine vertikale gestrichelte Linie nach unten, die die Zeit darstellt.
Nachrichten
Nachrichten sind die Kommunikation zwischen Teilnehmern, dargestellt als horizontale Pfeile zwischen Lebenslinien. Die Zeit fließt von oben nach unten.
Aktivierungsboxen
Aktivierungsboxen (auch Ausführungsspezifikationen genannt) sind schmale Rechtecke auf einer Lebenslinie, die zeigen, wann ein Teilnehmer aktiv verarbeitet.
Teilnehmer erstellen
Mit dem Teilnehmerwerkzeug
Drücken Sie P, um das Teilnehmerwerkzeug zu aktivieren, und klicken Sie dann auf das Canvas, um Teilnehmer zu platzieren.

Teilnehmertypen
Teilnehmer können verschiedene Entitätstypen darstellen:
- Akteur - Ein Benutzer oder externes System (Strichmännchen-Symbol)
- Objekt - Eine Instanz einer Klasse (Rechteck)
- Komponente - Eine Systemkomponente (Rechteck mit Stereotyp)
- Grenze - UI- oder Systemgrenze
- Steuerung - Prozess- oder Controller-Logik
- Entität - Daten- oder Domänenobjekt
Konfigurieren Sie den Teilnehmertyp im Inspektorpanel.
Nachrichten erstellen
Mit dem Nachrichtenwerkzeug
Drücken Sie M, um das Nachrichtenwerkzeug zu aktivieren, dann:
- Klicken Sie auf die Lebenslinie des Quellteilnehmers
- Ziehen Sie zur Lebenslinie des Zielteilnehmers
- Lassen Sie los, um die Nachricht zu erstellen
Nachrichtentypen
| Typ | Pfeilstil | Beschreibung |
|---|---|---|
| Synchron | Durchgezogene Linie, gefüllter Pfeil | Sender wartet auf Antwort |
| Asynchron | Durchgezogene Linie, offener Pfeil | Sender fährt fort, ohne zu warten |
| Rücknachricht | Gestrichelte Linie, offener Pfeil | Antwort auf einen synchronen Aufruf |
| Erstellen | Gestrichelte Linie, offener Pfeil zur Box | Erstellt einen neuen Teilnehmer |
| Zerstören | Linie endend mit X | Beendet einen Teilnehmer |

Nachrichtenbeschriftungen
Doppelklicken Sie auf eine Nachricht, um ihre Beschriftung zu bearbeiten. Gängige Formate:
methodName()- Einfacher MethodenaufrufmethodName(param1, param2)- Aufruf mit Parameternresult := methodName()- Aufruf mit Rückgabezuweisung[condition] methodName()- Bedingte Nachricht (Wächter)
Aktivierungsboxen
Aktivierungsboxen zeigen den Zeitraum, in dem ein Teilnehmer ausführt oder auf eine Antwort wartet.
Aktivierungsboxen hinzufügen
- Wählen Sie eine Nachricht aus
- Aktivieren Sie im Inspektor „Aktivierung anzeigen"
- Die Aktivierungsbox erscheint auf der Lebenslinie des empfangenden Teilnehmers
Verschachtelte Aktivierungen
Wenn ein Teilnehmer sich selbst aufruft (rekursiver Aufruf) oder mehrere verschachtelte Aufrufe verarbeitet, können Aktivierungsboxen gestapelt werden.

Fragmente
Fragmente gruppieren Nachrichten, um bedingte Logik, Schleifen oder anderen Kontrollfluss darzustellen.
Fragmenttypen
| Typ | Schlüsselwort | Zweck |
|---|---|---|
| Alternative | alt | If-Else-Verzweigung |
| Option | opt | Optionale Ausführung (If ohne Else) |
| Schleife | loop | Wiederholte Ausführung |
| Abbruch | break | Ausstieg aus umschließender Schleife |
| Parallel | par | Gleichzeitige Ausführung |
| Kritisch | critical | Atomarer/kritischer Abschnitt |
Fragmente erstellen
- Wählen Sie die Nachrichten aus, die Sie gruppieren möchten
- Rechtsklicken Sie und wählen Sie „Fragment hinzufügen" oder verwenden Sie das Fragmentwerkzeug
- Wählen Sie den Fragmenttyp
- Fügen Sie Bedingungen/Wächter nach Bedarf hinzu

Fragment-Wächter
Wächter sind Bedingungen in eckigen Klammern:
[x > 0]- Numerische Bedingung[user.isAdmin]- Eigenschaftsprüfung[else]- Standard-/Else-Zweig in Alt-Fragmenten
Elemente neu anordnen
Teilnehmer verschieben
Ziehen Sie Teilnehmer horizontal, um sie neu anzuordnen. Verbundene Nachrichten folgen.
Nachrichten verschieben
Ziehen Sie Nachrichten vertikal, um ihre Reihenfolge in der Sequenz zu ändern. Dies beeinflusst die Zeitfolge/Reihenfolge der Interaktion.
Best Practices
- Mit dem Hauptablauf beginnen - Modellieren Sie zuerst den erfolgreichen Ablauf, dann Alternativen hinzufügen
- Lesbar halten - Beschränken Sie sich auf 5-7 Teilnehmer pro Diagramm
- Aussagekräftige Namen verwenden - Beschriften Sie Nachrichten mit tatsächlichen Methodennamen oder Beschreibungen
- Rücknachrichten zeigen - Besonders bei synchronen Aufrufen, wenn der Rückgabewert wichtig ist
- Fragmente sparsam einsetzen - Zu viele verschachtelte Fragmente verringern die Lesbarkeit
- Notizen hinzufügen - Verwenden Sie Notizelemente, um komplexe Logik zu erklären
Beispiel: Benutzeranmeldungsablauf
Ein typischer Anmeldungsablauf könnte beinhalten:
- Benutzer gibt Anmeldedaten ein
- Client sendet Anmeldeanfrage an Server
- Server validiert mit Datenbank
- Datenbank gibt Benutzerdatensatz zurück
- Server erstellt Sitzung
- Server gibt Erfolg/Fehler an Client zurück
- Client aktualisiert die Benutzeroberfläche
Dieser Ablauf demonstriert synchrone Aufrufe, Rücknachrichten und mögliche Alt-Fragmente für Erfolgs-/Fehlerpfade.