The functionality defined in the Use Cases is allocated to the classes in the form of Stereotypes. The following class Stereotypes should be used during this process:
- Boundary - Boundary classes either represent interfaces to users or to other systems. These classes represent the VIEW in a typical Model-View-Controller pattern.
- Entity - Entity classes represent the Business Objects and candidate persistent classes of the system. These classes represent the MODEL in the Model-View-Controller pattern.
- Controller - Controller classes are responsible for managing the flow of the subsystem. Business logic resides in the controller classes. These classes represent the CONTROLLER in the Model-View-Controller pattern.
Note: This process is intended to help with new system development, and may not provide as much benefit when enhancing an existing system. It should be used when and at the level that provides the most benefit to the development team.
A Use Case can be realized by one or more diagrams. The following example realizes a Use Case mentioned in the Define Behavior page of the Analysis and Requirements Phase.
The following illustration (click to enlarge) realizes the first two steps of the Use Case using a Robustness diagram:
1. [Actor] issues a request to edit an item.
2. System Retrieves & Presents a List of Items
The next diagram (click to enlarge) builds on the previous by getting the Item details for a selected item. The following illustration realizes the third and fourth steps of the Use Case:
3. [Actor] selects item to edit.
4. System retrieves & presents the selected item details.
This diagram (click to enlarge) builds on the previous diagram and realizes that part of the Use Case where the edited Item Details are validated and updated. Following is an illustration of realizing the last two steps of the Use Case using Robustness diagram:
5. [Actor] edits item details.
6. System validates & records updated item & presents confirmation message.
Once the Robustness diagrams have been completed, an initial object graph involving all the participating objects/classes in the previous Use Case realizations can be created. It is important to show as many of the relationships between objects as possible.
The following is an example of an analysis model based on the earlier Robustness diagrams:
|