UML Zustandsdiagramm: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
Es beschreibt das Verhalten eines einzelnen Objekts abhängig von Ereignissen. | Es beschreibt das Verhalten eines einzelnen Objekts abhängig von Ereignissen. | ||
Zustandsdiagramme gehören zu den '''Verhaltensdiagrammen''' der UML. | Zustandsdiagramme gehören zu den '''[[UML#Verhaltensdiagramme|Verhaltensdiagrammen]]''' der [[UML]]. | ||
== Wofür nutzt man Zustandsdiagramme? == | == Wofür nutzt man Zustandsdiagramme? == | ||
| Zeile 16: | Zeile 16: | ||
* beschreibt einen stabilen Zustand eines Objekts | * beschreibt einen stabilen Zustand eines Objekts | ||
Beispiele: „Eingeloggt“, „Wartend“, „Bezahlt“ | Beispiele: „Eingeloggt“, „Wartend“, „Bezahlt“ | ||
[[Datei:Zd zustand.png|rahmenlos|links|alternativtext=Zd zustand|Zd zustand]] | [[Datei:Zd zustand.png|rahmenlos|links|upright=2|alternativtext=Zd zustand|Zd zustand]] | ||
<br clear="all" /> | |||
=== Startzustand === | === Startzustand === | ||
* ausgefüllter schwarzer Kreis | * ausgefüllter schwarzer Kreis | ||
* zeigt den ersten Zustand im Ablauf | * zeigt den ersten Zustand im Ablauf | ||
[[Datei:Ad startknoten.png|rahmenlos|links|upright=2|alternativtext=Ad Startknoten|Ad Startknoten]] | |||
<br clear="all" /> | |||
=== Endzustand === | === Endzustand === | ||
* Kreis mit Punkt darin | * Kreis mit Punkt darin | ||
* markiert das Ende des Zustandsmodells | * markiert das Ende des Zustandsmodells | ||
[[Datei:Ad ende.png|rahmenlos|links|upright=2|alternativtext=Ad Startknoten|Ad Startknoten]] | |||
<br clear="all" /> | |||
=== Übergang (Transition) === | === Übergang (Transition) === | ||
* Pfeil zwischen zwei Zuständen | * wird durch einen '''Pfeil zwischen zwei Zuständen''' dargestellt | ||
* | * beschreibt, unter welchen Bedingungen ein Objekt von einem Zustand in einen anderen wechselt | ||
'''Beispiel:''' | |||
Durch vollständiges Bezahlen wechselt die Bestellung in den Zustand '''Bezahlt'''. | |||
[[Datei:Zd transition.png|rahmenlos|links|upright=2|alternativtext=Zustandsdiagramm Übergang|Zustandsdiagramm Übergang]] | |||
<br clear="all" /> | |||
{| class="wikitable" style="width:100%;" | |||
! UML-Teil !! Heißt im Bestellungsbeispiel !! Kurze Erklärung | |||
|- | |||
| '''operation''' (Trigger) || <code>zahlungEingegangen</code> || Ereignis, das den Zustandswechsel auslöst | |||
|- | |||
| '''[bedingung]''' (Guard) || <code>[vollstaendigBezahlt]</code> || Voraussetzung, die erfüllt sein muss, damit der Übergang erfolgt | |||
|- | |||
| '''/verhalten''' (Aktion) || <code>/zahlungBuchen()</code> || Aktion, die während des Zustandswechsels ausgeführt wird | |||
|} | |||
=== Ereignis (Event) === | === Ereignis (Event) === | ||
| Zeile 35: | Zeile 54: | ||
* löst einen Zustandswechsel aus | * löst einen Zustandswechsel aus | ||
== Beispiel == | == Beispiel ZD einer Bestellung == | ||
[[Datei:Zd bestellung.png|rahmenlos|links|upright=3|alternativtext=Zd bestellung|Zd bestellung]] | |||
<br clear="all" /> | |||
=== Beschreibung des Zustandsdiagramms === | |||
Das Zustandsdiagramm zeigt den '''Lebenszyklus einer Bestellung''' von der Erstellung bis zum Abschluss. | |||
Der Ablauf beginnt mit dem '''Startknoten''', von dem aus die Bestellung in den Zustand '''Neu''' übergeht. | |||
==== Zustand „Neu“ ==== | |||
Im Zustand '''Neu''' wurde die Bestellung angelegt, jedoch noch nicht bezahlt. | |||
Geht eine Zahlung ein und ist die Bestellung vollständig bezahlt, wechselt der Zustand durch den Übergang | |||
<code>zahlungEingegangen [vollstaendigBezahlt] / zahlungBuchen()</code> | |||
in den Zustand '''Bezahlt'''. | |||
Dabei wird die Zahlung verbucht. | |||
==== Zustand „Bezahlt“ ==== | |||
Im Zustand '''Bezahlt''' wurde der vollständige Rechnungsbetrag beglichen. | |||
Durch das Ereignis '''wareVersenden''' wechselt die Bestellung in den Zustand '''Versendet'''. | |||
==== Zustand „Versendet“ ==== | |||
Im Zustand '''Versendet''' wurde die Ware an den Kunden verschickt. | |||
Nach Abschluss der Lieferung erfolgt der Übergang | |||
<code>lieferungAbgeschlossen / bestellungArchivieren()</code> | |||
in den Zustand '''Abgeschlossen'''. | |||
Dabei wird die Bestellung archiviert. | |||
==== Zustand „Abgeschlossen“ ==== | |||
Der Zustand '''Abgeschlossen''' kennzeichnet eine vollständig abgewickelte Bestellung. | |||
Nach diesem Zustand endet der Lebenszyklus der Bestellung mit dem '''Endknoten'''. | |||
== Vorteile == | == Vorteile == | ||
Aktuelle Version vom 27. Januar 2026, 13:10 Uhr
Ein Zustandsdiagramm (State Machine Diagram) zeigt, in welchen Zuständen sich ein Objekt befinden kann und wie es von einem Zustand in einen anderen wechselt. Es beschreibt das Verhalten eines einzelnen Objekts abhängig von Ereignissen.
Zustandsdiagramme gehören zu den Verhaltensdiagrammen der UML.
Wofür nutzt man Zustandsdiagramme?
- Darstellung des Lebenszyklus eines Objekts
- Beschreibung von Abläufen, die stark von Bedingungen abhängen
- Modellierung dynamischer Systeme (z. B. Automaten, UI-Zustände, Workflow-Schritte)
- Verdeutlichung, wie Ereignisse den Zustand eines Objekts verändern
Bestandteile
Zustand (State)
- dargestellt als abgerundetes Rechteck
- beschreibt einen stabilen Zustand eines Objekts
Beispiele: „Eingeloggt“, „Wartend“, „Bezahlt“

