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