Use Cases -Use Case Diagram Chapter 3 1
Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch 5Extending the Requirements Model 2
Outline Use Case – defined Techniques for Identifying Use Cases User Goal Even Decomposition CRUD Analysis UML's Use Case Diagram 3
Use Case - Defined Use case - an activity that the system performs usually in response to a request by a user Functional Requirements Verb + Noun Place order Issue complaint 4 Too Technical Focused on User Domain Perform Appointment Cancellation RequestCancel Appointment Process Payment TransactionFor a Customer: Make Payment For an Employee: Process Payment
Identifying Use Cases 3 Techniques User Goal Event Decomposition CRUD Analysis 5
Identifying Use Cases- User Goal Technique Ask the users what they need the system to do − Identify the users − Interview them − Create the list of use cases Watch out for duplicates, inconsistencies Some users may need the same use case − Verify the list with the users 6
Identifying Use Cases- Event Decomposition Identify the events that occur to which the system must respond. Event - an occurrence at a specific time & place which needs to be remembered Use Case - what the system does when the event occurs Prior Conditions & Events 7
Identifying Use Cases- Event Decomposition Types of Events External Temporal State 8
Identifying Use Cases- Event Decomposition Transaction's Life Cycle System Controls These events are dealt with in the Design Phase − Log in, time to change password, change user preferences, backup the DB, recover a DB "Perfect technology Assumption" 9
Identifying Use Cases- Event Decomposition Naming use cases based on events 10 EventUse Casetip Customer cancels orderCancel orderverbatim Customer checks if item is availableLook up item availabilityconcise Customer changes addressMaintain customer datageneralize Customer changes phone numberMaintain customer dataexists
Identifying Use Cases - CRUD Analysis Can be a tool for: use case identification and/or validation Ensure that there are use cases to cover the CRUD 11 C R U D CRUD Matrix All use cases All data entities Shows responsibilities CRUD - For 1 data entity
CRUD 12 Order CCreate RRead UUpdate DDelete Use CasesOrderOrderItemCustomerItem Place order Update Customer Profile … Use Cases Cancel order Place order Change order Print order report View order status Update customer profile … CRUD Matrix CRUD
UML's Use Case Diagram 13
UML - The Unified Modeling Language An Object-Oriented modeling language "3 Amigos" - Booch, Rumbaugh, and Jacobson Adopted & now managed by OMG (Object Management Group) Models both structure & behavior Structure diagrams − Class diagram, Component diagram, Deployment diagram, Object diagram, Package diagram, etc. Behavior diagrams − Activity diagram, Use Case diagram, Sequence diagram, State machine, Communication diagram, etc. 14
Use Case Diagram A UML diagram depicting the relationship between actors & use cases Defines Scope/Functional Requirements Automation Boundary − The boundary between the software and the actors of the system Actor − Anyone or thing that interacts with the system Use Case − an activity that the system performs Association − Depicts a usage relationship between an actor and a use case > Relationship − Used when one use case (base) includes another use case (the inclusion use case) 15 Time CustomerBilling >
16 Use Case Diagram - Example Prefer "Place an order"
17 Use Case Diagram - Example Customer Sales clerk Create new order Lookup item availability Update order Validate customer account > Prefer "Place an order"
18 Use Case Diagram - Practice Withdraw cash ATM System Customer
19 "Withdraw Cash” Use Case – i.e. scenario CustomerATMBank Withdraw cash Customer
Special Use Cases State-driven use cases − e.g. Polling, Monitoring, Notifications Time-based Use Cases 20 Reorder Stock Employee Generate Payroll >