Ein Paket (Package) ist eine logische Ansammlung von Modellelementen beliebigen Typs, mit denen das Gesamtmodell in kleinere überschaubare Einheiten gegliedert wird.

Ein Paket definiert einen Namensraum, d. h., innerhalb eines Paketes müssen die Namen der enthaltenen Elemente eindeutig sein. Jedes Modellelement kann in anderen Paketen referenziert werden, gehört aber nur zu höchstens einem (Heimat-)Paket. Pakete können verschiedene Modellelemente enthalten, beispielsweise Klassen und Anwendungsfälle. Sie können hierarchisch gegliedert werden, d. h. ihrerseits wieder Pakete enthalten.

Ein Modellelement, beispielsweise eine Klasse, kann in verschiedenen Paketen benutzt werden, jedoch hat jede Klasse ihr Stammpaket. In allen anderen Paketen wird sie lediglich über ihren qualifizierten Namen

Paketname::Klassenname

zitiert. Dadurch entstehen Abhängigkeiten zwischen den Paketen, d. h., ein Paket nutzt Klassen eines anderen Pakets.

 

Abb. 52: Beispiel Paket Diagramm

Ein Paket wird in Form eines Aktenregisters dargestellt. Innerhalb dieses Symbols steht der Name des Paketes. Werden innerhalb des Symbols Modellelemente angezeigt, steht der Name auf der Registerlasche, andernfalls innerhalb des großen Rechtecks. Oberhalb des Paket­namens können Stereotypen notiert werden.

Möchte man eine Arbeitsteilung auf mehrere Gruppen von Entwicklern vornehmen, kann man die Unterteilung in Pakete nutzen und jeder Gruppe ein solches Paket zur Bearbeitung übergeben. Damit die spätere Zusammenführung der Pakete problemlos möglich ist, wird eine Schnittstelle vereinbart. Dabei ist am Anfang nur der Name für die Schnittstelle nötig. Über die Schnittstelle können die im Paket enthaltenen Funktionen aufgerufen werden. Somit kann das Paket entsprechend getestet und die spätere Zusammenarbeit mit weiteren Paketen garantiert werden. Garantiert bedeutet in diesem Zusammenhang, dass für die in dem Paket implementierten Funktionen beim Aufruf mit möglichen Eingabewerten genau die definierten Ergebniswerte geliefert werden.

Das Zusammenspiel der Pakete des Systems wird in einem Paketdiagramm dargestellt, in dem man auch den internen Aufbau eines Pakets modelliert.

Name/Element

Verwendung

Paket

Das Symbol des Paketes ist einer Karteikarte nachempfunden. Innerhalb dieses Sym­bols wird der Paketname dargestellt. Möchten Sie innerhalb des Paketes die Kommuni­kationen der Unterpakete modellieren, können Sie den Paketnamen in das oben ange­fügte Rechteck verlagern.

Kommunikation

Die Kommunikation der Pakete untereinander wird mit einem Pfeil dargestellt, der auf einer unterbrochenen Linie verläuft. Der Pfeil geht von dem Paket aus, von dem auch die Kommunikation überwiegend ausgeht.

Generalisierung

Erbt ein Paket von einem anderem, wird das Symbol für die Generalisierung verwendet. Mit einem Pfeil werden die beteiligen Pakete verbunden, wobei die Pfeilspitze auf das Paket zeigt, von dem geerbt wird.

Enthält (Nesting)

Mit diesem Symbol können Sie die Paketgliederung vom übergeordneten Paket her mo­dellieren. Dazu wird das Symbol „Enthält“ an das Paketsymbol des übergeordneten Pake­tes gezeichnet. Die untergeordneten Pakete werden durch durchgezogene Linien mit diesem Symbol verbunden.