Chapter 12. Packages
In this chapter
- Packages, visibility, importing, and exporting
- Modeling groups of elements
- Modeling architectural views
- Scaling up to large systems
Visualizing, specifying, constructing, and documenting large systems involves manipulating potentially large numbers of classes, interfaces, components, nodes, diagrams, and other elements. As you scale up to systems such as these, you will find it necessary to organize these things into larger chunks. In the UML, the package is a general-purpose mechanism for organizing modeling elements into groups.You use packages to arrange your modeling elements into larger chunks that you can manipulate as a group. You can control the visibility of these elements so that some things are visible outside the package while others are hidden. You can also use packages to present different views of your system's architecture.Well-designed packages group elements that are semantically close and that tend to change together. Well-structured packages are therefore loosely coupled and very cohesive, with tightly controlled access to the package's contents.