UML Zustandsdiagramm: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== UML Zustandsdiagramm == 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…“ |
Keine Bearbeitungszusammenfassung |
||
| (16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
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'''. | |||
Ein '''Zustandsdiagramm''' (State Machine Diagram) zeigt, in welchen | |||
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 | Zustandsdiagramme gehören zu den '''[[UML#Verhaltensdiagramme|Verhaltensdiagrammen]]''' der [[UML]]. | ||
== Wofür nutzt man Zustandsdiagramme? == | |||
* Darstellung des Lebenszyklus eines Objekts | * Darstellung des Lebenszyklus eines Objekts | ||
* Beschreibung von Abläufen, die stark von Bedingungen abhängen | * Beschreibung von Abläufen, die stark von Bedingungen abhängen | ||
| Zeile 12: | Zeile 10: | ||
* Verdeutlichung, wie Ereignisse den Zustand eines Objekts verändern | * Verdeutlichung, wie Ereignisse den Zustand eines Objekts verändern | ||
== Bestandteile == | |||
=== Zustand (State) === | |||
* dargestellt als abgerundetes Rechteck | * dargestellt als abgerundetes Rechteck | ||
* beschreibt einen stabilen Zustand eines Objekts | * beschreibt einen stabilen Zustand eines Objekts | ||
Beispiele: „Eingeloggt“, „Wartend“, | Beispiele: „Eingeloggt“, „Wartend“, „Bezahlt“ | ||
[[Datei:Zd zustand.png|rahmenlos|links|upright=2|alternativtext=Zd zustand|Zd zustand]] | |||
==== Startzustand | <br clear="all" /> | ||
=== 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 === | |||
* 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) === | |||
* 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) === | |||
* Aktion, Benutzerinteraktion oder interne Systemreaktion | * Aktion, Benutzerinteraktion oder interne Systemreaktion | ||
* löst einen Zustandswechsel aus | * löst einen Zustandswechsel aus | ||
=== | == 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 == | |||
* übersichtliche Darstellung komplexer Abläufe | * übersichtliche Darstellung komplexer Abläufe | ||
* ideal für objektorientierte Modellierung | * ideal für objektorientierte Modellierung | ||
| Zeile 46: | Zeile 96: | ||
* sehr gut geeignet für Verhaltensanalyse und UI-Logik | * 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.''' | '''Ein Zustandsdiagramm zeigt, wie ein Objekt durch Ereignisse von einem Zustand in den nächsten wechselt.''' | ||
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.
