Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Sequenzdiagramm

Ein Sequenzdiagramm stellt in der Regel einen Weg durch einen Entscheidungsbaum innerhalb eines Systemablaufes dar. Sollen Übersichten mit allen …

Inhalt4 Abschnitte
  1. 1. Grundidee und Einsatz
  2. 2. Lebenslinien, Nachrichten und Aktivierung
  3. 3. Zeitliche Ordnung und Ereignisfolgen
  4. 4. Kombinierte Fragmente und ihre Operatoren

Grundidee und Einsatz

Ein Sequenzdiagramm (englisch: sequence diagram) ist ein Verhaltensdiagramm der Unified Modeling Language (UML). Die UML ist eine Modellierungssprache für Software und andere Systeme. Das Sequenzdiagramm stellt eine Interaktion grafisch dar und gehört zu den vier Arten von Interaktionsdiagrammen der UML.

Im Mittelpunkt steht der Austausch von Nachrichten zwischen Objekten. Diese Objekte werden durch Lebenslinien dargestellt. Ein Sequenzdiagramm beschreibt in der Regel einen möglichen Weg durch einen Entscheidungsbaum innerhalb eines Systemablaufs. Es zeigt also typischerweise einen konkreten Ablauf. Für eine Übersicht über alle Entscheidungsmöglichkeiten wären jeweils eigene Sequenzdiagramme für die möglichen Abläufe nötig. Für solche Übersichten eignen sich eher Aktivitätsdiagramme oder Zustandsdiagramme.

Sequenzdiagramme der UML2 sind eng mit den Message Sequence Charts (MSC) verwandt, einem Standard der ITU-T (International Telecommunication Union – Telecommunication Standardization Sector).

Lebenslinien, Nachrichten und Aktivierung

Ein Sequenzdiagramm besitzt in dem beschriebenen Beispiel einen Kopf- und einen Inhaltsbereich. Im Kopfbereich steht als Schlüsselwort sd oder interaction. Im Inhaltsbereich befinden sich oben beschriftete Rechtecke für die Kommunikationspartner. Von jedem Rechteck führt eine gestrichelte Linie nach unten: die Lebenslinie des jeweiligen Kommunikationspartners.

Nachrichten werden als Pfeile dargestellt; ihr Name steht über dem Pfeil. Ein gefüllter Pfeilkopf kennzeichnet eine synchrone Nachricht, ein offener Pfeilkopf eine asynchrone Nachricht. Synchrone Nachrichten blockieren die ausgehende Lebenslinie für weitere Nachrichten, bis eine Antwort eingetroffen ist. Bei asynchronen Nachrichten besteht diese Blockierung nicht. Synchrone Operationsaufrufe sind eine besondere Art von Nachricht. Asynchrone Signale werden genauso dargestellt wie asynchrone Operationsaufrufe.

Schmale Rechtecke auf den Lebenslinien heißen Aktivierungsbalken. Sie zeigen den Focus of Control an, also den Bereich, in dem ein Objekt den Kontrollfluss besitzt und aktiv an Interaktionen beteiligt ist.

Weitere Varianten stellen verlorene und gefundene Nachrichten sowie Nachrichten von oder an einen Verknüpfungspunkt dar. Ein Verknüpfungspunkt ist daran zu erkennen, dass der Pfeil am Rand des Sequenzdiagramms beginnt oder dort endet. Der Schnittpunkt des Pfeils mit dem Rand ist der Verknüpfungspunkt; ein eigenes, deutlicheres grafisches Symbol ist dafür nicht vorgesehen.

Zeitliche Ordnung und Ereignisfolgen

Ein Sequenzdiagramm legt die zeitliche Ordnung von Ereignisauftritten fest. Entscheidend ist nicht der genaue Zeitpunkt eines Ereignisses, sondern welche Ereignisse vor oder nach einem anderen Ereignis auftreten müssen. Die Zeitachse verläuft im Diagramm von oben nach unten, darf aber nicht als absolute Zeitachse verstanden werden.

Bei einer Nachricht gibt es ein Sendeereignis und ein Empfangsereignis. Für zwei synchrone Nachrichten m1 und m2 werden diese Ereignisse als S1 und E1 beziehungsweise S2 und E2 bezeichnet. E1 tritt nach S1 auf, weil ein Empfang immer nach dem Senden erfolgt. Entsprechend tritt E2 nach S2 auf. Außerdem liegt S2 unter S1; bei synchroner Kommunikation tritt S2 genauer gesagt erst nach E1 auf. Damit ist genau die Folge <S1, E1, S2, E2> zulässig.

Bei zwei asynchronen Nachrichten bleibt zwar E1 nach S1 und E2 nach S2 notwendig. E1 kann aber vor oder nach S2 auftreten. Weil die Ereignisse auf einer Lebenslinie von oben nach unten geordnet sind, kann E1 nicht nach E2 auftreten. Zulässig sind daher die beiden Folgen <S1, E1, S2, E2> und <S1, S2, E1, E2>.

