Einsendeaufgaben EA-Besprechung | 31751 | WS 2018/19 | EA2 00818 | 03.01.2019

Da der Abgabetermin in zwei Wochen ist und hier noch keine Lösung drin ist, mache ich einfach mal den Anfang. Ihr findet mein UML Diagramm im Anhang und ich möchte ein paar Erklärungen dazu direkt anfügen. Über Kritik / Feedback freue ich mich natürlich auch :)

1. Mitarbeiter ist eine abstrakte Klasse, da es keine Objekte vom Typ Mitarbeiter geben kann. Daher sind Rezeptionist, Fahrer und Hausangestellter Kindsklassen von Mitarbeiter und haben selbst nur die spezifischen Attribute.
2. Bei Zimmer habe ich zuerst überlegt, ob Standardzimmer und Suite Kindsklassen werden müssten. Dann ist mir aufgefallen, dass diese beiden Klassen allerdings weder eigene Attribute noch Methoden besäßen. Daher habe ich Suite als boolesches Attribut eines Zimmers eingeführt, da es auch nur Standardzimmer oder Suite sein kann und keine weitere Option existiert. Doppelzimmer ist kein Attribut, da sich dieses direkt aus der Anzahl Betten errechnen soll. Daher Anzahl Betten als Attribut eingeführt und die Methode istDoppelzimmer() ergänzt, die einen booleschen Wert als Ergebnis liefert (was nicht angegeben werden musste).
3. Bei der Buchung ist die Aufenthaltsdauer ebenfalls kein Attribut, sondern das Ergebnis der Methode berechneDauer(), die die Dauer anhand von An- und Abreisedatum errechnet. Zudem ist die Buchungsnummer als String und nicht als Integer angegeben, da sie im Aufgabentext als "alphanumerisch", d.h. evtl. mit Buchstaben beschrieben ist.
4. Bei einem Gast wird die Anzahl der Buchungen auch über eine Methode errechnet und nicht als Attribut hinterlegt. Sonst müsste bei jeder neuen Buchung eines bestehenden Gastes auch ein Attribut im Gast-Objekt bearbeitet werden und das ist keine gute Lösung. Auch hier ist die Nummer alphanumerisch, also ein String.
5. Bei der Hotelmarke gleiches Spiel mit der Anzahl an Häusern.

Wenn ihr Fragen oder Vorschläge zu dem UML Diagramm habt, einfach her damit.
 

Anhänge

  • UML Diagramm.png
    UML Diagramm.png
    336 KB · Aufrufe: 112
Hi, muss sagen: Insgesamt ziemlich gut gemacht, mir sind jedoch ein paar Dinge aufgefallen:
1. Jedes Haus hat mehrere Rezeptionisten. Mehrere = größer als 1. Somit also mind. 2 und nicht 1, wie bei dir.
2. Ich weiß nicht, ob die Weihnachtsfeier hierbei eine Rolle spielt, ein Vorschlag wäre aber, diese auch als Klasse zu modellieren und ihr als Klassenattribut so etwas wie z.B. ein Jahr mitzugeben. Damit würdest du automatisch einschränken, das diese nur ein mal im Jahr stattfindet. (Aber zugegebenermaßen: Die sind bei den Aufgabenstellungen gerne mal etwas ungenau^^)
3. Würde Hausangestellter - Haus auch so modellieren, bin mir aber nicht sicher, ob es nicht auch Hausangestellte geben kann, die in keinem Haus arbeiten.
 
Hi, vielen Dank für dein Feedback.
1. Jedes Haus hat mehrere Rezeptionisten. Mehrere = größer als 1. Somit also mind. 2 und nicht 1, wie bei dir.
Hatte ich auch kurz überlegt, allerdings erinnere ich mich im Skript nicht ein einziges mal 2..* oder ähnliches, daher bin ich mal auf 1..* runter gegangen.
2. Ich weiß nicht, ob die Weihnachtsfeier hierbei eine Rolle spielt, ein Vorschlag wäre aber, diese auch als Klasse zu modellieren und ihr als Klassenattribut so etwas wie z.B. ein Jahr mitzugeben. Damit würdest du automatisch einschränken, das diese nur ein mal im Jahr stattfindet. (Aber zugegebenermaßen: Die sind bei den Aufgabenstellungen gerne mal etwas ungenau^^)
Die Information habe ich ehr geplante Verwirrung interpretiert, die auch immer mal wieder in die Aufgabenstellungen eingebaut wird. Ich konnte auch keine wirklich logischen Zusammenhänge zur Weihnachtsfeier als erkennen und sie "passt" insgesamt nicht zu den restlichen Klassen. Daher habe ich sie weggelassen.
3. Würde Hausangestellter - Haus auch so modellieren, bin mir aber nicht sicher, ob es nicht auch Hausangestellte geben kann, die in keinem Haus arbeiten.
Hier habe ich aus dem logischen Kontext heraus die 1..* gewählt, weil ein Hausangestellter ohne Haus für mich keinen Sinn ergibt ;) Es ist in der Aufgabenstellung aber nur gesagt, dass er auch mehrere haben kann, aber keine Mindestangabe. Ich denke hier gehen ggf. auch beide Lösungen durch.
 
Gibts auch nicht.

FunFact: Das war eine Aufgabe aus meiner Klausur. Eine von 4, glaub die hatte 20 Punkte. Nur, damit ihr ein Gefühl für die Zeit kriegt.

Doch. Kurs "Objektorientierte Systemanalyse", Kurseinheit 2, Seite 34, Tab 4.3 ganz unten auf der Seite.
 
Gibts auch nicht.

FunFact: Das war eine Aufgabe aus meiner Klausur. Eine von 4, glaub die hatte 20 Punkte. Nur, damit ihr ein Gefühl für die Zeit kriegt.

Warum sollte es sowas nicht geben?
Gesetzt den Fall, man möchte einen Anwendugsfall z.B. für Geldtransporter , dort ist ja Pflicht, dass sie niemals ohne Begleitung fahren .
Das ist also 1..* schon mal falsch, also ICH würde es so interpretieren.
 
Weil der Transporter auch von einem gefahren werden kann.
Ich habe gerade die alten EAs von Systemanalyse durchgeguckt, nur 0,1, *, bei Einschränkungen immer mit { }
 
Zurück
Oben