Concept: Design Subsystem
Encapsulates behavior, providing explicit and formal interfaces, and does not (by convention) expose its internal contents. This provides the ability to completely encapsulate the interactions of a number of classes and/or subsystems.
Relationships
Related Elements
Main Description

A Design Subsystem is a part of a system that encapsulates behavior, exposes a set of interfaces, and packages other model elements. From the outside, a subsystem is a single design model element that collaborates with other model elements to fulfill its responsibilities. The externally visible interfaces and their behavior is referred to as the subsystem specification. On the inside, a subsystem is a collection of model elements (design classes and other subsystems) that realize the interfaces and behavior of the subsystem specification. This is referred to as the subsystem realization.

Subsystems can be used in a number of complementary ways, to partition the system into units which

  • can be independently ordered, configured, or delivered
  • can be independently developed, as long as the interfaces remain unchanged
  • can be independently deployed across a set of distributed computational nodes
  • can be independently changed without breaking other parts of the systems

Thus, subsystems are ideal for modeling components - the replaceable units of assembly in component-based development - that are larger than a single design class.

In addition, subsystems can

  • partition the system into units which can provide restricted security over key resources
  • represent existing products or external systems in the design.