16.1 Dividing Large Domains


Many domains can be quite large, with dozens or even hundreds of classes. Subsystems provide a way to partition a large domain so that people and groups can work with manageable chunks of the problem.

Definition: A subsystem is a part of a domain containing classes, relationships, state machines, and their procedures.

Figure 16.1 shows how the online bookstore domain can be divided into three subsystems: Product Specification, Ordering, and Shipping. Each subsystem contains a cluster of closely related classes.

Figure 16.1. Subsystems and Classes

graphics/16fig01.gif

graphics/mlu.jpg

The package diagrams in this chapter are not official UML package diagrams. The UML has a notation for representing only those packages and package relationships that are directed dependencies, such as the way in which one Java package has classes that inherit from classes in another package.

Subsystem relationships in Executable UML are peer-to-peer. Consequently, the package diagrams are drawn without arrowheads on the connecting lines.



Executable UML. A Foundation for Model-Driven Architecture
Executable UML: A Foundation for Model-Driven Architecture
ISBN: 0201748045
EAN: 2147483647
Year: 2001
Pages: 161

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net