Chapter 7 Requirments Analysis Part II Use Case Realization • Realization is an activity of developing element that is closer to its implementation. • Use case realization involves – the identification of a possible set of classes, – an understanding of how those classes might interact to deliver the functionality of the use case. – The set of classes is known as collaboration. Use case example Use Case with Collaboration Use Case with Collaboration • This dependency arrow indicates that elements within the collaboration may reference elements within the use case • This is high level abstraction. Assign staff to work on a campaign • • • • • • • • Actor Action 1. None System Response 2.Display list of client names Actor Action 3. The actor selects the client name. System Response 4.Lists all campaigns for that client. Assign staff to work on a campaign • • • • • • • • Actor Action 5.Select the relevant campaign. System Response 6.Displays a list of all staff members not already allocated to this campaign. Actor Action 7. Highlights the staff members to be assigned to this campaign. System Response 8. Presents a message confirming that staff have been allocated. Picking out important things • A first list is picked are campaign manager, client,client name, campaigns, staff. • But we are only interested in those about which the system must store some info or knowledge in order to achieve its objectives. • Eliminate campaign manager since it is an actor and system doesn’t store info for it. • Eliminate client name since it is a an attribute of client. • So the left ones are client, campaign, staff. Steps to take • Next we work on collaboration diagram to show the classes and communication between them. • Then, we work on a communication diagram in order to find out if the classes we identified above are really needed or not. • It will also help us to identify their structure. Inside of the Collaboration diagram • Objects that play a role in the collaboration • a link between two objects allows them to communicate • A collaboration diagram identifies the participating objects and the links between them • Ignores the messages and internal details of an object • Not yet a communication diagram, as no messages are shown. • This design raise some serious design issues. • It locates control of the use case within the client object which will give this class responsibility for tasks that are not directly relevant to the client class. • The introduction of a control object will handle design problem by encapsulating entity classes. Still Collaboration Diagram • All links are routed centrally through the control object. • A boundary object is added too in order to capture input data from the user and display the results back. • This diagram now shows how the interaction will work between objects. First Step of Communication Diagram