diff --git a/Entwicklung-eines-Java-Programms-zur-Konstruktion-und-Visualisierung-von-Geb-uden.md b/Entwicklung-eines-Java-Programms-zur-Konstruktion-und-Visualisierung-von-Geb-uden.md deleted file mode 100644 index 5f03bb5..0000000 --- a/Entwicklung-eines-Java-Programms-zur-Konstruktion-und-Visualisierung-von-Geb-uden.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -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.