2.3 KiB
2.3 KiB
Sequenz Diagramme
gehören in die Kategorie der Verhaltensdiagramme in UML
Beispiel:
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
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 aktiv ist
Nested Messages
- Nachricht von einem Teilnehmer resultiert in weitere Nachrichten, welcher der Empfänger schickt
- Diese neuen Nachrichten werden als "nested" innerhalb der triggernden Nachricht bezeichnet
- Bspw.:
- participant1 sends initialMessage() to p2
- When p2 receives initialMessage(), p2 becomes active, sends two nested messages to p3
Message Types
Message Arrows
Creation and Destruction
- Nicht alle Teilnehmer leben während der gesamten Sequenz
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