Zustandsmaschinendiagramm und Zustandsdiagramm in UML

โšก Intelligente Zusammenfassung

Ein Zustandsdiagramm, auch Zustandsautomatendiagramm genannt, modelliert das dynamische Verhalten eines Objekts, das in Reaktion auf Ereignisse zwischen verschiedenen Zustรคnden wechselt. Diese Ressource erklรคrt die Notation, die Zustandstypen, die Zeichenregeln und die Unterschiede zu einem Flussdiagramm.

  • ๐Ÿ” Hauptzweck: Ein Zustandsdiagramm stellt dar, wie ein Objekt im Laufe seiner Lebensdauer seinen Zustand als Reaktion auf Ereignisse รคndert.
  • ๐Ÿงฉ Zwei Arten: Verhaltenszustandsautomaten modellieren die Implementierung eines Elements; Protokollzustandsautomaten modellieren zulรคssige Protokollรคnderungen.
  • ๐Ÿ”ท Tonart: Das Diagramm besteht aus Anfangs- und Endzustรคnden, Entscheidungsfeldern, รœbergรคngen und abgerundeten Zustandsfeldern.
  • ๐Ÿ—‚๏ธ Arten von Staaten: Einfache, zusammengesetzte und Teilmaschinenzustรคnde organisieren das Verhalten, wobei orthogonale Zustรคnde parallele Unterzustรคnde enthalten.
  • ๐Ÿ” Ausgearbeitetes Beispiel: Ein OTP-Authentifizierungsmodell zeigt รœbergรคnge zwischen Zustรคnden basierend auf einer Schutzbedingung.

Was ist ein Zustandsmaschinendiagramm?

Zustandsdiagramm Sie dienen dazu, das Verhalten eines Softwaresystems abzubilden. UML-Zustandsdiagramme kรถnnen verwendet werden, um das Verhalten einer Klasse, eines Subsystems, eines Pakets oder sogar eines gesamten Systems zu modellieren. Sie werden 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.

Hรคufig gestellte Fragen

Ein Zustandsdiagramm zeigt die Zustรคnde eines Objekts und die Ereignisse, die es zwischen diesen Zustรคnden bewegen. Ein Aktivitรคtsdiagramm zeigt den gesamten Ablauf von Aktionen und Entscheidungen in einem Prozess. Zustandsdiagramme konzentrieren sich auf Zustรคnde, Aktivitรคtsdiagramme auf Arbeitsablรคufe.

Ein Selbstรผbergang ist ein รœbergang, der nach dem Auslรถsen eines Ereignisses zum selben Zustand zurรผckkehrt. Er lรถst die Eintritts- und Austrittsaktionen des Zustands erneut aus, ohne den aktuellen Zustand zu verรคndern. Dies ist nรผtzlich fรผr wiederholtes Verhalten oder Wiederholungsversuche.

Eine Wรคchterbedingung ist ein boolescher Ausdruck in einer Transition, der in eckigen Klammern geschrieben wird. Die Transition wird nur dann ausgelรถst, wenn ihr Ereignis eintritt und die Wรคchterbedingung als wahr ausgewertet wird. Wรคchterbedingungen steuern somit den Pfad, den das Objekt einschlรคgt.

KI-Diagrammwerkzeuge kรถnnen eine Verhaltensbeschreibung lesen und einen Entwurf eines Zustandsautomaten generieren, der Zustรคnde, Ereignisse und รœbergรคnge auflistet. Dies hilft Entwicklern, schnell zu beginnen; die Zustรคnde und Schutzbedingungen sollten jedoch auf Vollstรคndigkeit รผberprรผft werden.

Ja. KI-Analysen kรถnnen einen Zustandsautomaten mit den Anforderungen vergleichen und fehlende, nicht erreichbare oder nicht auslรถsende Zustรคnde kennzeichnen. Dies hilft, Lรผcken frรผhzeitig zu erkennen. Entwickler sollten jedoch jeden Vorschlag vor der Aktualisierung des Modells bestรคtigen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: