Dependencies

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.

Reside Dependencies

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 that the User Interface and Utility packages reside in the User Interface component. Because the User Interface package depends on the Utility package, the User Interface and Utility packages must reside in the same component; otherwise, the User Interface package would not be able to use the Utility package.

Figure 5-5. Reside dependencies for packages

Figure 5-6 shows that the Business Processing ...

Get Learning UML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.