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.
Definition und Schlüsselkonzepte
Zustandsdiagramme visualisieren die Lebenszyklen von Objekten und deren Reaktionen auf Ereignisse.
| Konzept | Symbol (Textdarstellung) | Bedeutung |
|---|---|---|
| Zustand (State) | Abgerundetes Rechteck | Eine Phase im Objektleben mit bestimmten Eigenschaften. |
| Ereignis (Event) | Text auf Übergangspfeil | Ein Auslöser, der einen Zustandswechsel bewirkt. |
| Übergang (Transition) | Pfeil | Der Wechsel von einem Zustand zum anderen, ausgelöst durch ein Ereignis. |
| Startzustand | Ausgefüllter Kreis (●) | Der initiale Zustand eines Objekts. |
| Endzustand | Ausgefü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
AuszuAn(wennSchalter betätigen) - Von
AnzuAus(wennSchalter betätigen)
- Von
Ü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
Posteingang).
Schwierigkeitsgrad: mittel
Erwartete Bearbeitungszeit: 30 Minuten