--- typ: Autovermietungssystem titel: System zur Verwaltung von Fahrzeugen und Kunden datum: unbekannt sicherheit: hoch --- # System zur Verwaltung von Fahrzeugen und Kunden Projektaufgabe B Einführung in die Programmierung Wintersemester 23/24 Projektaufgabe B Aufgabenstellung Eine Autovermietung beauftragt Sie mit der Entwicklung eines Systems zur Verwaltung von Fahrzeugen und Kunden. Die Fahrzeuge und Kunden sollen über eine GUI erfasst, zugeordnet und verwaltet werden. Die folgenden Fahrzeugdaten sollen erfasst werden: • Marke • Modell • Baujahr • Gewicht • Kilometerstand • Vorhandene Schäden • Status • Kundennummer bei Vermietung Ihr Programm soll Kunden über folgende Daten erfassen können: • Vorname • Name • Adresse • Führerscheinklasse Mindestbearbeitungsumfang Um die Kursarbeit zu bestehen, muss Ihre Anwendung den folgenden Mindestumfang an Funktionen aufweisen: • Datenmodell: Entwerfen Sie ein UML-Diagramm, welches die oben genannten Eigenschaften in einer Klassenstruktur zusammenfasst. • GUI: Erstellen Sie eine grafische Benutzeroberfläche zum Anzeigen von Fahrzeugen und Kunden und Implementieren Sie ebenfalls Funktionen zum Erstellen, Editieren und Löschen von Fahrzeugen und Kunden. • Zuweisung: Kunden sollen zu Fahrzeugen zugeordnet werden können. • Datenblätter: Zuweisungen sollen als Text mit allen Informationen zum Fahrzeug und zum Kunden oder Kundin angezeigt werden können. • Export und Import: Fahrzeuge und Kunden sollen als .csv gelesen und geschrieben werden können. Projektaufgabe B Einführung in die Programmierung Wintersemester 23/24 Erweiterter Bearbeitungsumfang Um die Studienarbeit mit einer besseren Note abzuschließen, sollten Sie den Funktionsumfang Ihrer Applikation gegenüber der Minimalversion erweitern. Je umfangreicher Ihr Programm erweitert wird, desto besser kann Ihre Note ausfallen. Beispiele für mögliche Erweiterungen könnten sein: • Filter- und Suchoptionen: Über ein Suchfeld sollen die Listen für Kunden und Fahrzeugen gefiltert werden können, um Einträge schnell zu finden. • Einbinden von Bildern für Fahrzeuge: Bilder sollen als JPEG zu einem Fahrzeug hinzugefügt werden können. Machen Sie sich Gedanken darüber, wie die Bilder gespeichert werden sollen. • Mietzeiträume: Es soll eine Kollisionsprüfung bei sich überschneidenden Mietzeiträumen durchgeführt werden können. Machen Sie sich Gedanken darüber, welche zusätzlichen Daten gespeichert werden müssen und wie eine Überprüfung erfolgen kann. • Mietzeiträume: Für alle Fahrzeuge soll eine grafische Übersicht der Mietdauer in Form eines vereinfachten Gantt-Diagramms erfolgen. Sie können dazu die Canvas- Klasse von Java verwenden, oder die Funktionen der ICEB.jar. • Fehlerprüfung: Das System soll nach Fehlern und Problemen suchen, z. B. leere Felder oder unzureichende Führerscheinklassen. Hinweise zur Projektarbeit • Programmcode, Kommentare und Diagramme müssen selbst erstellt werden. Quellcode, der von anderen Gruppen oder aus dem Internet kopiert wurde, wird als Täuschungsversuch geahndet. • Benutzen Sie keine externen Bibliotheken oder Klassen aus dem Internet, mit Ausnahme der gegebenen ICEB.jar und Klassen aus der Java-Standardbibliothek (Pakete java.* und javax.*). • Benutzen Sie keine Programme, die UML-Diagramme automatisiert aus Code erzeugen. Alle UML-Diagramme müssen selbst erstellt sein. Sie können dafür Programme wie diagrams.net benutzen, oder die Diagramme per Hand zeichnen und einscannen. • Fügen Sie Namen und Matrikelnummern ihrer Gruppenmitglieder zu jeder von Ihnen erstellten Klasse als Kommentar hinzu. Verpacken Sie ihr Projekt mit allen Quelldateien und Diagrammen in einer zip-Datei und laden diese in dem vorgesehenden Dateiupload in Moodle hoch. Sie können ihr Projekt aus IntelliJ als zip-Datei exportieren über Datei -> Export. • Bei der Bewertung von Programmcode wird Wert auf Sauberkeit und Code-Qualität gesetzt. Verwenden Sie aussagekräftige Variablen- und Klassennamen und kommentieren Sie kritische Stellen in Ihrem Code.