A design
package is a collection of classes, relationships, use-case realizations,
diagrams, and other packages. It is used to structure the design model by
dividing it into smaller parts.
The Word template can be bought through a template package. Case studies and reports are freely available in the table below.
Word Template
Case Study
Report
---
Purpose
Design packages are used to group related Design Model elements together for
organizational purposes, and often for configuration management. 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.
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.
Properties
Property Name
Brief Description
UML Representation
Name
The
name of the package.
The
attribute "Name" on model element.
Brief
Description
A
brief description of the role and purpose, or the "theme" of the
package.
Tagged
value, of type "short text".
Classes
The
classes directly contained in the package.
Owned
via the aggregation "owns"
Relationships
The
relationships directly contained in the package.
-
" -
Use-Case
Realizations
The
use-case realizations directly contained in the package.
-
" -
Diagrams
The
diagrams directly contained in the package.
-
" -
Design
Packages
The
packages directly contained in the package.
-
" -
Import
Dependencies
The
import dependencies from the package to other packages.
Owned
by an enclosing package, via the aggregation "owns".
Timing
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.
Responsibility
A designer is responsible for the integrity of the package, ensuring that:
The package fulfills the requirements made on it.
The package is as independent as possible of other packages.
The import dependencies originating from the package are described so that
the effect of future changes can be estimated.
The existence of the direct contents of the package, including its
classes, relationships, use-case realizations, diagrams, and packages, is
justified and kept consistent.
The visibilities of the direct contents of the package, primarily
regarding classes and packages, are correct. A visibility can be
"public," "private," and so on.
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.
Tailoring
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.