Sequenzdiagramm: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 17: | Zeile 17: | ||
== 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 24: | 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 44: | Zeile 49: | ||
=== Kontrollstrukturen === | === Kontrollstrukturen === | ||
[[Datei:Bespiel Kontrollstrukturen im Sequenzdiagramm.png|mini]] | |||
Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung). | Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung). | ||
| Zeile 56: | Zeile 62: | ||
== 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 75: | 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]] | |||