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

Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

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.