Übungsaufgabe zur Klausur oder Prüfungsvorbereitung
Anspruch: Grundlagen
Stichworte sind: UML Klassendiagram, Assoziation, Aggregation, Komposition
Einleitung
Sind sind Auszubildender im Softwareunternehmen "TopSoft2.0".
Für ein Projekt wollen Sie sich nochmal zu den UML-Klassendiagrammen informieren und ihr Wissen vertiefen.
Aufgabe 1
Beschreiben Sie mit eigenen Worten, was UML-Klassendiagramme sind und welchen Nutzen diese haben.
UML-Klassendiagramme (Unified Modeling Language) sind eine Art von Diagramm, das in der Softwareentwicklung verwendet wird, um die Struktur eines Systems zu visualisieren. Sie zeigen die Klassen eines Systems, ihre Attribute und Methoden sowie die Beziehungen zwischen diesen Klassen.
Aufgabe 2
Erklären Sie die einzelnen Bereiche/Teile im unten aufgeführten Klassendiagramm. Gemeint ist worum handelt es sich, welche Funktion erfüllt dieser Teil bzw. was bedeutet er.

1=Klassenname, 2=Egenenschaften, 3=Methoden, 4=Zugriffsrecht/Zugriffsmodifizierer, 5=Name/Bezeichner, 6=Datentyp, 7=Parameter mit Bezeichner und Datentyp, 8=Rückgabetyp
Aufgabe 3
a) Erklären Sie was eine Beziehung in einem UML-Klassendiagramm grundsätzlich ist.
Eine Beziehung in einem UML-Klassendiagramm beschreibt eine Verbindung zwischen Klassen (oder anderen Elementen) und gibt an, wie Instanzen dieser Klassen zueinander in Beziehung stehen.
b) Schreiben Sie hinter die abgebildeten Beziehungen, um welche es sich jeweils handelt. Nur der Begriff ohne weitere Erklärung.

1= Assoziation (Beziehung) 2= Vererbung 3= Implementierung 4= Dependency (Abhängigkeit) 5= Aggregation 6= Komposition
c) Erklären Sie Unterschiede zwischen dem Pfeil 2 und Pfeil 3 und weiterhin zwischen 5 und 6.
Unterschied 2 und 3:
Vererbung(2) beschreibt eine Beziehung zwischen Klassen, bei der eine Unterklasse (oder abgeleitete Klasse) die Eigenschaften und Methoden einer Oberklasse (oder Basis-Klasse) erbt.
Implementierung(3) beschreibt eine Beziehung zwischen einer Klasse und einem Interface. Eine Klasse, die ein Interface implementiert, verpflichtet sich, die im Interface definierten Methoden bereitzustellen.
Unterschied 5 und 6: Komposition(6) beschreibt eine starke formale Beziehung, bei der ein Objekt (das Ganze) aus anderen Objekten (Teilen) besteht. Die Teile können nicht außerhalb des Ganzen existieren. Aggregation(5) stellt eine schwächere Beziehung dar, bei der ein Objekt (das Ganze) aus anderen Objekten (Teilen) besteht, aber die Teile können auch unabhängig vom Ganzen existieren.
d) Nennen Sie je ein praktisches Beispiel, in dem eine Aggregation vorliegt und eines, in dem ein Komposition vorliegt.
Die Beziehung zwischen einer Klasse Bibliothek und den Büchern ist eine Aggregation, weil die Bücher auch unabhängig von der Bibliothek existieren können. Diese Beziehung zwischen einem Auto und seinem Motor ist eine Komposition, da der Motor speziell für dieses Auto konstruiert ist und nicht unabhängig existieren kann.