Was ist ein Zustandsdiagramm?

Das Zustandsdiagramm. Systemverhalten spezifizieren.

Was zeigt ein ein UML Zustandsdiagramm an, warum ist es wichtig und welche Vorteile bieten Zustandsdiagramme?

tooltip text
1

Das Zustandsdiagramm ist ein Verhaltensdiagramm und visualisiert eine Folge von Zuständen, die ein Objekt einnehmen kann. Auch zeigt es die auslösenden Ereignisse, die zu Zustandsübergängen führen.

2

In diesem Beispiel geht es um ein Buch, das aus einer Bibliothek ausgeliehen und entweder nach der Leihe an die Bibliothek zurückgegeben wird oder während der Leihe verschwindet.

3

Solange das Buch im Bestand ist, kann es ausgeliehen werden. Wird das Buch ausgeliehen, wechselt der Zustand in "ausgeliehen".

4

Ein Zustandsübergang. Die Rückgabe des Buchs versetzt das Objekt vom Zustand "ausgeliehen" wieder in den Zustand "im Bestand".

5

Wird das Buch - aus welchem Grund auch immer - nicht zurückgegeben, gilt es als verschwunden. Der Zustand des Buchs wechselt also in den entsprechenden Zustand, der im Zustandsdiagramm modelliert sein muss.

6

Der Endzustand des Objekts. Dieser kann - wie andere Zustände auch - auf verschiedene Arten erreicht werden, in diesem Fall durch die Rückgabe oder den Verlust des Buchs.

Was ist ein Zustandsdiagramm?

Ein Zustandsdiagramm ist die grafische Darstellung eines Zustandsautomaten und eine der 14 Diagrammarten der Unified Modeling Language (UML) für Software und andere Systeme. Zustandsdiagramme zeigen ein Verhaltensmodell aus Zuständen, Zustandsübergängen und Aktionen. Die UML-Zustandsdiagramme basieren auf dem Konzept der Zustandsdiagramme von David Harel (auch bekannt als Harel-Zustandsdiagramm bzw. Harel-Zustandsautomat).

Zustandsdiagramme zeigen die erlaubten Zustände und Zustandsübergänge eines Zustandsautomaten sowie die Ereignisse, die diese Übergänge auslösen. In anderen Worten: Ein Zustandsdiagramm beschreibt die erlaubten Zustände eines (Modell-)Elements, die Zustandsübergänge, die Ereignisse und die Zustände auslösen.

Wozu dient ein Zustandsdiagramm?

Zustandsdiagramme werden häufig im Bereich der Embedded Systems, also der eingebetteten Systeme, verwendet. Allerdings finden sie sich auch in anderen Bereichen. Zustandsdiagramme werden modelliert, um den gesamten Lebenszyklus von Objekten abzubilden und tragen so zu einem besseren Verständnis von zustandsbasierten Systemen bei.

Ein Beispiel eines solchen zustandsbasierten Systems ist ein Bankautomat: Nach dem Einschalten könnte beispielsweise entweder der Zustand bereit oder der Zustand defekt erreicht werden. Wird die Karte eingeschoben, erfolgt, abhängig von der Kartenprüfung, der Übergang zur Pin-Abfrage oder zum Abbruchzustand. Weitere mögliche Zustände wären Kontoabfrage, Verfügbarkeitsprüfung etc.

Zustandsdiagramme zeigen die unterschiedlichen Zustände eines Zustandsautomaten. Sie zeigen außerdem die Ereignisse, die durch die vorhandenen Zustandsübergänge ausgelöst werden.

Warum sind Zustandsdiagramme wichtig?

Zustandsdiagramme sind unersetzlich, wenn es um die Beschreibung von Systemen und ihrem möglichen Verhalten geht. Ein Beispiel hierfür sind elektronische Komponenten in Fahrzeugen, also beispielsweise Steuergeräte für Fahrerassistenzsysteme. Für diese Systeme aus dem Bereich der Embedded Systems werden in Zustandsdiagrammen mögliche (erlaubte) Zustände definiert, ebenso wie Aktivitäten, die in bestimmten Zuständen beziehungsweise im Zuge von Transitionen ausgeführt werden.

Das ESP (Elektronisches Stabilitätsprogramm) leitet einen Eingriff in die Fahrzeugführung ein, wenn Sensoren Informationen (Raddrehzahl, Gierrate etc.) weitergeben, die von einem spezifischen Sollwert abweichen. Im Folgenden wird bei betroffenen Komponenten (Bremse) ein Zustandswechsel eingeleitet.

Die Vorteile von Zustandsdiagrammen

