Zustandsmaschinendiagramm und Zustandsdiagramm in UML

Was ist ein Zustandsmaschinendiagramm?

Zustandsdiagramm werden verwendet, um das Verhalten eines Softwaresystems zu erfassen. UML-Zustandsmaschinendiagramme kรถnnen verwendet werden, um das Verhalten einer Klasse, eines Subsystems, eines Pakets oder sogar eines gesamten Systems zu modellieren. Es wird auch als Zustandsdiagramm oder Zustandsรผbergangsdiagramm bezeichnet.

Was ist ein Statechart-Diagramm?

Zustandsdiagramme bieten uns eine effiziente Mรถglichkeit, die Interaktionen oder Kommunikation zu modellieren, die innerhalb der externen Einheiten und eines Systems stattfinden. Diese Diagramme werden zur Modellierung des ereignisbasierten Systems verwendet. Mit Hilfe eines Ereignisses wird der Zustand eines Objekts gesteuert. Zustandsdiagramme werden verwendet, um verschiedene Zustรคnde einer Entitรคt innerhalb des Anwendungssystems zu beschreiben.

In UML gibt es insgesamt zwei Arten von Zustandsmaschinendiagrammen:

1. Diagramm der Verhaltenszustandsmaschine

  • Es erfasst das Verhalten einer im System vorhandenen Entitรคt.
  • Es wird verwendet, um die spezifische Implementierung eines Elements darzustellen.
  • Das Verhalten eines Systems kann mithilfe eines Verhaltenszustandsdiagramms in OOAD modelliert werden.

2. Diagramm der Protokollzustandsmaschine

  • Diese Diagramme werden verwendet, um das Verhalten eines Protokolls zu erfassen.
  • Es stellt dar, wie sich der Protokollstatus in Bezug auf das Ereignis รคndert. Es stellt auch entsprechende ร„nderungen im System dar.
  • Sie stellen nicht die spezifische Implementierung eines Elements dar.

Warum Zustandsmaschinendiagramm?

Das Zustandsdiagramm wird verwendet, um den dynamischen Aspekt eines Systems zu erfassen. Zustandsdiagramme werden verwendet, um das Verhalten einer Anwendung darzustellen. Ein Objekt durchlรคuft im Laufe seiner Lebensdauer verschiedene Zustรคnde. Die Lebensdauer eines Objekts bleibt bestehen, bis das Programm beendet wird. Das Objekt wechselt abhรคngig von dem Ereignis, das innerhalb des Objekts auftritt, aus mehreren Zustรคnden. Jeder Zustand reprรคsentiert einige einzigartige Informationen รผber das Objekt.

Zustandsdiagramme werden zum Entwerfen interaktiver Systeme verwendet, die entweder auf interne oder externe Ereignisse reagieren. Das Zustandsdiagramm in UML visualisiert den Ausfรผhrungsfluss von einem Zustand zu einem anderen Zustand eines Objekts.

Es stellt den Zustand eines Objekts von der Erstellung bis zur Zerstรถrung oder Beendigung des Objekts dar.

Der Hauptzweck eines Zustandsdiagramms besteht darin, interaktive Systeme zu modellieren und jeden Zustand eines Objekts zu definieren. Zustandsdiagramme dienen dazu, das dynamische Verhalten eines Anwendungssystems zu erfassen. Diese Diagramme werden verwendet, um verschiedene Zustรคnde eines Systems und Einheiten innerhalb des Systems darzustellen.

Notation und Symbol fรผr Zustandsmaschinendiagramm (Statechart-Diagramm)

Nachfolgend sind die verschiedenen Notationen aufgefรผhrt, die im gesamten Zustandsdiagramm verwendet werden. Alle diese Notationen ergeben in Kombination ein einzelnes Diagramm.

Notationen von UML-Zustandsdiagrammen
Notationen von UML-Zustandsdiagrammen

Ausgangszustand

Das Anfangszustandssymbol wird verwendet, um den Beginn eines Zustandsmaschinendiagramms anzuzeigen.

Endzustand

Dieses Symbol wird verwendet, um das Ende eines Zustandsmaschinendiagramms anzuzeigen.

Entscheidungsbox

Es enthรคlt eine Bedingung. Abhรคngig vom Ergebnis einer ausgewerteten Schutzbedingung wird ein neuer Pfad fรผr die Programmausfรผhrung eingeschlagen.

รœbergang

Ein รœbergang ist ein Wechsel von einem Zustand in einen anderen Zustand, der aufgrund eines Ereignisses erfolgt. Ein รœbergang bewirkt eine ร„nderung des Zustands eines Objekts.

Feld โ€žZustandโ€œ

Es ist ein bestimmter Moment in der Lebensdauer eines Objekts. Es wird mithilfe einer Bedingung oder einer Anweisung innerhalb des Klassifikatorkรถrpers definiert. Es dient zur Darstellung beliebiger statischer und dynamischer Situationen.

Es wird durch ein Rechteck mit runden Ecken gekennzeichnet. Der Name eines Staates wird in das abgerundete Rechteck geschrieben.

Der Name eines Zustands kann auch auรŸerhalb des Rechtecks โ€‹โ€‹platziert werden. Dies ist bei zusammengesetzten oder Teilmaschinenzustรคnden mรถglich. Man kann den Namen eines Zustands entweder innerhalb des Rechtecks โ€‹โ€‹oder auรŸerhalb des Rechtecks โ€‹โ€‹in einer tabellarischen Box platzieren. Beides gleichzeitig ist nicht mรถglich.

Ein Zustand kann entweder aktiv oder inaktiv sein. Wenn sich ein Zustand im Arbeitsmodus befindet, ist er aktiv. Sobald er die Ausfรผhrung stoppt und in einen anderen Zustand รผbergeht, wird der vorherige Zustand inaktiv und der aktuelle Zustand wird aktiv.

