Sequenzdiagramm: Unterschied zwischen den Versionen

Die Seite wurde neu angelegt: „== Einführung == Die UML kennt insgesamt 14 Diagrammtypen. Ein Sequenzdiagramm ist ein Diagrammtyp der UML. Das Wort Sequenz beschreibt laut Duden eine Reihenfolge oder kurz Folge von Dingen. In Sequenzdiagrammen wird eine zeitliche Folge von Kommunikationsbeziehungen zwischen Objekten grafisch dargestellt. Ein Kommunikationsbeziehungen ist das Senden einer Nachricht von einem Objekten zu einem anderen. Denn Objekte t…“
 
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
Der Hauptzweck eines Sequenzdiagramms besteht darin, den Ablauf von Prozessen darzustellen, nicht die konkreten Werte, die bei der Ausführung von [[Methode|Methoden]] zurückgegeben werden.
Der Hauptzweck eines Sequenzdiagramms besteht darin, den Ablauf von Prozessen darzustellen, nicht die konkreten Werte, die bei der Ausführung von [[Methode|Methoden]] zurückgegeben werden.
Abstraktion: [[Methode#Rückgabeparameter|Rückgabeparameter]] sind oft implementationsspezifische Details, die für das Verständnis des allgemeinen Ablaufs nicht immer relevant sind. Sie können dargestellt werden, falls relevant, müssen es aber nicht.
Abstraktion: [[Methode#Rückgabeparameter|Rückgabeparameter]] sind oft implementationsspezifische Details, die für das Verständnis des allgemeinen Ablaufs nicht immer relevant sind. Sie können dargestellt werden, falls relevant, müssen es aber nicht.
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/-ZswbawGWzg?si=zu_6uaJfhKTpUDIe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></html>


== Grundsätzlicher Aufbau ==
== Grundsätzlicher Aufbau ==
Ein Sequenzdiagramm besitzt zwei Dimensionen: Die Vertikale repräsentiert die Zeit, auf der Horizontalen werden die [[Objekt|Objekte]] eingetragen. Die Zugehörigen [[Klasse|Klassen]] werden mit aufgeführt. Die Lebensdauer eines jeden [[Objekt|Objektes]] wird durch eine gestrichelte Linie - die Lebenslinie oder Objektlinie - dargestellt. Diese Linie repräsentiert die Existenz eines Objekts während einer bestimmten Zeit.  
Ein Sequenzdiagramm besitzt zwei Dimensionen: Die Vertikale repräsentiert die Zeit, auf der Horizontalen werden die [[Objekt|Objekte]] eingetragen. Die Zugehörigen [[Klasse|Klassen]] werden mit aufgeführt. Die Lebensdauer eines jeden [[Objekt|Objektes]] wird durch eine gestrichelte Linie - die Lebenslinie oder Objektlinie - dargestellt. Diese Linie repräsentiert die Existenz eines Objekts während einer bestimmten Zeit.  
[[Datei:Schematische Darstellung Sequenzdiagramm.png|mini]]
[[Datei:Beschriftetes Beispiel Sequenzdiagramm.png|mini]]
=== Objekte ===
=== Objekte ===
Die [[Objekt|Objekte]] werden durch Rechtecke visualisiert. Im [[Instanz|Objekt]] steht der zugehörige [[Klasse]]nname (zum Beispiel Mail). Falls erforderlich, wird auch der Objektname ( zum Beispiel Bestellung) aufgeführt. Objektname und Klassenname werden durch einen Doppelpunkt getrennt ( zum Beispiel Bestellung: Mail).  
Die [[Objekt|Objekte]] werden durch Rechtecke visualisiert. Im [[Instanz|Objekt]] steht der zugehörige [[Klasse]]nname (zum Beispiel Mail). Falls erforderlich, wird auch der Objektname ( zum Beispiel Bestellung) aufgeführt. Objektname und Klassenname werden durch einen Doppelpunkt getrennt ( zum Beispiel Bestellung: Mail).  
Zeile 22: Zeile 26:
=== Nachrichten ===
=== Nachrichten ===
Durch eine Nachricht wird meist eine [[Methode]] des Empfängers aufgerufen. Hier kann auch die Übergabe von [[Methode#Eingabeparameter|Eingabeparametern]] kenntlich gemacht werden. Es wird zwischen synchronen und asynchronen Nachrichten unterschieden.
Durch eine Nachricht wird meist eine [[Methode]] des Empfängers aufgerufen. Hier kann auch die Übergabe von [[Methode#Eingabeparameter|Eingabeparametern]] kenntlich gemacht werden. Es wird zwischen synchronen und asynchronen Nachrichten unterschieden.
[[Datei:Nachrichten im Sequenzdiagramm.png|mini]]


'''synchrone Nachrichten''': Dabei stellt der aufrufende Kommunikationspartner die Programmfortführung ein, bis er eine Antwort erlangt hat. Synchrone Nachrichten werden durch einen Pfeil mit  gefüllter Spitze dargestellt.
'''synchrone Nachrichten''': Dabei stellt der aufrufende Kommunikationspartner die  
[[Datei:Synchrone und Asychrone Nachrichten.png|mini]]
Programmfortführung ein, bis er eine Antwort erlangt hat. Synchrone Nachrichten werden durch einen Pfeil mit  gefüllter Spitze dargestellt.


'''asynchrone Nachrichten''': Dabei führt der Sender sein Programm fort. Trifft die Antwort ein, wird der Programmfluss unterbrochen und die Antwort verarbeitet. Sie werden durch einen Pfeil mit  offener Spitze dargestellt.  
'''asynchrone Nachrichten''': Dabei führt der Sender sein Programm fort. Trifft die Antwort ein, wird der Programmfluss unterbrochen und die Antwort verarbeitet. Sie werden durch einen Pfeil mit  offener Spitze dargestellt.  
Zeile 42: Zeile 49:


=== Kontrollstrukturen ===
=== Kontrollstrukturen ===
Auch Kontrollstrukturen lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung).  
[[Datei:Bespiel Kontrollstrukturen im Sequenzdiagramm.png|mini]]
Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung).  


Verzweigung
==== Verzweigung ====


Der mit alt (für alternative) markierte Block beschreibt eine Alternative (Verzwei­gung). Ist die Bedingung [b=wahr] erfüllt, wird der Bereich oberhalb der gestrichelten Linie in dem alt-Block ausgeführt. Im else-Fall wird der Bereich unterhalb der gestrichelten Linie ausgeführt.
Der mit alt (für alternative) markierte Block beschreibt eine Alternative ([[Verzweigung|Verzwei­gung]]). Ist die Bedingung [b=wahr] erfüllt, wird der Bereich oberhalb der gestrichelten Linie in dem alt-Block ausgeführt. Im else-Fall wird der Bereich unterhalb der gestrichelten Linie ausgeführt.


Schleife
==== Schleife ====


Der Teil des Sequenzdiagramms, der sich im Kasten mit dem Titel loop befindet, wird solange ausgeführt, solange die Ausführbedingung in den eckigen Klammern [] wahr ist.
Der Teil des Sequenzdiagramms, der sich im Kasten mit dem Titel [[Schleife|loop]] befindet, wird solange ausgeführt, solange die Ausführbedingung in den eckigen Klammern [] wahr ist.


 
== Zeitliche Ordnung der Ereignisse ==
 
Zeitliche Ordnung der Ereignisse
Ein Sequenzdiagramm beschreibt das Verhalten eines Systems, indem es die zeitliche Ordnung von Ereignisauftritten spezifiziert. Nicht der präzise Zeitpunkt, wann ein Ereignis auftritt, ist dabei ausschlaggebend, sondern welche Ereignisse vor und welche nach einem bestimmten Ereignisauftritt auftreten müssen (Quelle https://de.wikipedia.org/wiki/Sequenzdiagramm).
Ein Sequenzdiagramm beschreibt das Verhalten eines Systems, indem es die zeitliche Ordnung von Ereignisauftritten spezifiziert. Nicht der präzise Zeitpunkt, wann ein Ereignis auftritt, ist dabei ausschlaggebend, sondern welche Ereignisse vor und welche nach einem bestimmten Ereignisauftritt auftreten müssen (Quelle https://de.wikipedia.org/wiki/Sequenzdiagramm).
 
[[Datei:Zeitliche Eindordnung Nachrichten im Sequenzdiagramm.png|mini]]
Die Abbildung links zeigt ein Sequenzdiagramm mit zwei synchronen Operationsaufrufen. Blau eingekreist sind die vier Ereignisauftritte. S1 und E1 stehen für das Sende- und das Empfangs-Nachricht-Ereignis für die Nachricht m1, S2 und E2 für die entsprechenden Ereignisse, die mit m2 in Verbindung stehen. Die Zeitachse läuft in einem Sequenzdiagramm von oben nach unten, sollte aber nicht als absolute Zeit verstanden werden.
Die Abbildung links zeigt ein Sequenzdiagramm mit zwei synchronen Operationsaufrufen. Blau eingekreist sind die vier Ereignisauftritte. S1 und E1 stehen für das Sende- und das Empfangs-Nachricht-Ereignis für die Nachricht m1, S2 und E2 für die entsprechenden Ereignisse, die mit m2 in Verbindung stehen. Die Zeitachse läuft in einem Sequenzdiagramm von oben nach unten, sollte aber nicht als absolute Zeit verstanden werden.


Zeile 66: Zeile 72:


Alles in allem modelliert dieses Sequenzdiagramm also eine Interaktion, die durch genau eine Folge von Ereignisauftritten spezifiziert ist: <S1, E1, S2, E2>.
Alles in allem modelliert dieses Sequenzdiagramm also eine Interaktion, die durch genau eine Folge von Ereignisauftritten spezifiziert ist: <S1, E1, S2, E2>.




Zeile 77: Zeile 81:


Mit dieser zusätzlichen Einschränkung stellt dieses Sequenzdiagramm erneut eine Interaktion mit genau einer zulässigen Folge dar: <S1, E1, S2, E2>.
Mit dieser zusätzlichen Einschränkung stellt dieses Sequenzdiagramm erneut eine Interaktion mit genau einer zulässigen Folge dar: <S1, E1, S2, E2>.
[[Kategorie:Modellierung]]
[[Kategorie:Programmierung]]
[[Kategorie:FI_I_TP2]]
[[Kategorie:AHR_I_Informatik_LK]]