UML Diagrams Zicomi Systems publishes some UML example diagrams online from the world famous UML dictionary. more...
Version 2.5 Released Zicomi Systems is delighted to announce that version 2.5 of Zicomi Mentor is released. With support for UML 2.0 and all thirteen UML diagrams more...
Zicomi Systems' Director speaks about the UML at Objects by Design - an informative interview more...
Partner Programme Zicom Systems is delighted to announce a new world wide partner programme, become a partner today. more...
OMG Member Zicom Systems is made a member of the OMG!
Subsystem
A subsystem is a grouping or package of model elements that has operations and interfaces. It has the characteristics of a package and a classifier. While a subsystem is a behavior element, it has no intrinsic behavior of it s own, the behavior is provided by the elements in the realization compartment of the subsystem.
Explanation
A subsystem is a way of grouping model elements to form a cohesive unit that represents both the behavior of the group of elements as a whole and also the way this behavior is realized by supporting model elements. It is really a type of package with the additional behavior of a classifier. Subsystems can be used to model products that have been incorporated into the system, or behavioral units in the system. An actor can communicate directly with a subsystem.
Important Points
A subsystem can be divided into specification and realization compartments.
A subsystem contains other model elements, and these elements are contained in two compartments: a specification and a realization compartment. The specifications and the operations are realized by the elements contained in the realization compartment.
A subsystem is both a package and a classifier, making it a powerful element , with both grouping and behavioral properties.
A subsystem is a grouping, and behavioral element that not only groups model elements but represents a behavioral unit in the system being modeled. It adds behavior, interfaces and operations to the package.
Elements contained in a subsystem should not have public visibility.
The subsystem should not expose any of its workings; it should only be reached via its interfaces. Some confusion arises here, because a subsystem has compartments, which describe how the subsystem provides the behavior of its interfaces. This represents the difference between a modeler using the subsystem that can see into the subsystem and another model element that cannot see beyond the interfaces.
A package is related to a subsystem in the sense that it is has the same fundamental shape. A subsystem is a type of package, but is also derived from a classifier, which gives the subsystem much richer semantics. The subsystem limits some of the visibility of contained elements, but while a package can define some of its contained elements to have public visibility a subsystem never does.