UML Klassendiagramme Designfrage

TheRepatriate

Lt. Junior Grade
Registriert
Nov. 2008
Beiträge
258
Hallo zusammen,

bin gerade dabei für eine Klausur zu lernen bei der wir unter anderem UML-Klassendiagramme erstellen sollen. Nun bin ich mir bei einer Sache nicht ganz sicher und dachte mir, es gibt hier sicher ein paar UML Experten :)

Ich beziehe mich im Folgenden einfach mal beispielhaft auf eine Verwaltungssoftware für eine Autovermietung, die Kunden, Mietverträge, Fahrzeuge verwaltet (die Modelle haben nicht den Anspruch vollständig zu sein, sondern sollen nur das Problem verdeutlichen :))

Die Frage kommt auf, wenn zwei Sachverhalte zusammentreffen, die da wären:
1) wir haben eine Klasse "Vorlage" und eine Klasse "Konkretes Objekt" (Klasse nicht Instanz). Ich meine hier zum Beispiel die Klassen: "Fahrzeugmodell" und "KonkretesFahrzeug" oder "Werk" und "Buch".
2) 2) Es gibt eine Spezialisierung in Unterklassen. Um bei dem Fahrzeug-Beispiel zu bleiben nenne ich die Klassen mal "PKW", "LKW" und "Truck".

Die eigentliche Frage ist nun, wo die Spezialisierung ansetzen sollte, also an der konkreten- oder an der "Vorlage"-Klasse. Ich habe in der Uni beide Versionen gesehen, bin mir aber nicht sicher ob beide Versionen richtig sind.
Hier nochmal die Beispiele zur Verdeutlichung:

Version 1)
var1.png


Version 2)
var2.png


Ich weiß nun nicht, ob diese "Designentscheidung" situationsabhängig ist, oder ob einer der beiden Versionen eventuell ganz falsch ist.
Ich bin für jede Hilfe dankbar!
LG
 
Ich würde zur Version 2 tendieren.

Von welchem Typ ein Fahrzeug ist, hängt vom Modell und nicht vom Fahrzeug selbst ab. Du kannst ja nicht zwei VW Golf haben, von dem der eine ein PKW und der andere ein LKW ist.

Das deckt sich laut meinen Unterlagen übrigens auch mit der Ansicht meines ehemaligen Software-Engineering-Profs. ;)
 
Klingt logisch, nur Frage ich mich dann, ob nicht eventuell eine Instanz der KLasse FahrzeugExemplar die verbunden ist mit einer Instanz der Klasse "PKW" gegebenenfalls andere Attribute aufweisen muss, als eine Instanz der KLasse FahrzeugExemplar, die mit einer Instanz der Klasse LKW verbunden ist... Confused :)
 
also.. mir fällt zunächst die folgende Regel ein:
"wenn du dich zwischen zwei Dingen nicht entscheiden kannst, wähle keins."

Es scheint hier ganz dieser Fall zu sein, den beide Lösungen sind offensichtlich nicht gut genug.

Was ich raten kann ist, den wirtschaftlichen Prozess der realen Welt zu hinterfragen und dann zu entscheiden welches Design mehr Flexibilität und Entscheidungsfreiheiten für eine Software mit sich bringt.

Eine Überlegung wäre auch nachzuvollziehen, wie nah ich als Kunde mir die Auswahl wünsche .. also eher gleich zu Beginn am Mietvertrag oder eher (.. und diesbezüglich unwahrscheinlicher) am Ende eines Ausfüllprozesses??)
 
Zurück
Oben