Figure 5-1 shows components associated with the project management system, and Figure 5-3 shows nodes associated with the project management system, but how are components related to undifferentiated and differentiated classes, packages, subsystems, and to other components and nodes? Specialized types of dependencies — called reside, use, and deploy dependencies — address these questions. The next few sections in this chapter discuss these specialized types of dependencies. Dependences in general are discussed in Chapter 3.
A reside dependency from a component to any UML element indicates that the component is a client of the element, which is itself considered a supplier, and that the element resides in the component. The element may be an undifferentiated or differentiated class, package, or subsystem. An element may reside in any number of components, and a component may have any number of elements that reside in it.
A reside dependency is shown as a dashed arrow from a client
component to a supplier element marked with the
reside keyword. Figure 5-5 shows
Utility packages reside in the
User Interface package depends on the
Utility package, the
must reside in the same component; otherwise, the
Interface package would
not be able to use the
Figure 5-5. Reside dependencies for packages
Figure 5-6 shows that the