Use Cases -Use Case Diagram Chapter 3 1 Where are we? 2 Ch 2 Analysis Chapters Investigating System Requirements Ch 3 Ch 4 Ch 5 Use Cases Domain Modeling Extending 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 Too Technical Focused on User Domain Perform Appointment Cancellation Request Cancel Appointment Process Payment Transaction For a Customer: Make Payment For an Employee: Process Payment 4 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 Event Customer cancels order Use Case Cancel order tip verbatim Customer checks if item is available Look up item availability concise Customer changes address Maintain customer data generalize Customer changes phone number Maintain customer data exists 10 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 CRUD - For 1 data entity C R U D CRUD Matrix • • All use cases All data entities • Shows responsibilities 11 CRUD CRUD Order C Create R Read U Update D Delete Use Cases Cancel order Place order Change order Print order report View order status Update customer profile … CRUD Matrix Use Cases Order OrderItem Customer Item Place order Update Customer Profile … 12 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 Customer Use Case − an activity that the system performs Billing <<system>> Time Association − Depicts a usage relationship between an actor and a use case <<includes>> Relationship − Used when one use case (base) includes another use case (the inclusion use case) <<includes>> 15 Use Case Diagram - Example • Prefer "Place an order" 16 Use Case Diagram - Example • Prefer "Place an order" Create new order <<includes>> <<includes>> Lookup item Customer availability <<includes>> Validate customer account Sales clerk <<includes>> Update order 17 Use Case Diagram - Practice ATM System Withdraw cash Customer 18 "Withdraw Cash” Use Case – i.e. scenario Withdraw cash Customer Customer ATM Bank 19 Special Use Cases State-driven use cases − e.g. Polling, Monitoring, Notifications Employee Reorder Stock Time-based Use Cases <<Time>> Generate Payroll 20