SRE-Week-07-UseCase-05052023-114545pm
SRE-Week-07-UseCase-05052023-114545pm
An Overview
Sponsored by:
Karl Wiegers
Principal Consultant, Process Impact
www.processimpact.com
Source Books
◆ Software Requirements,2nd Ed., by Karl E. Wiegers
(Microsoft Press, 2003)
Sponsored By
Agenda
Sponsored By
Three Levels of Software Requirements
Business
Requirements
Vision and
Scope
Document
Business
Rules
User
Requirements
Quality
Attributes
Sponsored By
Eliciting Requirements Through Use Cases
◆ Use cases came from object-oriented world, apply to general
requirements analysis.
◆ Provides a method to capture user requirements.
◆ Focus on actual, but abstracted, usage scenarios.
◆ Ask users:
“Describe a goal you wish to accomplish with the system.”
not:
“What do you want the system to do?”
◆ Explore sequences of ‘actor’ actions and system responses.
◆ Derive functional requirements and tests from use cases.
Sponsored By
What Use Cases Are and Are Not
◆ Definition:
A description of a set of interaction sequences that
a system performs to provide a result of observable
or measurable value to one or more actors.
◆ Use cases describe:
✓ user goals
✓ the user’s view of the system
✓ a set of task-related activities
◆ Use cases do not describe:
✓ user interface designs
✓ technology solutions
✓ application architecture
Sponsored By
Benefits from the Use Case Approach
◆ User-centric: user’s terminology is applied
◆ Task-centric: reveals requirements to get
work done
◆ Helps analysts understand application
domain
◆ Helps avoid building unnecessary
functionality
◆ Permits early drafting of functional tests
◆ Helps set implementation priorities on functional
requirements
Sponsored By
Appropriate Use Case Applications
◆ Use cases work well for:
✓ end-user applications
✓ web sites
✓ devices with which users must interact
10
Sponsored By
Examples of Use Cases
◆ QuickBooks “activities”:
✓ Write a Check ✓ Create an Invoice
✓ Enter Credit Card Charge ✓ Receive Payment
◆ Amazon.com options for an accepted order:
✓ Check Order Status ✓ Change Shipping Options
✓ Cancel Unshipped Items ✓ Track Package
◆ Buy a product online:
✓ Search Catalog
✓ Place Item in Shopping Cart
✓ Pay for Items in Shopping Cart
11
Sponsored By
Naming Use Cases
◆ Name properties:
✓ reflect the actor’s goal from the actor’s perspective
✓ describe a valuable transaction Hi! My
name is:
✓ be general enough to cover related scenarios
◆ Form: active verb + object
✓ “Generate Usage Report,” not “Usage Report Generation”
✓ use strong verbs and specific nouns
12
Sponsored By
User Classes and Actors
◆ User Classes: Distinct communities of users for the product.
◆ Actors: Entities outside the system that interact with it for
the purpose of completing an event.
13
Sponsored By
Scenarios and Use Cases - 1
◆ A scenario is:
✓ one specific path through a use case, or
✓ a story about a specific instance of a use case execution,
perhaps with actual users identified and specific data
◆ Each use case typically includes multiple
scenarios.
✓ could be successful or could be failure modes
14
Sponsored By
Scenarios and Use Cases - 2
More
Abstract
Prepare a mailing label
Sponsored By
Example Use-Case Diagram
Sponsored By
Sample Use Case for an ATM - 1
Name: Withdraw Cash
Actor: Account
Owner Description:
The user withdraws
a specific amount of
cash from a
specified account.
Trigger: Account
Owner selects
Withdrawal action.
Preconditions:
1. The Account
Owner is logged
in to the ATM.
2. The Account
Owner has at 19
least one account
Sponsored By
with a positive
balance.
Sample Use Case for an ATM - 2
Normal Flow:
1. System displays user’s accounts.
2. Account Owner selects desired account.
3. System asks user to choose amount to withdraw
from a list.
4. Account Owner chooses amount to withdraw.
5. System dispenses cash.
6. Account Owner removes cash from dispenser.
20
Sponsored By
Sample Use Case for an ATM - 3
Alternative Flows:
✓ at step 3, actor can choose to enter a custom amount
✓ describe where the branch takes place, what
happens, and where the alternative flow rejoins the
main flow
Exceptions:
✓ amount is not a multiple of $20
✓ amount exceeds daily withdrawal limit
✓ amount exceeds account balance
✓ amount exceeds cash available in ATM
✓ indicate the step number where the exception
could take place and how the system handles
it 21
Sponsored By
Use Cases and Functional Requirements - 1
◆ Two schools of thought:
✓ Use cases are the functional requirements.
✓ Use cases reveal the functional requirements.
Sponsored By
Use Cases and Functional Requirements - 2
◆ Precondition
✓ “The system shall verify that the account is set up for
ATM withdrawals.”
◆ Steps in Flow
✓ “The system shall display a list of standard withdrawal
amounts. The user shall select one of these amounts or
‘Other’.”
◆ Postcondition
✓ “The system shall reduce the total cash remaining in the ATM
by the amount of the withdrawal.”
◆ Business Rule
✓ “The system shall print the available balance on the
receipt, unless the account is a business account.”
23
Sponsored By
Example – Use Case Description- Fully Dressed
Use Case: Enroll on a course
Write a fully dressed use case description of the above
use case
Example use case diagram
30
Example use case diagram 2
Control System
Scan
Set limits
Liason Physicist
Take profile
Experimental
Physicist
Calibrate
Hardware Specialist
31
Example use case diagram 3
<<uses>>
Track sales
and inv. data
Produce
mgt. reports
32
Q&A
27
Sponsored By