Add document

This commit is contained in:
2026-06-14 13:57:47 +00:00
parent b8d91295cc
commit ae26afbf28
@@ -0,0 +1,79 @@
---
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.