Aufgaben
Aufgabe 1:
Erstellen Sie ein UML-Klassendiagramm für die Struktur eines Liegenschafts-Informationssystems, die durch folgenden Sachverhalt beschrieben ist!
- Eine Gemarkungsfläche (Teil einer Gemeinde, Schlüsselwert: Name) setzt sich aus Fluren (Schlüsselwert: Flurnummer) zusammen. Jede Flur besteht aus mehreren Flurstücken.
- Flurstücke (Schlüsselwert: Flurstücknummer) befinden sich im Besitz eines Eigentümers (wie z.B. Personen, Unternehmen) oder der Öffentlichkeit. Flurstücke sind beschrieben durch ihre Größe und die vorgesehene Nutzung.
- Auf jedem Flurstück können ein oder mehreren Gebäude errichtet sein. Gebäude, die mehrere Flurstücke überdecken, sind nicht zulässig. Sind mehrere Gebäude auf einem Flurstück vorhanden, werden sie durchlaufend (beginnend mit dem Hauptgebäude) durchnummeriert.
- Jedes Gebäude enthält eine Adresse (postalische Adresse) und wird durch seine Nutzung und die Anzahl der Vollgeschosse beschrieben.
Aufgabe 2:
Überlegen Sie, für welche Anforderungen an Assoziationen die Collections List, Set und Map sowie Datenfelder (<Datentyp>[] ) verwendbar sind!
Collections | Elemente ungeordnet | Elemente geordnet |
---|---|---|
Anzahl begrenzt | ||
Anzahl unbegrenzt |
Aufgabe 3:
Übertragen Sie das UML-Klassendiagramm aus Aufgabe 1 in Java-Klassendeklarationen! Achten Sie insbesondere bei den Aggregationen darauf, welche Collection-Klassen zu verwenden sind!
Aufgabe 4:
Unten sehen Sie einen Streckenzug, der aus mehreren Stützpunkten besteht, und das entsprechende UML-Klassendiagramm. Bearbeiten Sie dazu folgende Aufgaben:
- Schreiben Sie zum vorliegenden Modellierungsbeispiel die passenden Klassen für Streckenzüge und Stützpunkte! Beachten Sie dabei die Aggregation zwischen beiden Klassen!
- Grundsätzlich wäre es auch möglich, Streckenzüge als Liste der Streckensegmente zu deklarieren. Überlegen Sie, warum diese Lösung nicht so gut geeignet ist!
- Schreiben Sie eine Methode, mit der Sie einen Streckenzug als Liste der Streckensegmente ausgeben!