t2informatik » Wissen kompakt » Komposition

Komposition

Ein Sonderfall der Assoziation

Eine Assoziation beschreibt eine Beziehung zwischen Modellelementen der Unified Modeling Language (UML). Eine Komposition ist ein Sonderfall der Assoziation, die eine Beziehung zwischen einem Ganzen und seinen Teilen beschreibt. Bei einer Komposition kann ein Teil nie größer als das Ganze sein.

Ein Beispiel: Ein Gebäude besteht aus Räumen. Das Gebäude ist das Ganze, die Räume sind Teile des Ganzen. Da es sich um ein konkretes Gebäude handelt, ist dessen Mulitplizität 1. Die Mulitplizität der Räume kann von 1..* gehen, es gibt also mindestens einen Raum (ohne Raum kein Gebäude), es kann aber (zumindest in der Theorie) unendlich viele Räume geben.

Aus diesem Beispiel lassen sich einige Aspekte einer Komposition – die auch Composite Aggegation genannt wird – ableiten:

  • Die Existenz eines Objektes bzw. einer Instanz kann nicht gleichzeitig von zwei anderen Objekten/Instanzen abhängig sein. Ein Raum gehört zu einem Gebäude und nicht gleichzeitig zu mehreren Gebäuden. In anderen Worten: das Ganze determiniert den Lebenszyklus der Teile. Wird das Ganze (also das Gebäude) beseitigt, verschwinden auch die einzelnen Teile (also die Räume). Dies wird als Existenzabhängigkeit bezeichnet.
  • Ein Objekt, das Teil eines Ganzen ist, kann auch zu einem anderen Ganzen oder einfach in die Unabhängigkeit wechseln. Obwohl dies bei dem Gebäude-Raum-Beispiel nur schwer vorstellbar ist, gibt es in Berlin bspw. den Kaisersaal, der als früherer Teil des Grand Hotel Esplanade in das heutige Sony Center integriert wurde. Durch die Integration in das Sony Center ist der Kaisersaal ebenfalls wieder existenzabhängig.

Visualisiert wird eine Komposition mit einer Linie zwischen den Modellelementen und einer ausgefüllten Raute auf der Seite des Ganzen. Als weitere Sonderform der Assoziation gibt es die Aggregation.

„Das ist mal ein Newsletter, der mich wirklich weiterbringt und auf den ich mich jede Woche freue.“

Wöchentliche Tipps, Meinungen und Informationen gibt es im t2informatik Blog – regelmäßig mit renommierten Gastautoren.

Share This