Objektorientierte Analyse und Design (Vorlesung 7)

Beispiel „Hochschulverwaltung“

  • Aufgaben:
    1. Klassen und Attribute identifizieren
    2. Generalisierungs und Spezialisierungs-Beziehungen identifizieren
    3. Klassendiagramm anfertigen
  • Substantivmethode
    • Hochschulverwaltung
    • Personengruppen
    • Hochschule
    • Semester
    • Lehrveranstaltungen
    • Angestellte
      • Professoren
      • Labor-Ingenieure
      • Lehrbeauftragte
      • Sekretärinnen
      • Tutoren
      • Gehaltskonto
    • Dozenten
      • Akademischer Titel
      • Anzahl Semesterwochenstunden (SWS)
    • Studenten (auch als Tutor möglich )
      • Matrikelnummer
    • Person
      • Namen
      • Geburtsdatum
      • Geburtsort

Polymorphie

  • Ein Objekt hat mehrere Typen bzw. Klassen und all deren Merkmale

Wechsel von Klassen innerhalb der Klassenhierarchie

  • Petra, die eine Stundentin ist, und nun ihren Typen innerhalb der Hierarchie ändert ( von Student → Studentischen Tutor ) dann muss sein Objekt zerstört und neu erzeugt werden
  • Der Laboringenieur Peter wird nun Lehrbeauftragter. Für ihn wird ein zweites Objekt des Typen Lehrbeauftragter angelegt, da er ja auch gleichzeitig noch Laboringenieur ist.

Assoziationen

  • Keine genauere Definition, d.h. Klassen „kennen sich“
  • Assoziationen werden zwar über Pointer und Pointerfelder realisiert ( aber als Assoziationen modelliert !! )
  • Tätigkeiten
    • Beschriftung der Assoziation =  Beschreibung einer Tätigkeit
    • Assoziationen haben einen ausgefüllten Pfeil neben dem Namen stehen, der Pfeil steht für die Leserichtung der Tätigkeit „X arbeitet für Y“
  • Die Assoziation zwischen Personal und seiner eigenen Klasse nennt man „Zyklische Assoziation„.
  • Wenn mehrere Assoziationen zwischen zwei Klassen bestehen (z.B.: hat Aktien von) dann sind dies auch vollwertige Assoziation und werden mit einer eigenen Linie dargestellt.
  • Navigationsrichtung
    • Wer kennt wen?
  • Rollen
    • Firma hat in der Assoziation „Firma – Person“ die Rolle „Arbeitgeber“.
    • Person hat die Rolle „Arbeitnehmer“

Analyseklassen-Diagramm

  • Nur Klassen, Assoziationen und Attribute
  • Keine Methoden und keine Assoziationsrichtungen oder Multiplizäten

Designklassen-Diagramm

  • Vollständiges Klassendiagramm

Navigationsrichtung

  • Teil der Assoziation
  • Kein Zeichen = unspezifiziert
  • Kreuz = verbotene Navigationsrichtung
  • Die Navigationsrichtung ist nicht das gleiche wie die Leserichtung!
  • Bsp.: Der Auftrag kennt seine Artikel, die Artikel kennen aber ihre Aufträge nicht

Multiplizität

  • Das Ausdrücken von Mengen-Beziehungen bei Assozitiationen
  • Bsp.:„Dreieck braucht drei Ecken“, „Firma braucht mindestens einen Angestellten“

Interpretationsrichtung:  

  • x kennt m mal y 
  • y kennt n mal x

Finden von Assoziationen

  • „Schauen was getan wird“
  • Filtern nach relevanten Aktivitäten

Modellierungs-Regeln

  • Kein Pointer-Attribut verwenden, sondern graphisch mit Assoziationen darstellen
    • übersichtlicher
    • Unabhängigkeit von Programmiersprachen
  • Multiplizitäten sollten angegeben werden
    • Welche Attribute werden benötigt (Pointer / Container)
  • Leserichtung angeben wenn nicht von links nach rechts / oben nach unten
  • Implementierung geschieht später

Ende: Seite 176

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.