Zusätzliche Ordnungsbeziehungen können die zulässigen Folgen weiter einschränken. Eine Ordnungsbeziehung beschreibt keine zwischen Lebenslinien ausgetauschte Nachricht, sondern die Bedingung, dass ein Ereignis nach einem anderen Ereignis auftreten muss. Wird beispielsweise festgelegt, dass S2 immer nach E1 erfolgt, bleibt nur die Folge <S1, E1, S2, E2>.

Kombinierte Fragmente und ihre Operatoren

Komplexe Interaktionen können durch kombinierte Fragmente übersichtlich und modular dargestellt werden. Die UML2 übernahm dafür aus den Message Sequence Charts das Konzept der inline expressions und bezeichnete es als kombinierte Fragmente. Ein kombiniertes Fragment besteht aus einem Interaktionsoperator und einem oder mehreren Interaktionsoperanden. Der Interaktionsoperator legt die Art des Fragments fest; die Interaktionsoperanden enthalten die zugehörigen Interaktionsfragmente.

Ein optionales Fragment verwendet beispielsweise den Operator opt, eine Bedingung und ein Interaktionsfragment. Das enthaltene Fragment wird nur durchlaufen, wenn die Bedingung wahr ist.

Wichtige Operatoren sind:

  • alt (Alternatives Fragment): fasst alternative, mit Bedingungen versehene Abläufe zusammen.
  • assert (Zusicherung): beschreibt unabdingbare Interaktionen und kann für eine Nachrichtenmenge eine zwingende Ablaufreihenfolge angeben.
  • break (Abbruchfragment): unterbricht den normalen Ablauf in Ausnahmefällen, wenn eine Bedingung erfüllt oder verletzt wurde.
  • consider (Relevante Nachrichten): berücksichtigt nur die angegebenen Aktionen und ignoriert den Rest.
  • critical (Kritischer Bereich): führt alle Aktionen einer betretenen Region ohne Unterbrechung aus; Multithreading ist dort unmöglich.
  • ignore (Irrelevante Nachrichten): verhindert die Ausführung bestimmter Aktionen.
  • loop (Schleife): beschreibt Iterationen in Interaktionen; teilweise werden auch loop while oder loop until verwendet.
  • neg (Negation): kapselt unzulässige Interaktionen und kann als Platzhalter für spätere Abläufe dienen.
  • opt (Optionales Fragment): umfasst optionale Teile einer Interaktion.
  • par (Paralleles Fragment): stellt nebenläufige, also parallel ablaufende Teile dar.
  • ref (Verweis): verweist auf ein anderes Sequenzdiagramm, das einen Teilablauf beschreibt.
  • seq (Lose Ordnung): legt eine Reihenfolge für Aktionen fest, die von Lebenslinien und Operanden abhängt.
  • strict (Strenge Ordnung): ordnet die Aktionen über alle Lebenslinien hinweg, nicht nur innerhalb einer einzelnen Lebenslinie oder eines Operanden.

Lernvideos zu Sequenzdiagramm

Weiterlesen

Unified Modeling Language Die UML ist die dominierende Sprache für die Softwaresystem-Modellierung. Der erste Kontakt zur UML besteht häufig darin, dass Diagramme in UML im Rahmen der … Objekt (Programmierung) Ein Objekt in der Programmierung bezeichnet eine inhaltlich zusammengehörige Datenmenge: In der objektorientierten Programmierung wird eine Objektinstanz … Message Sequence Chart Ein Nachrichten-Reihenfolge-Diagramm (MSC, engl. Message Sequence Chart) wird benutzt, um (z. B. zur Unterstützung der Modellierung mit SDL) beispielhafte … Entscheidungsbaum Entscheidungsbäume (englisch: decision tree) sind geordnete, gerichtete Bäume, die der Darstellung von Entscheidungsregeln dienen. Die grafische Darstellung … Aktivitätsdiagramm Ein Aktivitätsdiagramm (englisch activity diagram) ist ein Verhaltensdiagramm der Unified Modeling Language (UML), einer Modellierungssprache für Software … Zustandsdiagramm (UML) Das Zustandsdiagramm (englisch state diagram) ist eine der 14 Diagrammarten der Sprache UML für Software und andere Systeme. Es stellt einen endlichen … Synchrone Kommunikation Unter synchroner Kommunikation versteht man in der Informatik und Netzwerktechnik einen Modus der Kommunikation, bei dem die Kommunikationspartner (Prozesse) … Nebenläufigkeit Die Nebenläufigkeit, mitunter auch Parallelität (englisch concurrency) genannt, ist in der Informatik die Eigenschaft eines Systems, mehrere Aufgaben, … Interprozesskommunikation Deadlocks. Bearbeiten. → Hauptartikel: Deadlock (Informatik). Eine Menge von Prozessen befindet sich in einem Deadlock-Zustand, wenn jeder Prozess aus der … Prozesssynchronisation Gemeinsamer Zugriff auf Daten. Dabei muss verhindert werden, dass durch gleichzeitigen Zugriff Inkonsistenzen in den Daten entstehen. Dies wird durch Mutex- …