Create UML/paketDiagramm authored by Michael Guist's avatar Michael Guist
# Paketdiagramm
## Zweck
Pakete werden verwendet, um Mengen von Modellelementen zu Gruppen zu­sammenzufassen. Sie dienen der Strukturierung von UML-Modellen. Pakete definieren einen Namensraum. Paketdiagramme stellen die Pakete und die Beziehungen (Abhängigkeiten) zwischen den Paketen eines Modells dar.
## Notation
<b>Paket </b><br>![PCK_paket](uploads/7f90e3e7c3225ccc13c75cea48b79da8/PCK_paket.gif) <br>Ein Paket fasst eine Gruppe von beliebigen Modellelementen zusammen. Pakete können verschachtelt sein. Sie definieren einen Namensraum. In diesem Beispiel um­fasst das Paket a die Pakete b und c. <p>
<b>Abhängigkeiten </b><br>![PCK_pfeil](uploads/18af31372a5b0ed4d978f6bded7ad35f/PCK_pfeil.gif) <br>Abhängigkeiten zwischen Paketen werden als gestrichelte Pfeile dargestellt. Sie drücken aus, dass Pa­kete in einem Client-Server-Verhältnis zu­einander stehen. Häufige Stereotypen für Abhängigkeiten in Paketdiagrammen sind <<import>> und <<access>>, womit ausge­drückt wird, dass ein Paket ein anderes importiert, bzw. darauf zugreift. <p>
## Anwendungsbereich
Da Pakete Modellelemente zu Gruppen zusammenfassen, können sie für verschie­dene Zwecke eingesetzt werden. Pakete können verwendet werden um Subsyste­me zu modellieren, aus den ein großes System besteht. Pakete können für jede sinnvolle Gruppierung von Modellelementen in einem Projekt eingesetzt werden. Die Systemarchitektur kann z. B. mit Paketen abgebildet werden.
Jedes Paket definiert einen Namensraum. Namensräume geben Sichtbarkeitsbe­reiche von Modellelementen an. In einem Paket müssen Namen eindeutig sein. Je­des Modellelement gehört zu einem Paket. Zwei Elemente, die zu unterschiedli­chen Namensräumen gehören dürfen denselben Namen tragen; um sie zu unter­scheiden muss der Namensraum angegeben werden.
Der Zugriff auf die Elemente eines Paketes kann durch die Sichtbarkeit der Elemente gesteuert werden. Die Sichtbarkeit kann public, private oder protected sein.
## Zusammenhang
Pakete sind eine logische Zusammenfassung von Modellelementen.
Klassen werden zu Realisierungseinheiten zusammengefasst. In C++ werden Pakete als namespace realisiert. In Java werden Pakete als Java-Package umge­setzt.
Von Paketen können keine Instanzen gebildet werden. Sie können deshalb in keinen Interaktionsdiagrammen verwendet werden.
## Beispiel
![PCK_bspPaketUcMensa](uploads/fefb61044c3b0a8f724a0f5b84d27af6/PCK_bspPaketUcMensa.gif)
\ No newline at end of file