UML (Unified Modeling Language): Pakete / Packages

avatar

Pakete

Da umfangreiche Modelle rasch unübersichtlich und schlecht handhabbar werden, können sie, mit Hilfe von Paketen weiter strukturiert werden. Ein Paket (package) ist eine Gruppierung von Modellierungselementen, die selbst wieder Pakete sein können. Die Gesamtheit aller Pakete bildet oft eine hierarchische Struktur.

Jedes Modellierungselement ist höchstens einem Paket zugeordnet. Innerhalb eines Paketes müssen alle Modellierungselemente einen eindeutigen Namen besitzen. In unterschiedlichen Paketen können aber durchaus Modellierungselemente mit dem gleichen Namen existieren. Pakete definieren also einen Namensraum (namespace) zur Erleichterung der Namensgebung in großen Modellen.

Pakete bilden auch Sichtbarkeitsgrenzen mit folgenden Sichtbarkeitsregeln:

  • Die von einem Paket exportierten Modellierungselemente werden als öffentlich (public) deklariert.
  • Modellierungselemente, die innerhalb des Pakets und innerhalb aller (hierarchisch) im Paket enthaltenen Pakete sichtbar sein sollen, werden als paketweit (package) deklariert.
  • alle anderen Modellierungselemente werden als privat (private) gekennzeichnet.

Ein Paket kann sich auf ein anderes Paket beziehen und dessen Modellierungselemente benutzen. Dieser Sachverhalt wird durch eine Import-Abhängigkeit ausgedrückt, die bewirkt, dass die Namen aller öffentlich sichtbaren Elemente des importierten Paketes in den Namensraum des importierenden Paketes aufgenommen und unverändert benutzt werden können. Pakete sollten so gestaltet werden, dass zwischen Modellelementen in verschiedenen Paketen möglichst nur minimale Abhängigkeiten bestehen.

Pakete werden als Rechtecke dargestellt, die mit einem kleinen Reiter an der linken oberen Ecke versehen sind, der im Allgemeinen den Paketnamen aufnimmt. Zur übersichtlicheren Gestaltung von Diagrammen erlaubt die UML verschiedene Darstellungsarten von Paketen.


Abbildung: Aufteilung von Klassen auf Pakete

Quelle
Fowler, M. UML Distilled Addison-Wesley, Reading, Mass., 1997



0
0
0.000
2 comments
avatar

Du hast ein Upvote von mir bekommen, diese soll die Deutsche Community unterstützen. Wenn du mich unterstützten möchtest, dann sende mir eine Delegation. Egal wie klein die Unterstützung ist, Du hilfst damit der Community. DANKE!

0
0
0.000
avatar

Congratulations @ozelot47! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You distributed more than 3000 upvotes. Your next target is to reach 4000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

0
0
0.000