Aus Zustandsdiagramm ein Klassendiagramm erstellen?
-
Guten Abend, ich habe die Aufgabe erhalten, einen Zustandsdiagramm eines Getränke Automats nun in ein Klassendiagramm zu modellieren und später als GUI zu entwickeln.
Ich habe mein Zustandsdiagrammen mit allen Möglichkeiten, nun wie geht man hier vor, wie mache ich daraus ein Klassendiagramm? Da ich sowas zum Ersten mal mache wollte ich euch um Rat fragen zum Thema Software Architektur.MfG
-
zustandsdiagramm (beschreibung von state-machines, nicht objektorientiert) und klassendiagramm (klassen, vererbungshierarchie, schnittstellen, 100% objektorientierung) sind zwei grundverschiedene dinge. ich wüsste jetzt keinen weg, wie man das eine auf's andere abbilden kann.
-
fricky, vollkommen richtig, und für ihn / sie vollkommen nutzlos ^^.
Wir haben in der Schule bereits die selbe aufgabe berarbeitet, und am leichtesten ist es erstmal wenn du dir überlegst was den gespeichert werden muss.
Du hast ja verschiedene Zustände, und in diesen wird ja z.B. geld eingeworfen und das Guthaben erhöt ( ich gehe jetzt mal von meiner aufgabe aus die genauso klingt wie deine ), also hast du schonmal nen guthaben und wenn dus ganz schön machen willst nen Kassen objekt das dieses guthaben verwaltet.
Dann gibt es ja noch das getränkt, dieses muss gelagert werden also gibts nen Lager objekt mit vielen waren ( Array? ) und so weiter ^^ immer schön dranbleiben
-
Prinzipiell kannst du so anfangen, dass du sämtliche Substantive als mögliche Klasse ansiehst (Doppelungen aufgrund verbaler Unschärfen solltest du rauslassen)
Dann würd ich schauen, welche dieser Begriffe direkte Abhängigkeiten zu anderen haben. So ist z.B. die Anzahl von Colaflaschen eher ein Attribut denn eine eigenständige Klasse.
Der nächste Schritt wäre eine Generalisierung. Du kannst schauen, welche Klassen weitgehend gleichförmig oder gar identisch sind.
So ist eine Colaflasche, aber auch eine Mineralwasserflasche eine Flasche, ist eine Flasche, ..
Verifizieren könntest du die gefundenen Klassen durch ein Sequenzdiagramm.. Alles was darin nicht als Instanz auftaucht, wird wohl auch nicht gebraucht..