This commit is contained in:
David Schirrmeister 2024-05-08 08:56:41 +02:00
parent 1846711991
commit 253abc8e0e
8 changed files with 73 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -1,5 +1,5 @@
# Designing for Maintainability
## UML (Unified Modeling Language)
## [UML (Unified Modeling Language)](UML.md)

View File

@ -1 +1,73 @@
# 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