Zustandsdiagramm der UML 2

Verwendung

  • Fachliche Spezifikation

    • Spezifikation der Zustände und Zustandsübergänge vno Geschäftsobjekten
    • Spezifikation der Auslöser von Zustandsübergängen, z.B. Aktionen die auf Objekte angewendet werden können
  • technischer Entwurf

    • Spezifikation des Verhaltens von Objekten, interne Zustände und Übergänge
    • Spezifikation des Zugriffsprotokolls zur Nutzung von Objekten
      • Reihenfolge der Operationen
      • Protokollzustandsautomaten
  • beantwortet zentrale Frage

    • Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use-Case etc. bei welchen Ereignissen annehmen?
  • Nutzen des Diagramms / Stärken

    • präzise Abbildung eines Zustandsmodells mit Zuständen
      • Ereignissen
      • Nebenläufigkeit
      • Bedingungen
      • Ein und Austrittsaktionen
    • Schachtelung möglich

Zustandsdiagramme

  • Das System befindet sich zu jedem Zeitpunkt in genau einem Zustand
  • Eine Transition ist der Übergang von einem Ausgangs- zu einem Folgezustand
  • Der Übergang (Transition) von einem Zustand in den nächsten erfolgt ohne zeitlich Verzögerung
  • Es können parallele Abläufe modelliert werden

Anwendung

  • Beschreibung des Verhaltens von Use-Cases
    • formale Modellierung von Use-Cases
      • eindeutig und bietet weniger Interpretationsspielraum
      • es können Testfälle abgeleitet werden
  • Beschreibung des Verhaltens von Klassen
    • Attribut einer Klasse wird im Allgemeinen ein Datentyp zugeordnet
    • Wenn Datentyp eine endliche Menge von Werten besitzt
      • ergeben sich verschiedene Zustände der Klasse aus möglichen Kombinationen der Zustandsvariablen

Elemente

Notationselemente

  • Zustand wird durch Rechteck mit abgerundeten Ecken dargestellt
  • Bezeichnung des Zustands steht über der horizontalen Linie
  • Aktivitäten mit Auslösern definiert
    • entry: Eintrittsaktivität
    • exit: Austrittsaktivität
    • do: Andauernde Aktivität
  • benötigen Startzustand und Endzustand
  • nur ein Startzustand je Diagramm!

Elemente 1

  • Zustandsautomaten sind in Rahmen mit Angabe des Namens untergebracht
    • smd = state machine Diagramm, auch sm
  • Trigger sind Auslöser für Transitionen
  • Guard ist Bedingungen die wahr sein muss damit Transition ausgelöst wird
  • Aktivität ist die Aktion die bei Durchlauf der Transition ausgelöst wird

Elemente 2

  • Pseudozustände zeigen komplexe Beziehungen zwischen Zuständen einfacher

  • System kann nicht im Pseudozustand bleiben, kein Zeitverbraucht

  • Entscheidung ermöglicht Auswahl der Transition von aktuellem Ergebnis abhängig zu machen

Entscheidung

  • Kreuzung ermöglicht Zustände hintereinander zu schalten
  • Entscheidung steht vor Beginn der Transition fest

Kreuzung

  • Gabelung teilt eingehende Transitionen auf parallele Ziele auf
  • Guards und Trigger an ausgehenden Verbindungen nicht erlaubt

Gabelung

  • Vereinigung führ aufgeteilte Transitionen zusammen
  • Guards und Trigger an eingehenden Verbindungen nicht erlaubt

Vereinigung

Zustand

  • Definition
    • Grundlage: Zustand eines Objekts als Menge von Attributen und Assoziationen
    • Zustände im Zustandsdiagramm: Explizite Definition von Zuständen für gleiche Situation mit speziellen Bedingungen
    • Voraussetzung: Objekt zeit in definierten Zustand gleiches Verhalten auf Eintritt von Ereignissen hin
    • Transitionen definieren Übergänge zwischen Zuständen
  • Spezielle Zustände
    • Anfangszustand: kennzeichnet Start, einen pro Diagramm ohne Spezifikationen
    • Endzustand: kennzeichnet finalen Zustand im Zustandsdiagramm, keiner, einer oder mehrere pro Diagramm

Zustand

Zustandsarten in der fachlichen Spezifikation

  • Warten auf Ausführung einer Tätigkeit
    • Definition: Zeitraum, in dem auf Beginn einer Tätigkeit durch Akteur gewartet wird
    • Ziel: Auslöser für Akteur, tätig zu werden
    • Beispiel
      • ME eingegangen: Mitarbeiter soll dieses in Bestand einarbeiten
  • Ausführung einer Tätigkeit
    • Definition: Zeitraum, in dem ein Akteur eine zusammenhängende Tätigkeit ausführt
    • Ziel: Ausschließen paralleler Ausführung - Akteur, der Zustand betritt, führt längere Tätigkeit aus; kein anderer
    • Einschränkung: nicht notwendig, wenn nur ein Akteur für Tätigkeit infrage kommt - dann genügen Zustände von Typ 1

Transition

  • Übergänge zwischen zwei Zuständen
  • optionale Spezifikation
  • Trigger: Angabe eines Ereignisses, das Transition aktiviert
  • Guard: Angabe einer Bedingung die für Aktivierung erfüllt sein muss
  • Effect: Angabe einer Aktion die bei Aktivierung ausgeführt wird
  • Beispiel:
    • Trigger: Status ändern
    • Guard: Ausleihwunsch liegt vor

Transition

Ereignis

  • Definition: Auslöser eines Zustandsübergangs

  • Anwendung: Aktion eines Akteurs mit Bezug auf Objekt

  • Beispiel

    • Bearbeiter zuweisen, Antwort senden, Rückfrage stellen, Rückfrage beantworten
  • Ereignistypen

    • SignalEvent: Empfangen eine Signals durch ein Objekt, asynchrone Nachricht
    • CallEvent: Aufruf einer Operation auf ein Objekt
    • TimeEvent: Eintritt eines Zeitpunkts nach absoluter oder relativer Spezifikation
    • ChangeEvent: Änderung von Attributwerten des Objekts, das spezifizierte Bedingungen wahr sind

Ereignis

Entscheidung

  • Verwendung: Alternative Zustandsübergänge je nach Ergebnis eines Triggers
  • Vorgehen
    • Entscheidung
    • Angabe des Triggers für Transition zwischen Ausganszustand und Entscheidung
    • Angabe von Guards für Transitionen zwischen Entscheidungen und Zielzuständen

Entscheidung

Abbildung von Zuständen im Klassenmodell

Abb1

Abb2

Zusammengesetze Zustände

  • Definition
    • Unterzustände
    • eingehende und ausgehende Transitionen können aus zusammengesetzten Zuständen bestehen
    • bei eingehender Transition muss zusammengesetzter Zustand den Anfangszustand definieren
  • Verwendung
    • Zusammenfassung ähnlicher Zustände
    • häufig solcher mit gleich ausgehenden Transitionen
Last modified 2022.06.07