A package in the Unified Modeling Language is used "to group elements, and to provide a namespace for the grouped elements". A package may contain other packages, thus providing for a hierarchical organization of packages.
Pretty much all UML elements can be grouped into packages. Thus, classes, objects, use cases, components, nodes, node instances etc. can all be organized as packages, thus enabling a manageable organization of the myriad elements that a real-world UML model entails.
When organizing functional models (use case models, workflow models etc.), use packages to model the real-world modular structure of the system being modeled. When organizing source code, use packages to represent the different layers of the source code. For instance:
When organizing component models, use packages to group the components according to ownership and/or reuse possibilities. For instance:
- commercial-off-the-shelf products
- open-source framework components
- custom-built framework components
- custom-built application components
When organizing deployment models, use packages to represent the different types of deployment environments that you will be modeling. For instance:
- production environment
- pre-production environment
- integration test environment
- system test environment
- development environment
|This article needs additional citations for verification. (February 2009) (Learn how and when to remove this template message)|
|This Unified Modeling Language article is a stub. You can help Wikipedia by expanding it.|