Add document
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
---
|
||||
typ: Projektaufgabe A Einführung in die Programmierung Wintersemester 23/24
|
||||
titel: Entwicklung eines Java-Programms zur Konstruktion und Visualisierung von Gebäuden
|
||||
datum: unbekannt
|
||||
sicherheit: hoch
|
||||
---
|
||||
|
||||
# Entwicklung eines Java-Programms zur Konstruktion und Visualisierung von Gebäuden
|
||||
|
||||
Projektaufgabe A Einführung in die Programmierung Wintersemester 23/24
|
||||
Projektaufgabe A
|
||||
Aufgabenstellung
|
||||
Ziel dieser Projektarbeit ist die Entwicklung eines Java-Programms zur Konstruktion und
|
||||
Visualisierung von Gebäuden. Das Programm soll über eine benutzerfreundliche grafische
|
||||
Oberfläche verfügen, über die Wände eingegeben und das Gebäudemodell bearbeitet wer-
|
||||
den können. Zur Visualisierung soll das in den Übungen vorgestellte 3D-Paket verwendet
|
||||
werden.
|
||||
Abbildung 1: Beispieloberfläche einer Java-Anwendung zur Konstruktion und Visualisie-
|
||||
rung von Gebäuden.
|
||||
Mindestbearbeitungsumfang
|
||||
Um die Kursarbeit zu bestehen, muss Ihre Anwendung den folgenden Mindestumfang an
|
||||
Funktionen aufweisen:
|
||||
• Erstellung eines UML-Klassendiagramms zur Definition von Klassen und ihrer Be-
|
||||
ziehungen, um das Objektmodell des Gebäudes abzubilden.
|
||||
• Definieren Sie primitive Objekte für die Darstellung von Etagen, Wänden, Decken
|
||||
und Türen und implementieren Sie entsprechende Klassen, um die Eigenschaften
|
||||
und Methoden zur Manipulation jedes Elements zu definieren.
|
||||
• Implementieren Sie eine Objektverwaltung, die die Erstellung, Speicherung und Ma-
|
||||
nipulation der modellierten Gebäudeelemente ermöglicht, einschließlich Methoden
|
||||
zur Platzierung, Verschiebung und Änderung der Eigenschaften der Elemente.
|
||||
|
||||
Projektaufgabe A Einführung in die Programmierung Wintersemester 23/24
|
||||
• Entwickeln Sie eine benutzerfreundliche GUI mit Interaktionsmöglichkeiten wie dem
|
||||
Platzieren, Bearbeiten, Hinzufügen und Löschen von Gebäudeelementen.
|
||||
• Integrieren Sie eine 3D-Visualisierungsfunktion, um den Benutzern eine realistische
|
||||
Vorschau des konstruierten Gebäudes zu bieten und stellen Sie sicher, dass die 3D-
|
||||
Darstellung die modellierten Gebäudeelemente korrekt und ansprechend darstellt.
|
||||
Hinweis: Die Entwicklung einer GUI bedeutet nicht zwingend, dass der Viewer in die gra-
|
||||
fische Benutzeroberfläche eingebettet werden muss. Alternativ können Sie erwägen, zwei
|
||||
separate Fenster zu verwenden: eines für den Viewer und eines für die GUI-Interaktionen.
|
||||
Erweiterter Bearbeitungsumfang
|
||||
Um die Studienarbeit mit einer besseren Note abzuschließen, sollten Sie den Funktions-
|
||||
umfang 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:
|
||||
• Erweitern Sie das Objektmodell, um zusätzliche Gebäudelemente wie Fenster, Trep-
|
||||
pen oder Möbel zu unterstützen und implementieren Sie entsprechende Klassen und
|
||||
Methoden zur Modellierung und Manipulation dieser neuen Elemente.
|
||||
• Implementieren Sie Kollisionsprüfungen und Validierungen, um sicherzustellen, dass
|
||||
platzierte Gebäudeelemente sich nicht überlappen oder im Raum schweben.
|
||||
• Implementieren Sie Funktionen zum Exportieren und Importieren von Gebäude-
|
||||
modellen als .csv-Datei.
|
||||
• Implementieren Sie die Möglichkeit für Benutzer, benutzerdefinierte Gebäudekom-
|
||||
ponenten zu erstellen und in das Programm zu integrieren.
|
||||
• Erstellung von Analysewerkzeugen, mit dem Gebäudestatistiken angezeigt werden
|
||||
können (Anzahl Wände/Türen/Räume, Betonvolumen, Raumvolumen etc.)
|
||||
Hinweise zur Projektarbeit
|
||||
• Programmcode, Kommentare und Diagramme müssen selbst erstellt werden. Quell-
|
||||
code, 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 Aus-
|
||||
nahme der gegebenen ICEB.jar und Klassen aus der Java-Standardbibliothek (Pa-
|
||||
kete java.* und javax.*).
|
||||
• Benutzen Sie keine Programme, die UML-Diagramme automatisiert aus Code er-
|
||||
zeugen. Alle UML-Diagramme müssen selbst erstellt sein. Sie können dafür Pro-
|
||||
gramme wie diagrams.net benutzen, oder die Diagramme per Hand zeichnen und
|
||||
einscannen.
|
||||
|
||||
Projektaufgabe A Einführung in die Programmierung Wintersemester 23/24
|
||||
• 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 vorgesehen-
|
||||
den 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 kommen-
|
||||
tieren Sie kritische Stellen in Ihrem Code.
|
||||
Reference in New Issue
Block a user