The Use Case Technique An Overview Karl Weigers July 2012

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27
At a glance
Powered by AI
The key takeaways are that use cases can be used to capture user requirements and focus on actual usage scenarios. They describe user goals and interactions with the system from the user's perspective.

Use cases describe interactions between actors and the system to achieve a goal. They are used to capture user requirements and focus on actual usage scenarios from the user's perspective rather than technical specifications. Use cases help derive functional requirements and tests.

The main elements of a use case include preconditions, triggers, primary/normal flows, alternative flows, postconditions and exceptions. It also includes the actor(s) and any business rules or constraints.

The Use Case Technique:

An Overview
Sponsored by:

Karl Wiegers
Principal Consultant, Process Impact
www.processimpact.com

Sponsor: RequirementOne
 Save time. Capture use cases quickly
in intuitive Word format and
accurately with all attributes in one
central location
 Quick to implement. Less than 2
minutes to create account + add first
requirement





Free 30 day trial


Cloud based platform
$45/project/month
Unlimited users

 WEBINAR EXCLUSIVE
 Sign up by 1st August & get an hour
with a requirements expert to make
sure your first paid project is a
success!
 Visit www.requirementone.com to get
your session.

Featured Speaker
Karl Wiegers
Principal Consultant, Process Impact
www.processimpact.com

Phone #:

503-698-9620

E-mail:

[email protected]

Blog:

Consulting Tips & Tricks Blog: www.karlconsulting.blogspot.com


Downloadable Process Goodies: www.processimpact.com/goodies.shtml

Sponsored By

Source Books
 Software Requirements,2nd Ed., by Karl E. Wiegers
(Microsoft Press, 2003)

 More about Software Requirements, by


Karl E. Wiegers (Microsoft Press, 2006)

 Use Cases: Requirements in Context, 2nd Ed., by Daryl


Kulak and Eamonn Guiney (Addison-Wesley, 2003)

Sponsored By

Agenda
 Use cases defined
 Benefits of the use case approach
 User classes and actors
 Scenarios and use cases
 Use case elicitation workshops
 Elements of a use case
 Use cases and functional requirements

Sponsored By

Three Levels of Software Requirements


Business
Requirements

Vision and Scope Document


Business
Rules
User
Requirements
Quality
Attributes

Use Case Document


External
Interfaces
Functional
Requirements

Software Requirements Specification


Sponsored By

Constraints

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.
7

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 users view of the system
 a set of task-related activities

 Use cases do not describe:


 user interface designs
 technology solutions
 application architecture
8

Sponsored By

Benefits from the Use Case Approach


 User-centric: users 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

 Use cases arent as valuable for:


 batch processes
 computationally-intensive systems
 event-driven real-time systems

10

Sponsored By

Examples of Use Cases


 Intuit QuickBooks activities:
 Write a Check
 Enter Credit Card Charge

 Create an Invoice
 Receive Payment

 Amazon.com options for an accepted order:


 Check Order Status
 Cancel Unshipped Items

 Change Shipping Options


 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 actors goal from the actors perspective
 describe a valuable transaction
 be general enough to cover related scenarios

Hi! My
name is:

 Form: active verb + object


 Generate Usage Report, not Usage Report Generation
 use strong verbs and specific nouns
Good Examples:

 Reserve Rental Car


 Print Invoice
 Check Flight Status

Not So Good Examples:

 Enter PIN
 Submit Form 37
 Process Deposit

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.
User Classes

Actors

Bank Customer

Account Owner
Loan Applicant
Depositor

Chemist
Technician
Stockroom Staff
Lab Manager

Chemical
Requester

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

Prepare a mailing label to


send a package by secondday UPS.

Less
Abstract

Chris wants to send a 2.5-pound package by


second-day UPS from Portland, OR, to Rochester,
NY. She wants it insured for $75 and she wants a
return receipt. The package is marked fragile.
15

Sponsored By

Use Case Elicitation Workshop


Use Case:
View an order.
Actor: Requester
Frequency: 5/user/day
Preconditions: system contains orders;
users identity is verified
Postconditions:

order has been shown

Actor Actions
user enters order
number he wants
to view
user enters order
number, but it
doesnt exist

System Responses
display order
details

error message:
order number
not found

etc. for all normal


and exception
pathways

16

Sponsored By

Products from Use Case Analysis


Draft SRS
Verified
SRS
Draft Tests
Verified
Models
Use Case
Workshops

Use Case
Descriptions

Shared
Vision

Draft Models

Business
Rules
Data
Dictionary
17

Sponsored By

Use Case Template


Use Case ID:
Use Case Name:
Created By:
Date Created:
Actors:
Description:
Trigger:
Preconditions:
Postconditions:
Normal Flow:
Alternative Flows:
Exceptions:
Includes:
Priority:
Frequency of Use:
Business Rules:
Special
Requirements:
Assumptions:
Notes and Issues:

Sponsored By

Last Updated By:


Date Last Updated:

18

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 least one account with a positive balance.
3. The ATM contains cash.
Postconditions:
1. The requested amount of cash has been dispensed.
2. The account balance is reduced by the amount withdrawn plus any fees.
3. The ATM cash balance is reduced by the amount withdrawn.
Priority: High
19

Sponsored By

Sample Use Case for an ATM - 2


Normal Flow:
1. System displays users 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.

User View

Use Cases

Developer View

Functional
Requirements
22

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

Organizing Information: Use Case and SRS


Use Case Organization

~~~~~~~~~~~~
~~~~~~~~~

Pre

Normal
Flow
A

E
Post
Rules
Other
Sponsored By

SRS Organization

~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~
24

The Use Case Technique: An Overview

NO
SURPRISES!
25

Sponsored By

Sponsor: RequirementOne
 Execute Karls
recommendations TODAY!
 Get for your free 30 day trial
www.requirementone.com
 Benefit from an hour with a
requirements expert to make
sure your next project goes
like a dream!
26

Q&A

27

Sponsored By

You might also like