UML Zustandsdiagramm: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(10 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 31: Zeile 31:


=== Übergang (Transition) ===
=== Übergang (Transition) ===
* Pfeil zwischen zwei Zuständen   
* wird durch einen '''Pfeil zwischen zwei Zuständen''' dargestellt  
* wird durch ein Ereignis ausgelöst 
* beschreibt, unter welchen Bedingungen ein Objekt von einem Zustand in einen anderen wechselt
Beispiel: Klick auf „Login“ → Wechsel zu „Eingeloggt“
 
[[Datei:Ad kontrollfluss.png|rahmenlos|links|upright=2|alternativtext=Ad kontrollfluss|Ad kontrollfluss]]
'''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" />
<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 41: Zeile 54:
* löst einen Zustandswechsel aus
* löst einen Zustandswechsel aus


== Beispiel ==
== Beispiel ZD einer Bestellung ==
Bild folgt
[[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“

Zd zustand
Zd zustand


Startzustand

  • ausgefüllter schwarzer Kreis
  • zeigt den ersten Zustand im Ablauf
Ad Startknoten
Ad Startknoten


Endzustand

  • Kreis mit Punkt darin
  • markiert das Ende des Zustandsmodells
Ad Startknoten
Ad Startknoten


Ü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.

Zustandsdiagramm Übergang
Zustandsdiagramm Übergang


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

Zd bestellung
Zd 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.