Artifacts > Analysis & Design Artifact Set > Design Model... > Design Package
Design packages are used to group related Design Model elements together for organizational purposes, and often for configuration management. Unlike the Artifact: Design Subsystem, a design package does not offer a formal interface, though it may expose some of its contents (marked as 'public') which offer behavior. Design packages should be used primarily as a model organizational tool, to group related things together; if behavioral semantics are needed, use Design Subsystems.
A design package and its contents are the responsibility of a single Role: Designer. Elements within the package may be dependent on the elements contained by other packages; this gives rise to dependencies between packages. Package dependencies can be used as a tool to analyze the resiliency of the design model: a model with cross-dependent packages is less resilient to change.
Packaging is done primarily during the Elaboration Phase, but minor adjustments to packaging will occur during the Construction phase, especially to re-allocate work or to restructure dependencies between packages.
A designer is responsible for the integrity of the package, ensuring that:
It is recommended that the designer responsible for a design package is also responsible for its contained classes; for more information refer to Artifact: Design Class.
Note that the designer is not responsible for the contained use-case realizations and their related diagrams; instead, these are under the corresponding use-case designer's responsibilities.
Packages are used in the models to group similar model elements, improving
the organization of the model and making it easier to understand. Packaging in
large models is essential. Even in smaller models, appropriate packaging can
dramatically improve the comprehensibility of the model. Some packaging is
almost always useful. For more information, see Guidelines:
Rational Unified Process