Aufgabe 7: Sportbuchung
Sportler buchen für einen bestimmten Zeitpunkt einen Tennisplatz.
Erstellen Sie eine Java-Applikation für eine Verwaltung für Tennisplätze.
Beim Programmstart werden einige Tennisplätze und einige Mitglieder
erzeugt. Über die grafische Benutzungsoberfläche des Programms
können zwei Aktionen (z.B. über Druckknöpfe) angestoßen
werden: Buchung eines Platzes und Stornierung einer Platzbuchung.
-
Bei der Buchung eines Platzes wird zunächst ein Mitglied aus einer
Liste aller Mitglieder ausgewählt, danach kann das Datum und die Uhrzeit
eingetragen werden. Nun werden die freien Tennisplätze angezeigt.
Nachdem ein Platz aus dieser Liste ausgewählt wurde, wird eine Buchung
für diesen Platz durch das Mitglied angelegt. Buchungsdatum ist das
aktuelle Datum.
-
Bei der Stornierung einer Buchung wird zunächst das Mitglied aus einer
Liste aller Mitglieder ausgewählt, danach wird eine Liste aller gebuchten
Plätze angezeigt. Nachdem ein Platz aus dieser Liste ausgewählt
wurde, wird die Buchung für diesen Platz gelöscht.
Zu jedem Zeitpunkt können alle Daten des Programms gespeichert und
wieder geladen werden. Hierzu zählen auch alle Buchungen. Technisch
geschieht dies über das Serializable-Interface.
Erweiterungsvorschläge
-
Bei der Auswahl des Mitglieds (Buchung / Stornierung) kann der Name des
Mitglieds komplett oder teilweise (z.B. „Me*“) eingegeben werden. In der
Auswahlliste erscheinen dann nur noch die Mitglieder, deren Name zu dieser
Schablone passt.
-
Bei der Stornierung kann alternativ auch eine Auswahl nach dem Platz angeboten
werden. Dann werden zunächst alle Plätze angezeigt. Nach Auswahl
eines Platzes erscheint eine Liste aller Mitglieder, die diesen Platz gebucht
haben. Nachdem ein Mitglied aus dieser Liste ausgewählt wurde, wird
die entsprechende Buchung gelöscht.
-
Eintragung, ob die Buchung wahrgenommen wurde, um die Zuverlässigkeit
des Mitglieds verfolgen zu können (z.B. „er hat von 5 Buchungen 2
nicht wahrgenommen ohne zu Stronieren“).
-
Anlegen eines neuen Platzes und / oder Anlegen eines neuen Mitglieds.