310 likes | 1.08k Views
Use Cases -Use Case Diagram . Chapter 3. Where are we?. Outline. Use Case – defined Techniques for Identifying Use Cases User Goal Even Decomposition CRUD Analysis UML's Use Case Diagram . Use Case - Defined. Use case - an activity that the system performs
E N D
Use Cases-Use Case Diagram Chapter 3
Outline • Use Case – defined • Techniques for Identifying Use Cases • User Goal • Even Decomposition • CRUD Analysis • UML's Use Case Diagram
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
Identifying Use Cases • 3 Techniques • User Goal • Event Decomposition • CRUD Analysis
Identifying Use Cases- User Goal Technique • Ask the users what they needthe 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
Identifying Use Cases- Event Decomposition • Identify the eventsthat 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
Identifying Use Cases- Event Decomposition • Types of Events • External • Temporal • State
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"
Identifying Use Cases- Event Decomposition • Naming use cases based on events
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
CRUD CRUD Use Cases Cancel order Place order Change order Print order report View order status Update customer profile … CRUD Matrix
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 • <<includes>> Relationship • Used when one use case (base) includes another use case (the inclusion use case) Billing <<system>> Customer Time <<includes>>
Use Case Diagram - Example • Prefer "Place an order"
Use Case Diagram - Example • Prefer "Place an order" Create new order <<includes>> <<includes>> Lookup item availability Customer Validate customer account Sales clerk <<includes>> <<includes>> Update order
Use Case Diagram - Practice ATM System Withdraw cash Customer
"Withdraw Cash” Use Case – i.e. scenario Withdraw cash Customer Customer ATM Bank