Übungen Assoziationen und Kardinalitäten
Inhaltsverzeichnis
Kontrollfragen
- Was beschreibt eine Assoziation in der OOM?
- Wir wird eine Assoziation in UML-Klassen- und UML-Objekt-Diagrammen dargestellt?
- Was versteht man unter Multiplizität (Kardinalität)?
- 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.
- Erstellen Sie ein ausführliches Pflichtenheft zu diesem Modell.
- 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:
- Über jeden Kassen-Patienten sind folgende Daten zu speichern: Patienten-Nr., Patientenname, Adresse, Geburtsdatum, Versichertenname, Versicherten-Karte vorgelegt (ja, nein).
- Jeder Kassen-Patient gehört zu genau einer Krankenkasse.
- Jede Krankenkasse kann mehr als einen Kassen-Patienten haben.
- Über jede Krankenkasse sind folgende Daten zu speichern: Kassennummer, Kassenname.
- Wird ein neuer (Kassen-)Patient angelegt, dann sind die Patienten-Nr. und der Patientenname einzutragen.
- Gleichzeitig ist der neue Patient einer Krankenkasse zuzuordnen.
- Variante I: es gibt nur eine Krankenkasse (wurde vorher angelegt)
- Variante II: es gibt mehrere Krankenkassen (wurden vorher angelegt)
- Variante III: es wird überprüft, ob die angegebene Krankenkasse schon vorhanden ist; evtl. muss sie neu angelegt werden
- Gleichzeitig ist der neue Patient einer Krankenkasse zuzuordnen.
- 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.
- Erstellen Sie ein Pflichtenheft.
- Geben Sie ein geeignetes UML-Diagramm an und überführen Sie dieses in den Java-Editor.
- Testen Sie die erzeugten Klassen im Klasseneditor.
- Schreiben Sie eine geeignete GUI für das Problem. (Im Grunde sind hier mehrere GUI-Klassen notwendig ...)