Menu Close

Objektorientierte Analyse und Design (Vorlesung 8)

Beispiel: Tic-Tac-Toe

  • Steine:
    • Umsetzung ohne Steine ist möglich in der Umsetzung aber missverständlich im Design. Beim Schachspiel z.B. brauch man eigene Stein-Objekte mit ihren eigenen Funktionen.
  • Brett:
    • Besteht aus seinen Feldern, die mittels x,y-Koordinaten identifiziert werden
  • Spieler
    • Spieler darf keine eigene Farbe / Symbol als Attribut haben, da er sonst keine zwei Spiele gleichzeitig ( andere Spieltische ) spielen könnte. D.h. eine Verbindung zwischen Spieler und Stein muss erzeugt werden ( Farbe des Steins → Spieler )
  • Spieler-Spiel
    • Zwischen Spieler und Spiel enthält eine Assoziationsklasse ein Attribut mit der Information: „Wer hat welchen Stein in welchem Spiel?“

Assoziationsklassen

  • Kann es nur dort geben, wo es auch Assoziationen gibt
  • Dient dazu um besondere individuelle Informationen zu speichern, die in keine der 2 verbundenen Klassen gehört, aber nicht irrelevant sind

Constraints

  • zu dt. „Einschränkung“
  • Auch für Assoziationen möglich
  • Beispiel: Polygon
    • Vier Punkte, die eine definierte Reihenfolge haben.
    • Ohne die Reihenfolge lässt sich das Polygon beliebig darstellen.
    • Ein Constraint erlaubt es einheitliche Objekte zu erstellen.
  • Beispiel: Vergütung
    • Je nach Typ wird durch den Constraint dem Vergütungs-Berechtigten eine entsprechende Vergütung zukommen.
    • Professor bekommt Professoren-Vergütung
    • Tutor bekommt Tutoren-Vergütung

Höherwertige Assoziationen

  • Oft sind vermeintliche 3-er Beziehungen in Wahrheit drei 2-er Beziehungen!
  • 3-er und höherwertige Assoziationen sollten, falls möglich, vermieden werden !
  •  Oft gibt es Alternativen zur 3-er bzw. höherwertigen Assoziation durch die Einführung einer Klasse statt 3er-Beziehung
  • Bsp.: 
    • Fußballspieler – Mannschaft – Saison
    • Fußballspieler R spielt in Saison X bei Mannschaft A
    • Fußballspieler R spielt in Saison X+1 bei Mannschaft B

Zusatzfragen

  • Sie sitzen in einer Vorlesung. Wo ist die Beziehung zu Ihrem Professor?
  • Was verändert sich, wenn 2 Professoren eine Masterarbeit betreuen?
    • Eine Zwischenklasse anstelle der Assoziationsklasse muss eingeführt werden

[Student]1 ↔ 0..1 [MA] 0..* ↔ 0..2 [Professor]

  • Was verändert sich, wenn wir darstellen wollen, dass Lehrbeauftragte zu mehreren Fachbereichen gehören können, Professoren aber nur zu einem?
    1. Einführung einer Klasse Lehrbeauftragter (LB)
    2. Die Assoziation Fachbereich ↔ Dozent muss aufgelöst werden
    3. Neue Assoziationen: Fachbereich ↔ Professor & Fachbereich ↔ LB
    4. Dozent vererbt seine Fähigkeit zu unterrichten an LB und Professor
    5. Dozent wird um ein Attribut Fachbereich ergänzt
  • In Lehrveranstaltungen werden Werte von Attributen redundant gespeichert (In  der OOAD-LV von Herrn Weber, als auch in der OOAD-LV von Herrn Hahn stehen Titel und ECTS). Wie könnte man das vermeiden? stehen Titel und ECTS). Wie könnte man das vermeiden?
    • Einführung einer Klasse Modulhandbuch und Ausgliedern der Attribute

Schreiben Sie einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index