Artifact: Design
Subsystem

Design Subsystem
|
A model element which
has the semantics of a package (it can contain other model elements) and a class (it has
behavior). The behavior of the subsystem is provided by classes or other subsystems it
contains. A subsystem realizes one or more interfaces, which define the behavior it can
perform. |
UML
representation: |
Subsystem |
Worker: |
Designer |
Optionality: |
Optional for
simple systems composed only of classes and packages. |
Reports: |
Design-Model Survey, Design
Package/Subsystem |
More information: |
Guidelines: Design Subsystem |
|
The following people use the design subsystem:
- The architect, to encapsulate complex behavior.
- Designers, to encapsulate their design work, and to serve as a logical
unit of work.
Design Subsystems are used to encapsulate behavior inside a "package" which
is provides explicit and formal interfaces, and which (by convention) does not expose any
of its internal contents. It is used as a unit of behavior in the system, which
provides the ability to completely encapsulate the interactions of a number of class
and/or subsystems. The 'encapsulation' ability of design subsystems is contrasted by
that of the Artifact: Design Package, which does not realize
interfaces, and may expose contents which are marked 'public'. Packages are used
primarily for configuration management and model organization, where subsystems provide
additional behavioral semantics.
Property Name |
Brief Description |
UML Representation |
name |
The name of the subsystem |
attribute |
description |
The short description of the role and purpose, or the
"theme" of the subsystem. |
attribute |
interfaces |
associations to realized interfaces |
realization association |
contents |
aggregation associations ton contained model elements |
aggregation association |
dependencies |
dependency associations to interfaces or packages on which the
subsystem depends |
dependency |
The design subsystem is created during Activity:
Architectural Design, and updated during Activity:
Subsystem Design.
A Designer is responsible for the integrity of
the design subsystem, ensuring that:
- The subsystem encapsulates its contents, only exposing contained behavior through
interfaces it realizes.
- The operations of the interfaces the Subsystem realizes are distributed to contained
classes or subsystems.
- The subsystem properly implements its interfaces.
| |

|