. Softwaretechnik WS2011 - Zustandsdiagramm

Zustandsdiagramm Aufgabe B13

Umsetzungsvorschlag
CD Player
ArgoUML-Projektdatei: B13.zargo

Zusätzliche Annahmen:
Ich bin, um einen sinnvollen Endzustand zu erhalten, davon ausgegangen, dass der CD-Spieler sich nur ausschalten läßt, wenn keine CD eingelegt ist. Wenn man ihn auch mit eingelegter CD ausschalten kann, gibt es mehr Zustandsübergänge zum Endzustand und damit auch zum Startzustand.
Das Öffnen der Lade ist nur möglich, wenn man die Wiedergabe gestoppt hat. Eine gerade laufende CD kann also nicht direkt ausgeworfen werden. Auch das dient der Reduktion der Menge der Übergänge.


Anmerkung 1 von Hr. Igler zu diesem Diagramm:
Eine andere Möglichkeit, den Anfangs- und Endzustand interpretieren wäre: Endzustand = CD-Player wurde vernichtet. Bei dieser Interpretation würde man den Endzustand im Diagramm vermutlich weglassen, da dieser, z.B. in der Entwicklungsabteilung eines CD-Player-Herstellers, zunächst einmal nicht interessant sein wird.

Anmerkung 2 von Hr. Igler zu diesem Diagramm:
Im Diagramm zu Aufgabenblatt C, Teil 3 findet sich ebenfalls ein Sequenzdiagramm zu diesem Beispiel. Hier ist der Akt des CD-Einlegens/Entfernens durch eigene Zustände modelliert: die Lade ist offen, und jetzt kann der "Benutzer" bei "gefüllter" Lade die CD entnehmen oder bei leerer Laed eine neue CD einlegen". Die Begründung des Unterschieds zu meinem Diagramm liegt in unterschiedlicher Sichtweise: ich habe nur den CD-Player modelliert, ohne Berücksichtung des Benutzers. In diesem Fall weiß der CD-Player überhaupt nicht, woher die CD kommt. Erst nach dem Lade-Schließen (Benutzeraktion) wird geprüft, ob etwas eingelegt ist. Diese Prüfung habe ich in Umgangssprache an den Zustandsübergang geschrieben.
In Hr. Iglers Variante ist auch das Einlegen der CD relevant für den Blick auf das Gesamtsystem, auch wenn dieser Akt bei einem Stück Hardware nichts mit der Hardware an sich zu tun hat - wohl aber für die Modellierung des gesamten CD-Player-Ablaufprozesses relevant ist. In der Geschäftswelt könnte dies z.B. der Fluß von Daten aus der Außenwelt in die Software sein. Dies ist für die eigentliche Software nicht wichtig, wohl aber für das Verständnis des Gesamtprozesses.



Notationselemente:




Stand 20.02.2013
Historie:
18.11.2011: Erstellt
21.11.2011: im vollen Zustandsdiagramm ein paar Übergänge korrekt mit Verben benannt. "Entscheidung": Verhalten zugefügt, Anmerkung zur Positionierung der zu prüfenden Variablen. Anmerkung zu alternativer Modellierung der Start-/Endzustände.
22.11.2011: Seite offiziell online gestellt. ArgoUML-Projektdatei
30.11.2011: Anmerkung 2 by Hr. Igler und aktualisiertes Diagramm
12.12.2012: Hinweis zur Füllfarbe der Kreuzung
20.02.2013: Korrektur des Zustandsdiagramms: von "stopped" kann man die Lade öffnen, Pfeil "stop" von "playing" zu "new CD inserted" entfernt.