# Sequenz Diagramme gehören in die Kategorie der Verhaltensdiagramme in UML Beispiel: ![image_111.png](image_111.png) ## Time - Zeit läuft von oben nach unten - Abstand zwischen den einzelnen Elementen hat nichts mit der Dauer derer zu tun ## Participants - Repräsentieren den Teil des Systems, welcher miteinander interagiert - Jeder Teilnehmer hat eine lifeline ### Participant Names - Format: _role [selector] : class_name_ - bspw.: - admin - wird admin genannt, muss aber nicht einer Klasse zugeschrieben werden - : ContentManagementSystem - Klasse ist bekannt, muss aber keinen Namen haben - admin : Administrator - Klasse und Name sind bekannt - eventHandlers[2] : EventHandler - Teil innerhalb Array und bekannte Klasse ## Messages - Mit einem Pfeil spezifiziert - ![image_112.png](image_112.png) ### Message Signatures - Format für eine Signatur: - _attribute = sinal_or_message_name (arguments) : return_type_ - abhängig von den Informationen die bekannt sind, ggf auch kürzer ## Activation Bars Indizieren, dass ein [Teilnehmer](UMLSequenzDiagramme.md#participants) aktiv ist ![image_113.png](image_113.png) ## Nested Messages - [Nachricht](#messages) von einem [Teilnehmer](#participants) resultiert in weitere Nachrichten, welcher der Empfänger schickt - Diese neuen Nachrichten werden als "nested" innerhalb der triggernden Nachricht bezeichnet - ![image_114.png](image_114.png) - Bspw.: - participant1 sends initialMessage() to p2 - When p2 receives initialMessage(), p2 becomes active, sends two nested messages to p3 ## Message Types ### Message Arrows ![image_115.png](image_115.png) #### Creation and Destruction - Nicht alle Teilnehmer leben während der gesamten Sequenz ![image_116.png](image_116.png) ### Creation of Participants - create() Nachricht zu der Lebenslinie - **Nutzung der "dropped participant box"** - macht es klar, dass der Teilnehmer vorher nicht existiert ### Destruction of Participants - Beendung der Lebenslinie mit dem Löschen-Kreuz ### Synchronous Messages - Default - Nachrichtensender wartet auf Antwort von Empfänger ### Return Message - Zeigt, dass die Kontroller der Aktivierung wieder zum Empfänger zurückgeht ### Asynchronous Message (nicht klausurrelevant) - Sender wartet nicht bis der Empfänger fertig ist - Implementierung bspw. durch Threads