Use Case Diagram

Download Report

Transcript Use Case Diagram

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