Zustandsdiagramme (UML)

Was du heute lernst:

  • Den Zweck von Zustandsdiagrammen zur Modellierung dynamischen Verhaltens verstehen.
  • Die grundlegenden Notationselemente (Zustand, Ereignis, Übergang) korrekt anwenden.
  • Den Lebenszyklus eines Objekts anhand von Zustandsänderungen visualisieren.

Einleitung: Ein Objekt unter Beobachtung

Jedes Objekt in einem Softwaresystem durchläuft im Laufe seines Lebens verschiedene Phasen oder Zustände. Ein Zustandsdiagramm ist das perfekte Werkzeug, um diese Zustandsänderungen und die auslösenden Ereignisse zu visualisieren. Es hilft uns zu verstehen, wie sich ein Objekt verhält und wie es auf äußere Einflüsse reagiert – von der Erstellung bis zur finalen Zerstörung. Dies ist entscheidend für die Modellierung komplexer Systeme, bei denen das Verhalten eines Objekts stark von seinem aktuellen Zustand abhängt.

Merksatz: Ein Zustandsdiagramm ist ein UML-Verhaltensdiagramm, das die Lebenszyklen von Objekten durch Zustände, Ereignisse und Übergänge grafisch darstellt.

Definition und Schlüsselkonzepte

Zustandsdiagramme visualisieren die Lebenszyklen von Objekten und deren Reaktionen auf Ereignisse.

Konzept Symbol (Textdarstellung) Bedeutung
Zustand (State)Abgerundetes RechteckEine Phase im Objektleben mit bestimmten Eigenschaften.
Ereignis (Event)Text auf ÜbergangspfeilEin Auslöser, der einen Zustandswechsel bewirkt.
Übergang (Transition)PfeilDer Wechsel von einem Zustand zum anderen, ausgelöst durch ein Ereignis.
StartzustandAusgefüllter Kreis ()Der initiale Zustand eines Objekts.
EndzustandAusgefüllter Kreis mit weiterem Kreis ()Markiert das Ende des Objektlebenszyklus.
Aktion (Action)Text auf Übergang oder im Zustand (entry/do/exit)Eine Tätigkeit, die beim Eintritt, während oder beim Verlassen eines Zustands ausgeführt wird.

Anwendungsbereiche

  • Modellierung von Objektlebenszyklen (z.B. bei Bestellungen, Benutzerkonten).
  • Beschreibung von Zustandsautomaten in der Steuerungstechnik oder Software.
  • Visualisierung von Benutzeroberflächen-Interaktionen.

Beispiel: Ein Lichtschalter

Ein einfaches Beispiel für ein Zustandsdiagramm ist ein Lichtschalter:

  • Zustände: Aus, An
  • Startzustand: Aus
  • Ereignis: Schalter betätigen
  • Übergänge:
    • Von Aus zu An (wenn Schalter betätigen)
    • Von An zu Aus (wenn Schalter betätigen)

Übungsaufgabe: Der Lebenszyklus einer E-Mail

Aufgabenstellung:
Modelliere ein Zustandsdiagramm für den Lebenszyklus einer E-Mail in einem E-Mail-Client. Berücksichtige mindestens die folgenden Zustände und Ereignisse:

  • Zustände: Posteingang, Gelesen, Gesendet, Gelöscht, Archiviert
  • Ereignisse: E-Mail öffnen, Auf ungelesen markieren, Zurück an Sender senden (z.B. Fehlermeldung), Antworten/Weiterleiten, In den Papierkorb verschieben, Aus Papierkorb wiederherstellen, In Archiv verschieben
Definiere für jeden Zustand und jedes Ereignis die entsprechenden Übergänge und stelle sicher, dass alle wichtigen Pfade abgedeckt sind. Beginne mit einem klaren Startzustand (z.B. Posteingang).

Schwierigkeitsgrad: mittel

Erwartete Bearbeitungszeit: 30 Minuten


Nächster Schritt

Nachdem wir das Verhalten einzelner Objekte modelliert haben, schauen wir uns die Interaktion mehrerer Objekte an.

Weiter zu: Sequenzdiagramm →