18.1. What is a Use Case Realization?
The last chapter on basic OO design principles looked at little fragments of design problems. In contrast, this chapter demonstrates the larger picture of designing the domain objects[1] for an entire use case scenario. You will see larger-scale collaborations and more complex UML diagrams.
[1] Recall, as explained on p. 200, that the case studies focus on the domain layer, not the UI or service layers, which are nevertheless important.
To quote, "A use-case realization describes how a particular use case is realized within the Design Model, in terms of collaborating objects" [RUP]. More precisely, a designer can describe the design of one or more scenarios of a use case; each of these is called a use case realization (though non-standard, perhaps better called a scenario realization ). Use case realization is a UP term used to remind us of the connection between the requirements expressed as use cases and the object design that satisfies the requirements.UML diagrams are a common language to illustrate use case realizations. And as we explored in the prior chapter, we can apply principles and patterns of object design, such as Information Expert and Low Coupling, during this use case realization design work.To review, Figure 18.1 illustrates the relationship between some UP artifacts, emphasizing the Use Case Model and the Design Modeluse case realizations.
Figure 18.1. Artifact relationships, emphasizing use case realization.
[View full size image]
- The use case suggests the system operations that are shown in SSDs.
- The system operations become the starting messages entering the Controllers for domain layer interaction diagrams. See Figure 18.2.
- This is a key point often missed by those new to OOA/D modeling.
Figure 18.2. Communication diagrams and system operation handling.
[View full size image] - Domain layer interaction diagrams illustrate how objects interact to fulfill the required tasksthe use case realization.