4.3 Communicate Associations

Figure 4-1 shows actors associated with the project management system and Figure 4-3 shows use cases associated with the project management system, but how are actors and use cases related? A specialized type of association, called a communicate association, addresses the question of how actors and use cases are related and which actors participate in or initiate use cases. (Associations are discussed in Chapter 3.)

As discussed in Chapter 2, a communicate association between an actor and a use case indicates that the actor uses the use case; that is, it indicates that the actor communicates with the system and participates in the use case. A use case may have associations with multiple actors, and an actor may have associations with multiple use cases. A communicate association is shown as a solid-line between an actor and a use case.

Figure 4-4 shows that a project manager participates in managing projects, a resource manager participates in managing resources, and a system administrator and backup system participates in administering the system.

Figure 4-4. Actors and use cases
figs/Luml_0404.gif

A navigation arrow on an association pointing toward a use case indicates that the actor initiates the interaction with the system. Figure 4-4 shows that a project manager initiates the interaction with the project management system to manage projects, and a resource manager initiates the interaction with the project management system to manage resources.

A navigation arrow on an association pointing toward an actor indicates that the system initiates the interaction with the actor. Figure 4-4 shows that the project management system initiates the interaction with the backup system to back up project management data.

Rather than use two arrows when either the system or the actor may initiate an interaction, navigation arrows on both ends of such an association are dropped. Figure 4-4 shows that either a system administrator or the system may initiate an interaction to administer the system. The system administrator might initiate an interaction with the system to back up the data, or, for example, the system might initiate an interaction with the system administrator informing the actor that system resources are low.

Be aware, however, that a lack of navigation arrows may simply result from a modeler choosing not to specify anything about the initiation of an interaction. Thus, with respect to Figure 4-4, you can't be absolutely certain that either actor can initiate a system administration interaction. It could be that the system administrator only can initiate the interaction, and the UML modeler simply chose not to specify initiation in this one case. It simply depends on the modeling guidelines the modeler is using.