Paketdiagramm
Zweck
Pakete werden verwendet, um Mengen von Modellelementen zu Gruppen zusammenzufassen. 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
Paket
Ein Paket fasst eine Gruppe von beliebigen Modellelementen zusammen. Pakete können verschachtelt sein. Sie definieren einen Namensraum. In diesem Beispiel umfasst das Paket a die Pakete b und c.
Abhängigkeiten
Abhängigkeiten zwischen Paketen werden als gestrichelte Pfeile dargestellt. Sie drücken aus, dass Pakete in einem Client-Server-Verhältnis zueinander stehen. Häufige Stereotypen für Abhängigkeiten in Paketdiagrammen sind <> und <>, womit ausgedrückt wird, dass ein Paket ein anderes importiert, bzw. darauf zugreift.
Anwendungsbereich
Da Pakete Modellelemente zu Gruppen zusammenfassen, können sie für verschiedene Zwecke eingesetzt werden. Pakete können verwendet werden um Subsysteme 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 Sichtbarkeitsbereiche von Modellelementen an. In einem Paket müssen Namen eindeutig sein. Jedes Modellelement gehört zu einem Paket. Zwei Elemente, die zu unterschiedlichen Namensräumen gehören dürfen denselben Namen tragen; um sie zu unterscheiden 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 umgesetzt. Von Paketen können keine Instanzen gebildet werden. Sie können deshalb in keinen Interaktionsdiagrammen verwendet werden.