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.
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:
- Der Name eines Zustandsübergangs muss eindeutig sein.
- Der Name eines Staates muss leicht verständlich sein und das Verhalten eines Staates beschreiben.
- Bei mehreren Objekten sollten nur wesentliche Objekte implementiert werden.
- 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:
- Objekte eines Systems modellieren.
- Interaktive Systeme modellieren und implementieren.
- Zur Anzeige von Ereignissen, die Änderungen innerhalb der Zustände auslösen.
Beispiel einer Zustandsmaschine
Das folgende Beispieldiagramm eines Zustandsdiagramms stellt den Benutzerauthentifizierungsprozess dar.
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.