UML Sequenzdiagramm: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Amanasiki (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Amanasiki (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:


* Wozu wird es benötigt?
* Wozu wird es benötigt?
Sequenzdiagramme dienen zur dynamischen Modellierung von Kommunikationsabläufen und Interaktionen zwischen Systemkomponenten. Der zeitliche Verlauf bekommt in dieser Darstellungsform eine besondere Bedeutung.
* Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich
* Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich
• Option:
• Option:
Zeile 8: Zeile 10:
wird bei Nichterfüllung der Bedingung
wird bei Nichterfüllung der Bedingung
(genannt „Guard“) übersprungen. Es
(genannt „Guard“) übersprungen. Es
muss aus [[Datei:Option.jpg|mini|none]] dem Kontext erkennbar sein,
muss aus dem Kontext erkennbar sein,
woher die Daten für die Bedingungsprüfung stammen.
woher die Daten für die Bedingungsprüfung stammen.
Zur Kennzeichnung wird in den oberen
Zur Kennzeichnung wird in den oberen
linken Bereich „opt“ notiert.
linken Bereich „opt“ notiert.
[[Datei:Option.jpg|mini|none]]
• Alternative


• Alternative
• Schleife
• Schleife
• Abbruch
• Abbruch
Zeile 23: Zeile 26:


* Erstelle ein paar anschauliche Beispiele
* Erstelle ein paar anschauliche Beispiele
Symbol Name Beschreibung
Lebenslinie Eine Lebenslinie ist ein Teilnehmer bzw. eine Komponente der aktuellen Darstellung. Mit Lebenslinien kann interagiert und Informationen ausgetauscht werden. Interaktionen zwischen Teilnehmern bzw. Komponenten werden mit Pfeilen dargestellt (siehe asynchroner bzw. synchroner Pfeil).
Akteur Ein Akteur ist ein Benutzer des Systems. Akteure können menschliche Benutzer sein aber auch Maschinen, andere Systeme oder Subsysteme. Alles, was außerhalb der Systemgrenze mit dem System interagiert wird auch als Akteur bezeichnet. Weitere Informationen zu Akteuren und dem System Kontext bzw. Systemgrenzen erhalten Sie hier: https://medtech-ingenieur.de/category/systemarchitekten/
Grenze Eine Grenze kann verwendet werden, um die Systemgrenze zu modellieren. Hier können also die Schnittstellen verwendet werden, die im System Kontext Diagramm spezifiziert sind. Grenzen können auch als Lebenslinien mit dem Stereotypen “boundary” oder “interface” realisiert werden.
Aktivitätsbalken Aktivitätsbalken stellen dar, wie viel Zeit eine Komponente für eine Aufgabe benötigt. Je länger eine Ausführung andauert, desto länger ist auch der Aktivitätsbalken. In der oberen Abbildung ist zu sehen, dass die Durchführung der Gesamtaufgabe (Tastendruck ⇾ Darstellung auf Display) natürlich am meisten Zeit benötigt.
Asynchrone Nachricht Asynchrone Funktionsaufrufe oder Nachrichten werden mit einer durchgezogenen Linie und einer nicht ausgefüllten Pfeilspitze dargestellt. Der Funktionsaufruf und Eingabeparameter können darüber geschrieben werden.
Synchrone Nachricht Synchrone Funktionsaufrufe oder Nachrichten werden mit einer durchgezogenen Linie und einer ausgefüllten Pfeilspitze dargestellt. Der Funktionsaufruf und Eingabeparameter können darüber geschrieben werden.
Return Handelt es sich um einen Funktionsreturn oder allgemein um einen Return, kann ein gestrichelter Pfeil in umgekehrter Richtung mit nicht ausgefüllter Pfeilspitze verwendet werden. Rückgabeparameter können über den Pfeil geschrieben werden.
New Wird eine neue Instanz eines Objektes angelegt, kann ein gestrichelter Pfeil mit nicht ausgefüllter Pfeilspitze und dem Stereotypen <<create>> verwendet werden.
Delete Wird eine Instanz gelöscht, kann dies durch das Delete-Symbol dargestellt werden. Ab diesem Zeitpunkt existiert der Teilnehmer bzw. die Komponente nicht mehr. Bsp. siehe Abbildung “Message Parser”.
Fragmente Fragmente werden verwendet, um ganz allgemein gesagt Abläufe zu beeinflussen. Fragmente können While-Schleifen oder If-Else-Bedingungen realisieren. Hierfür gibt es unterschiedliche Begriffe wie “alt”, die in das Fragment eingefügt werden. Die wichtigsten Begriffe sind:
alt == alternative bzw. If-Else
assert == assertion
break
consider
critical == critical region
ignore
loop (z. B. While-Schleife)
neg == negative
opt == option
par == parallel
ref == link
seq == weak sequencing
strict == strict sequencing

Version vom 8. Januar 2021, 10:45 Uhr

TODO:

  • Was ist ein Sequenzdiagramm?
  • Wozu wird es benötigt?

Sequenzdiagramme dienen zur dynamischen Modellierung von Kommunikationsabläufen und Interaktionen zwischen Systemkomponenten. Der zeitliche Verlauf bekommt in dieser Darstellungsform eine besondere Bedeutung.

  • Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich

• Option: Optionen sind mit dem Struktogrammelement „einseitige Verzweigung“ vergleichbar. Der eingerahmte Bereich wird bei Nichterfüllung der Bedingung (genannt „Guard“) übersprungen. Es muss aus dem Kontext erkennbar sein, woher die Daten für die Bedingungsprüfung stammen. Zur Kennzeichnung wird in den oberen linken Bereich „opt“ notiert.

• Alternative

• Schleife • Abbruch • Negation • Parallelität • Schwache und strikte Sequenz • Kritischer Bereich • Relevante und irrelevante Nachrichten

  • Erstelle ein paar anschauliche Beispiele

Symbol Name Beschreibung Lebenslinie Eine Lebenslinie ist ein Teilnehmer bzw. eine Komponente der aktuellen Darstellung. Mit Lebenslinien kann interagiert und Informationen ausgetauscht werden. Interaktionen zwischen Teilnehmern bzw. Komponenten werden mit Pfeilen dargestellt (siehe asynchroner bzw. synchroner Pfeil). Akteur Ein Akteur ist ein Benutzer des Systems. Akteure können menschliche Benutzer sein aber auch Maschinen, andere Systeme oder Subsysteme. Alles, was außerhalb der Systemgrenze mit dem System interagiert wird auch als Akteur bezeichnet. Weitere Informationen zu Akteuren und dem System Kontext bzw. Systemgrenzen erhalten Sie hier: https://medtech-ingenieur.de/category/systemarchitekten/ Grenze Eine Grenze kann verwendet werden, um die Systemgrenze zu modellieren. Hier können also die Schnittstellen verwendet werden, die im System Kontext Diagramm spezifiziert sind. Grenzen können auch als Lebenslinien mit dem Stereotypen “boundary” oder “interface” realisiert werden. Aktivitätsbalken Aktivitätsbalken stellen dar, wie viel Zeit eine Komponente für eine Aufgabe benötigt. Je länger eine Ausführung andauert, desto länger ist auch der Aktivitätsbalken. In der oberen Abbildung ist zu sehen, dass die Durchführung der Gesamtaufgabe (Tastendruck ⇾ Darstellung auf Display) natürlich am meisten Zeit benötigt. Asynchrone Nachricht Asynchrone Funktionsaufrufe oder Nachrichten werden mit einer durchgezogenen Linie und einer nicht ausgefüllten Pfeilspitze dargestellt. Der Funktionsaufruf und Eingabeparameter können darüber geschrieben werden. Synchrone Nachricht Synchrone Funktionsaufrufe oder Nachrichten werden mit einer durchgezogenen Linie und einer ausgefüllten Pfeilspitze dargestellt. Der Funktionsaufruf und Eingabeparameter können darüber geschrieben werden. Return Handelt es sich um einen Funktionsreturn oder allgemein um einen Return, kann ein gestrichelter Pfeil in umgekehrter Richtung mit nicht ausgefüllter Pfeilspitze verwendet werden. Rückgabeparameter können über den Pfeil geschrieben werden. New Wird eine neue Instanz eines Objektes angelegt, kann ein gestrichelter Pfeil mit nicht ausgefüllter Pfeilspitze und dem Stereotypen <<create>> verwendet werden. Delete Wird eine Instanz gelöscht, kann dies durch das Delete-Symbol dargestellt werden. Ab diesem Zeitpunkt existiert der Teilnehmer bzw. die Komponente nicht mehr. Bsp. siehe Abbildung “Message Parser”. Fragmente Fragmente werden verwendet, um ganz allgemein gesagt Abläufe zu beeinflussen. Fragmente können While-Schleifen oder If-Else-Bedingungen realisieren. Hierfür gibt es unterschiedliche Begriffe wie “alt”, die in das Fragment eingefügt werden. Die wichtigsten Begriffe sind: alt == alternative bzw. If-Else assert == assertion break consider critical == critical region ignore loop (z. B. While-Schleife) neg == negative opt == option par == parallel ref == link seq == weak sequencing strict == strict sequencing