Zustandsdiagramme sind ideal, um den Lebenszyklus von Objekten zu modellieren. Mit einem Zustandsdiagramm lässt sich also das Verhalten von Objekten während seiner gesamten Lebensdauer beschreiben. Außerdem lassen sich die verschiedenen Zustände und Zustandsübergänge darstellen sowie die Ereignisse identifizieren, durch die Zustandsübergänge ausgelöst werden. In anderen Worten: Zustandsautomaten machen das Verhalten eines Systems oder eines Artefakts sichtbar.

Download Agiles PM und Scrum kompakt Whitepaper

Wissen zum Mitnehmen

Agiles Projektmanagement und Scrum kompakt

PDF zum Download »

Mehr Downloads rund ums Thema

  • Whitepaper
  • Tipps & Tricks
  • Software

Zum Downloadcenter »

Zustände

Um Objekte als Zustandsdiagramm modellieren zu können, müssen die Zustände bestimmte Voraussetzungen erfüllen:

  • Das dargestellte Objekt befindet sich immer in genau einem der beschriebenen Zustände. In anderen Worten:
  • Das dargestellte Objekt befindet sich nie in keinem der beschriebenen Zustände.
  • Das dargestellte Objekt befindet sich nie in mehreren Zuständen gleichzeitig.

Zustände in Zustandsdiagrammen werden als abgerundete Rechtecke modelliert. Ebenso können Sie mit Namen beschriftet und optional in bis zu drei Bereiche unterteilt sein: Name, Zustandsvariablen sowie interne Ereignisse, Bedingungen und resultierende Operationen.

Ereignisse

Für ein Ereignis bestehen grundsätzlich drei mögliche Verhaltensweisen:

  • entry – löst automatisch beim Eintritt in einen Zustand aus, also bei allen hereinkommenden Übergängen.
  • exit – löst automatisch beim Verlassen eines Zustandes aus, also bei allen abgehenden Übergängen.
  • do – wird immer wieder ausgelöst, solange der Zustand nicht gewechselt wird.

Transitionen (Übergänge)

Zustandsübergänge von einem Zustand zum nächsten werden durch Ereignisse ausgelöst. Ereignisse bestehen aus einem Namen und den zugeordneten Argumenten. Ein Zustand kann Bedingungen an ein Ereignis knüpfen. Die Bedingungen müssen erfüllt sein, damit ein spezifischer Zustand durch ein Ereignis eingenommen werden kann.

Transitionen verbinden einen Quell- und einen Zielknoten. Der Transition kann eine Verhaltensspezifikation zugeordnet sein, die das Verhalten beschreibt, das ausgeführt wird, wenn die Transition durchlaufen wird. Das ausgelöste Verhalten wird Effekt genannt. Zudem gibt es sogenannte Wächterausdrücke, die die Transition schützen. “Geschützte” Transitionen können nur durchlaufen werden, wenn der Wächterausdruck wahr ist.

Es gibt zwei Arten von Transitionen:

  • Innere Transitionen bezeichnen die Reaktion auf ein Ereignis, das eine Aktivität auslöst – nicht aber einen Zustandsübergang. Da es zu keiner Zustandsänderung kommt, werden auch keine entry- oder exit-Aktivitäten ausgeführt.
  • Äußere Transitionen bezeichnen Übergänge, durch die als Reaktion auf ein Ereignis ein Zustand verlassen und ein anderer Zustand betreten wird. Im Zuge des Zustandsübergangs werden etwaige exit-Aktivitäten des Quellzustands sowie entry-Aktivitäten des Zielzustands ausgeführt. Eine spezielle äußere Transition ist die Selbsttransition, bei der der Quellzustand und der Zielzustand identisch sind.

Ein Zustandsdiagramm zeigt sowohl die Zustände eines Objekts als auch die Ursachen der Zustandsänderungen.

Ihr Zustandsdiagramm ist fertig – und dann?

Wenn die Zustände, Ereignisse und Transitionen Ihres Systems oder Artefakts definiert sind, ist der erste Schritt zur erfolgreichen Systementwicklung getan. Doch dieses Wissen muss nun all denen zugänglich gemacht werden, die Ihre Software entwickeln. Die Weiterverarbeitung der Ergebnisse entscheidet also darüber, ob Ihre Bemühungen auch Früchte tragen werden. Am besten ist es, ein entsprechendes Tool zu nutzen, mit dem Sie gemeinsam im Team arbeiten können und das allen Projektbeteiligten die Ergebnisse der Analysen und Überlegungen in Echtzeit zur Verfügung stellt.

So erstellen Sie schnell und einfach Zustandsdiagramme in der Praxis

Testen Sie objectiF RPM 30 Tage kostenlos »

objectiF RPM