Modeling in Color – Verbrennungsmotor II

Im vorigen Beitrag wurde ein klassisches UML-Diagramm eines Verbrennungsmotors entwickelt. Am Ende stand eine Liste mit Begriffen, die in der Domäne „Verbrennungsmotor“ auftauchen. In diesem Beitrag soll ein Diagramm nach dem „Modeling in Color“ Ansatz entwickelt werden. Abschließend ist dann die Frage zu klären, ob mit diesem Ansatz die Dynamik (die Ablaufsicht) aus dem Klassendiagramm ersichtlich wird.

Um nochmal auf den „Modeling in Color“-Ansatz einzugehen: Dieser behauptet nicht, dass nur Klassendiagramme zur Modellierung verwendet werden sollen. Es ist z.B. auch möglich, Sequenzdiagramme mmit den verwendeten Archetypen zu zeichnen. Der Ansatz behauptet aber, dass Klassendiagramme nicht nur die statische Sicht des Quellcodes darstellen, sondern dass die Teilnahme der Objekte an einer Interaktion daraus ersichtlich wird.

Als Vorgehen wurden die Begriffe aus der Domäne nach Archetypen kategorisiert. Die wichtigsten Archetypen sind die „moment-intervals“, die auch mit der Signalfarbe Rot gekennzeichnet werden. Es ist schnell ersichtlich, dass die vier Takte eines Ottomotors etwas temporäres sind, und sie deshalb die wichtigsten Vertreter dieses Archetyps in dem Beispiel sind.

Als nächstes können die Rollen identifiziert werden. Die Unterscheidung zwischen Rollen und Dingen ist mir relativ schwer gefallen, die prüfende Frage war dabei: „Wenn es eine Identität besitzt, dann ist es ein Ding“. Und jetzt stellte sich heraus, dass das Beispiel nicht ideal ist, denn wie auch in Peter Coads Buch erwähnt wird, besitzen vor allem Parteien und Orte eine Rolle, aber selten Dinge. Da im Beispiel nur Dinge vorkommen, können manche Rollen etwas konstruiert erscheinen. Es spricht aber nichts dagegen, die Dinge direkt mit dem Moment-Interval zu verbinden, wenn keine Rolle gefunden wird.

Nach der Trennung der Rollen von den Dingen bleiben nur noch Vertreter des Archetyps „Description“ über, diese sind im Beispiel auch nur spärlich vertreten, was allerdings eher am Detaillierungsgrad als am Beispiel liegt.

Die identifizierten Klassen werden mit dem passenden Stereotyp in ein Klassendiagramm eingefügt. Wenn das UML-Tool es erlaubt für Stereotypen Farben zu hinterlegen, geht das sehr schnell. Nach dem Einfügen der Beziehungen zwischen den Klassen stellt sich heraus, ob der gewählte Archetyp passt oder nicht.

Hier das fertige Klassendiagramm:

Beispiel Modeling in color

Beispiel Modeling in color

Abschließend ein Vergleich des Ergebnis des klassischen (siehe hier) und des „Modeling in Color“-Ansatzes. Zunächst ein Vergleich der Zeiten: den klassischen Ansatz habe ich in fünf Minuten erstellt, während ich für das farbige Diagramm eine Stunde gebraucht habe. Natürlich ist dadurch der klassische Ansatz weniger detailliert, aber meiner Meinung nach sind beide Diagramme hinsichtlich der Dynamik typische Vertreter ihres Ansatzes. Und da im farbigen Diagramm die Takte nicht als Methoden, sondern als Klassen, die ihren Nachfolger kennen, modelliert sind, steckt dort mehr Dynamik. Ohne Sequenzdiagramm ist die Abfolge der Takte direkt ersichtlich. Meine Bewertung: „Modeling in Color with UML“ hält, was es verspricht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.