Staatstypen

Die Unified Modeling Language definiert drei Arten von Zustรคnden:

  • Einfacher Staat
  • Sie haben kein Substate.
  • Zusammengesetzter Zustand
  • Diese Zustandstypen kรถnnen einen oder mehrere Unterzustรคnde haben.
  • Ein zusammengesetzter Zustand mit zwei oder mehr Unterzustรคnden wird als orthogonaler Zustand bezeichnet.
  • Zustand der Submaschine
  • Diese Zustรคnde sind semantisch den zusammengesetzten Zustรคnden gleich.
  • Im Gegensatz zum zusammengesetzten Zustand kรถnnen wir die Submaschinenzustรคnde wiederverwenden.

Wie zeichnet man ein Statechart-Diagramm?

Zustandsdiagramme werden verwendet, um die verschiedenen Zustรคnde zu beschreiben, die ein Objekt durchlรคuft. Ein รœbergang von einem Zustand in einen anderen erfolgt aufgrund eines ausgelรถsten Ereignisses. Um ein Zustandsdiagramm zu zeichnen UML, muss man alle mรถglichen Zustรคnde einer bestimmten Entitรคt identifizieren.

Der Zweck dieser UML-Diagramme soll Zustรคnde eines Systems darstellen. Zustรคnde spielen in Zustandsรผbergangsdiagrammen eine entscheidende Rolle. Vor der Implementierung des Diagramms mรผssen zunรคchst alle wesentlichen Objekte, Zustรคnde und Ereignisse analysiert werden, die ร„nderungen innerhalb der Zustรคnde verursachen.

Beim Zeichnen eines Zustandsdiagramms mรผssen folgende Regeln beachtet werden:

  1. Der Name eines Zustandsรผbergangs muss eindeutig sein.
  2. Der Name eines Staates muss leicht verstรคndlich sein und das Verhalten eines Staates beschreiben.
  3. Bei mehreren Objekten sollten nur wesentliche Objekte implementiert werden.
  4. Fรผr jeden รœbergang und jedes Ereignis mรผssen korrekte Namen angegeben werden.

Wann sollte ein Zustandsmaschinendiagramm verwendet werden?

Zustandsdiagramme werden verwendet, um reale Arbeitsmodelle und objektorientierte Systeme tiefgreifend umzusetzen. Diese Diagramme werden verwendet, um die dynamische und statische Natur eines Systems zu vergleichen, indem das dynamische Verhalten eines Systems erfasst wird.

Zustandsdiagramme werden verwendet, um die ร„nderungen in verschiedenen Einheiten des Systems von Anfang bis Ende zu erfassen. Sie werden verwendet, um zu analysieren, wie ein Ereignis ร„nderungen in mehreren Zustรคnden eines Systems auslรถsen kann.

Zustandsdiagramme werden verwendet:

  1. Objekte eines Systems modellieren.
  2. Interaktive Systeme modellieren und implementieren.
  3. Zur Anzeige von Ereignissen, die ร„nderungen innerhalb der Zustรคnde auslรถsen.

Beispiel einer Zustandsmaschine

Das folgende Beispieldiagramm eines Zustandsdiagramms stellt den Benutzerauthentifizierungsprozess dar.

UML-Zustandsdiagramm

UML-Zustandsdiagramm

Es gibt insgesamt zwei Zustรคnde, und der erste Zustand gibt an, dass zuerst das OTP eingegeben werden muss. Danach wird das OTP im Entscheidungsfeld รผberprรผft. Wenn es korrekt ist, erfolgt nur ein Zustandsรผbergang und der Benutzer wird validiert. Wenn das OTP falsch ist, findet der รœbergang nicht statt und es wird wieder in den Anfangszustand zurรผckgekehrt, bis der Benutzer das richtige OTP eingibt, wie im obigen Beispiel des Zustandsdiagramms gezeigt.

Zustandsmaschinendiagramm vs. Flussdiagramm

Nachfolgend sind die wichtigsten Unterschiede zwischen Zustandsdiagrammen und Flussdiagrammen aufgefรผhrt.

Zustandsmaschinendiagramm Flussdiagramm
Es reprรคsentiert verschiedene Zustรคnde eines Systems. Das Flussdiagramm veranschaulicht den Programmausfรผhrungsablauf.
Die Zustandsmaschine verfรผgt รผber ein WAIT-Konzept, das heiรŸt, sie wartet auf eine Aktion oder ein Ereignis. Das Flussdiagramm befasst sich nicht mit dem Warten auf ein Konzept.
Zustandsmaschinen werden fรผr ein live laufendes System verwendet. Flussdiagramm visualisiert Verzweigungssequenzen eines Systems.
Die Zustandsmaschine ist ein Modellierungsdiagramm. Ein Flussdiagramm ist ein Sequenzfluss oder ein DFD-Diagramm.
Die Zustandsmaschine kann verschiedene Zustรคnde eines Systems untersuchen. Flussdiagramme befassen sich mit Pfaden und Kontrollfluss.

Zusammenfassung

  • Zustandsdiagramme werden auch Zustandsdiagramme genannt.
  • Diese Diagramme werden zur Modellierung des ereignisbasierten Systems verwendet.
  • Der Zustand einer Entitรคt wird mithilfe eines Ereignisses gesteuert.
  • Es gibt insgesamt zwei Arten von Zustandsmaschinendiagrammen: 1) Behavioral State Machine-Diagramm 2) Protocol State Machine-Diagramm
  • Das Zustandsdiagramm wird verwendet, um den dynamischen Aspekt eines Systems zu erfassen.
  • Ein Zustand ist ein bestimmter Moment in der Lebensdauer eines Objekts.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: