Zustandsautomat

Zustände und beschriftete Übergänge dazwischen, von Start bis Ende.

1 Beispiel: Zustandsautomat

Freigabezustände von Inhalten

Der Lebenszyklus eines Dokuments vom Entwurf über die Prüfung bis veröffentlicht oder abgelehnt.

Jeder Übergang trägt das Ereignis, das ihn auslöst, denn dafür ist ein Zustandsautomat da. Der Ablehnungspfad ist im Akzent gezeichnet, damit der Leser sieht, wo Arbeit zurückspringt.

Im Editor öffnen

Was ist ein Zustandsautomat?

Ein Zustandsautomat, als Diagramm auch Zustandsdiagramm, beschreibt, in welchen Zuständen sich ein Objekt befinden kann und durch welche Ereignisse es zwischen ihnen wechselt. Die gängige Notation ist das UML-Zustandsdiagramm, das auf David Harels Statecharts von 1987 aufbaut.

Abgerundete Rechtecke sind Zustände, Pfeile Übergänge, beschriftet mit dem auslösenden Ereignis und optional einer Bedingung in eckigen Klammern. Ein gefüllter Punkt markiert den Start, ein umrandeter Punkt das Ende.

Wann ein Zustandsautomat sinnvoll ist

  • Wenn du den Lebenszyklus einer Bestellung festlegst: angelegt, bezahlt, versendet, storniert, und welche Wechsel erlaubt sind.
  • Wenn du eine Benutzeroberfläche mit vielen Modi baust und unmögliche Zustände von vornherein ausschließen willst.
  • Nicht für Abläufe aus Schritten und Entscheidungen ohne dauerhaften Zustand: Das ist ein Flussdiagramm.

So erstellst du einen guten Zustandsautomaten

  1. Benenne Zustände als Zustand, etwa „Bezahlt“, und Übergänge als Ereignis, etwa „Zahlung eingegangen“.
  2. Prüfe für jeden Zustand, ob jedes mögliche Ereignis behandelt ist.
  3. Fasse Zustände mit gemeinsamem Verhalten zu einem zusammengesetzten Zustand zusammen.
  4. Markiere Endzustände klar, damit niemand nach einem Weg aus „Storniert“ sucht.