Artifacts > Implementation Artifact Set > Implementation Model... > Implementation Subsystem > Guidelines

Implementation Subsystem

An implementation subsystem is a collection of components and other implementation subsystems that are used to structure the implementation model by dividing it into smaller parts.

Explanation To top of page

A basic way of reducing complexity in an implementation model containing hundreds of components, is to use implementation subsystems.

Subsystems take the form of directories, with additional structural or management information. For example, a subsystem can be created as a directory or a folder in a file system, or a subsystem in Rational Apex for C++ or Ada, or packages using Java.

The implementation subsystem is the physical analogue of the design package. The implementation model and the implementation subsystems are the target of the implementation view, and so are of primary importance at development time.

Exporting Components

An implementation subsystem controls the external visibility of its contents. A component can be referenced by components outside the subsystem, if it is made visible ("exported") by its declaring subsystem.

All components (and contained subsystem) in a subsystem are visible outside a subsystem by default. This means that any component outside this subsystem can reference all components. For example, in C++ this means that components outside can #include all components inside the subsystem.

Use To top of page

The implementation model can be more or less close to the design model, depending on how you map the design packages to implementation subsystems in the implementation model.

It is recommended to keep the mapping one to one, i.e. one design package should be mapped to one implementation subsystem. The primary reason for that is to have a seamless traceability from design to code.

There are situations where you need the subsystems in implementation to differ from the packages in design. For more information, see the Activity: Structure the Implementation Model.

You should decide how the design model relate to the implementation model; this should be captured in the Design Guidelines specific to the project.

You can partition a system into subsystems for many reasons. The same criteria as in design apply in implementation. For more information, see Guidelines: Design Package.

Copyright  1987 - 2001 Rational Software Corporation

Display Rational Unified Process using frames

Rational Unified Process