Startzustand
- ausgefüllter schwarzer Kreis
- zeigt den ersten Zustand im Ablauf

Endzustand
- Kreis mit Punkt darin
- markiert das Ende des Zustandsmodells

Übergang (Transition)
- wird durch einen Pfeil zwischen zwei Zuständen dargestellt
- beschreibt, unter welchen Bedingungen ein Objekt von einem Zustand in einen anderen wechselt
Beispiel: Durch vollständiges Bezahlen wechselt die Bestellung in den Zustand Bezahlt.

| UML-Teil | Heißt im Bestellungsbeispiel | Kurze Erklärung |
|---|---|---|
| operation (Trigger) | zahlungEingegangen |
Ereignis, das den Zustandswechsel auslöst |
| [bedingung] (Guard) | [vollstaendigBezahlt] |
Voraussetzung, die erfüllt sein muss, damit der Übergang erfolgt |
| /verhalten (Aktion) | /zahlungBuchen() |
Aktion, die während des Zustandswechsels ausgeführt wird |
Ereignis (Event)
- Aktion, Benutzerinteraktion oder interne Systemreaktion
- löst einen Zustandswechsel aus
Beispiel ZD einer Bestellung

Beschreibung des Zustandsdiagramms
Das Zustandsdiagramm zeigt den Lebenszyklus einer Bestellung von der Erstellung bis zum Abschluss.
Der Ablauf beginnt mit dem Startknoten, von dem aus die Bestellung in den Zustand Neu übergeht.
Zustand „Neu“
Im Zustand Neu wurde die Bestellung angelegt, jedoch noch nicht bezahlt. Geht eine Zahlung ein und ist die Bestellung vollständig bezahlt, wechselt der Zustand durch den Übergang
zahlungEingegangen [vollstaendigBezahlt] / zahlungBuchen()
in den Zustand Bezahlt. Dabei wird die Zahlung verbucht.
Zustand „Bezahlt“
Im Zustand Bezahlt wurde der vollständige Rechnungsbetrag beglichen. Durch das Ereignis wareVersenden wechselt die Bestellung in den Zustand Versendet.
Zustand „Versendet“
Im Zustand Versendet wurde die Ware an den Kunden verschickt. Nach Abschluss der Lieferung erfolgt der Übergang
lieferungAbgeschlossen / bestellungArchivieren()
in den Zustand Abgeschlossen. Dabei wird die Bestellung archiviert.
Zustand „Abgeschlossen“
Der Zustand Abgeschlossen kennzeichnet eine vollständig abgewickelte Bestellung. Nach diesem Zustand endet der Lebenszyklus der Bestellung mit dem Endknoten.
Vorteile
- übersichtliche Darstellung komplexer Abläufe
- ideal für objektorientierte Modellierung
- zeigt klar, wann welcher Zustand gültig ist
- sehr gut geeignet für Verhaltensanalyse und UI-Logik
Kurzmerksatz
Ein Zustandsdiagramm zeigt, wie ein Objekt durch Ereignisse von einem Zustand in den nächsten wechselt.
