78 lines
4.7 KiB
Markdown
78 lines
4.7 KiB
Markdown
---
|
|
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.
|