Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2004 W
3. Übungsaufgabe
Themen:
Untertypbeziehungen, Stabilität
Termine:
Ausgabe: |
28.10.2004 |
reguläre Abgabe: |
4.11.2004, 12:45 Uhr |
nachträgliche Abgabe: |
11.11.2004, 12:45 Uhr |
Abgabeverzeichnis:
Aufgabe03
Programmaufruf:
java Anmeldung
Grundlage:
Skriptum bis Seite 57
Aufgabe:
Erweitern Sie Ihr Programm aus der 2. Übung folgendermaßen:
- Beim Hinzufuegen neuer Lehrveranstaltungen soll es möglich sein,
eine Gruppengröße oder einen Bereich von Gruppengrößen (z.B. 3--5)
anzugeben.
Weiters kann man maximale Anzahlen an Gruppen und Teilnehmern definieren,
die sich zu einer Lehrveranstaltung anmelden können.
- Ist die maximale Gruppengröße einer Lehrveranstaltung größer als
eins, wird bei der Anmeldung eine fortlaufende Gruppennummer vergeben.
In diesem Fall müssen sich alle Gruppenmitglieder gemeinsam anmelden,
und es muss überprüft werden, ob die Anzahl der Gruppenmitglieder im
Bereich der Gruppengröße liegt.
- Wurde eine Gruppennummer vergeben, dann sind nur Abmeldungen ganzer
Gruppen durch Angabe der Gruppennummern möglich -- keine Abmeldungen von
Einzelpersonen.
Gruppennummern abgemeldeter Gruppen werden nicht noch einmal vergeben.
- Bei Anmeldungen ist die Einhaltung der maximalen Anzahlen an Gruppen
und Teilnehmern zu überprüfen.
Auf Randeffekte ist zu achten: Wenn z.B. die Mindestgruppengröße drei ist,
aber nur mehr zwei Personen angemeldet werden können, dann darf sich auch
keine Gruppe mehr anmelden.
Die Anzahlen der noch verfügbaren Gruppen und Teilnehmer sind bei
Anmeldungen, Abmeldungen und bei der Auflistung aller Daten anzuzeigen,
wenn es solche Maximalzahlen gibt.
- Bei Abfragen der Daten zu einer Person und bei Auflistungen aller Daten
sind auch Gruppennummern auszugeben.
- Bei Prüfungsanmeldungen wird zwischen zwei Arten unterschieden:
Gruppenanmeldungen (durch Angabe der Gruppennummer) und Prüfungen einzelner
Personen (Angabe der Matrikelnummer).
Die Unterscheidung zwischen diesen beiden Arten muss beim Hinzufügen des
Prüfungstermins getroffen werden.
Lesen Sie das Skriptum bis Seite 57.
Erweitern bzw. ändern Sie Ihr Programm aus der 2. Übungsaufgabe
entsprechend.
Setzen Sie Untertypbeziehungen so oft wie möglich ein, und achten Sie darauf,
dass das Ersetzbarkeitsprinzip erfüllt ist.
Vermeiden Sie unnötige Änderungen der Objektschnittstellen.
Vermeiden Sie, wo immer es Ihnen möglich scheint, die Verwendung von
switch
- und geschachtelten if
-Anweisungen.
Abgesehen davon können Sie die Aufgabenstellung frei interpretieren.
Schreiben Sie Ihre Lösung in den Ordner Aufgabe03
in Ihrem
Gruppen-Verzeichnis auf dem Übungsrechner.
Das Programm soll von Aufgabe03
aus durch java Anmeldung
aufrufbar sein.
Der Ordner sollen zum Zeitpunkt der Abgabe (4.11.2004, 12:45 Uhr) und der
nachträglichen Abgabe (11.11.2004, 12:45 Uhr) alle .java
-Dateien
enthalten, die Sie für Ihre Lösung benötigen.
Bitte entfernen Sie alle .java
-Dateien, die nicht zur Abgabe gehören.
Falls Ihr drittes Beispiel von der Tutorin oder dem Tutor beurteilt wird,
vereinbaren Sie mit ihr/ihm einen Termin für ein Treffen zur Besprechung
Ihrer Lösung.
Statt der oben genannten Zeitpunkte gelten in diesem Fall die vereinbarten
Zeitpunkte.