Übungen Assoziationen und Kardinalitäten

Aus Informatik
Wechseln zu: Navigation, Suche

Kontrollfragen

  1. Was beschreibt eine Assoziation in der OOM?
  2. Wir wird eine Assoziation in UML-Klassen- und UML-Objekt-Diagrammen dargestellt?
  3. Was versteht man unter Multiplizität (Kardinalität)?
  4. Wie werden Assoziationen in Java umgesetzt?



Übungen

Aufgabe 1

Im Abschnitt Objekte und Klassen in Java wurde eine Klasse Kunde zusammen mit einer Klasse KundeGUI hergeleitet. In dieses Modell wurde im Abschnitt Assoziationen und Kardinalitäten um eine Klasse Auftrag erweitert.

  1. Erstellen Sie ein ausführliches Pflichtenheft zu diesem Modell.
  2. Implementieren Sie eine Klasse KundenAuftragGUI, die für das gegebene Problem ein Java-Programm als Lösung anbietet (eine vereinfachte Variante wäre gegeben, wenn jeder Kunde maximal ein Auftrag erteilen kann.



Aufgabe 2

Die Firma ProfiSoft erhält den Auftrag, ein Programm zur Verwaltung einer Zahnarztpraxis zu entwickeln. Das vom Auftraggeber vorgegebene Pflichtenheft sieht folgendermaßen aus:

  1. Über jeden Kassen-Patienten sind folgende Daten zu speichern: Patienten-Nr., Patientenname, Adresse, Geburtsdatum, Versichertenname, Versicherten-Karte vorgelegt (ja, nein).
  2. Jeder Kassen-Patient gehört zu genau einer Krankenkasse.
  3. Jede Krankenkasse kann mehr als einen Kassen-Patienten haben.
  4. Über jede Krankenkasse sind folgende Daten zu speichern: Kassennummer, Kassenname.
  5. Wird ein neuer (Kassen-)Patient angelegt, dann sind die Patienten-Nr. und der Patientenname einzutragen.
    1. Gleichzeitig ist der neue Patient einer Krankenkasse zuzuordnen.
      1. Variante I: es gibt nur eine Krankenkasse (wurde vorher angelegt)
      2. Variante II: es gibt mehrere Krankenkassen (wurden vorher angelegt)
      3. Variante III: es wird überprüft, ob die angegebene Krankenkasse schon vorhanden ist; evtl. muss sie neu angelegt werden
  6. Der Versichertenname ist mit dem Patientennamen beim Erzeugen vorzubelegen. "Versicherten-Karte vorgelegt" ist mit "ja" zu initialisieren.

Erstellen Sie entsprechend dem Pflichtenheft ein Klassendiagramm in UML-Notation im Java-Editor. Testen Sie die Klassen mit geeigneten Beispieldaten.

Implementieren Sie das Klassendiagramm in einem lauffähigen Java-Programm. Programmieren Sie zunächst nur zwei Patienten und zwei Kassen. Geben Sie die Informationen in einem Textbereich aus.



Aufgabe 3

Eine Firma verleiht Mietwagen an ihre Kunden, dabei wird zwischen Privat- und Firmenkunden unterschieden. Um dies zu verwalten benötigt die Firmna ein Programm, welches Kunden, Autos und entsprechende Mietverträge verwalten kann.

  1. Erstellen Sie ein Pflichtenheft.
  2. Geben Sie ein geeignetes UML-Diagramm an und überführen Sie dieses in den Java-Editor.
  3. Testen Sie die erzeugten Klassen im Klasseneditor.
  4. Schreiben Sie eine geeignete GUI für das Problem. (Im Grunde sind hier mehrere GUI-Klassen notwendig ...)