webinar: the use case study an overview

27
Sponsored by: The Use Case Technique: An Overview Karl Wiegers Principal Consultant, Process Impact www.processimpact.com

Upload: requirementone

Post on 19-May-2015

566 views

Category:

Technology


2 download

DESCRIPTION

RequirementOne CEO Martin Gorm Pedersen talks about working with remote teams and how requirements management tools can help. For more information on project management software visit: http://www.requirementone.com/

TRANSCRIPT

Page 1: Webinar: The Use Case Study An Overview

Sponsored by:

The Use Case Technique:

An Overview

Karl Wiegers

Principal Consultant, Process Impact

www.processimpact.com

Page 2: Webinar: The Use Case Study An Overview

2

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

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

� Free 30 day trial

� Cloud based platform

� $45/project/month

� Unlimited users

Page 3: Webinar: The Use Case Study An Overview

Phone #:

E-mail:

3

Sponsored By

Blog:

Featured Speaker

Karl Wiegers

Principal Consultant, Process Impact

www.processimpact.com

503-698-9620

[email protected]

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

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

Page 4: Webinar: The Use Case Study An Overview

Sponsored By

4

Source Books

�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)

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

Page 5: Webinar: The Use Case Study An Overview

Sponsored By

5

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

Page 6: Webinar: The Use Case Study An Overview

Sponsored By

6

Three Levels of Software Requirements

BusinessRequirements

Vision and Scope Document

UserRequirements

Use Case Document

FunctionalRequirements

Software Requirements Specification

Constraints

External Interfaces

BusinessRules

QualityAttributes

Page 7: Webinar: The Use Case Study An Overview

Sponsored By

7

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.

Page 8: Webinar: The Use Case Study An Overview

Sponsored By

8

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

Page 9: Webinar: The Use Case Study An Overview

Sponsored By

9

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

Page 10: Webinar: The Use Case Study An Overview

Sponsored By

10

Appropriate Use Case Applications

� Use cases work well for:

� end-user applications

� web sites

� devices with which users must interact

�Use cases aren’t as valuable for:

� batch processes

� computationally-intensive systems

� event-driven real-time systems

Page 11: Webinar: The Use Case Study An Overview

Sponsored By

11

Examples of Use Cases

� Intuit 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

Page 12: Webinar: The Use Case Study An Overview

Sponsored By

12

Naming Use Cases

�Name properties:� reflect the actor’s goal from the actor’s perspective

� describe a valuable transaction

� be general enough to cover related scenarios

� 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

Hi! My name is:

Page 13: Webinar: The Use Case Study An Overview

Sponsored By

13

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 CustomerAccount OwnerLoan Applicant

Depositor

ChemistTechnician

Stockroom StaffLab Manager

ChemicalRequester

Page 14: Webinar: The Use Case Study An Overview

Sponsored By

14

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

Page 15: Webinar: The Use Case Study An Overview

Sponsored By

15

Scenarios and Use Cases - 2

MoreAbstract

LessAbstract

Prepare a mailing label

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.

Prepare a mailing label to send a package by second-day UPS.

Page 16: Webinar: The Use Case Study An Overview

Sponsored By

16

Use Case Elicitation Workshop

Use Case:

Actor: Requester Frequency: 5/user/day

View an order.

Preconditions: system contains orders;

user’s identity is verified

Actor Actions System Responses

user enters order

number he wants

to view

user enters order

number, but it

doesn’t exist

error message:

order number

not found

display order

details

Postconditions: order has been shown

etc. for all normal

and exception

pathways

Page 17: Webinar: The Use Case Study An Overview

Sponsored By

17

Products from Use Case Analysis

Use Case

Workshops

Use Case

Descriptions

Draft SRS

Business

Rules

Verified

Models

Data

Dictionary

Draft Models

Draft Tests

Verified

SRS

Shared

Vision

Page 18: Webinar: The Use Case Study An Overview

Sponsored By

18

Use Case Template

Actors:

Description:

Trigger:

Preconditions:

Postconditions:

Normal Flow:

Alternative Flows:

Exceptions:

Includes:

Priority:

Frequency of Use:

Business Rules:

Special Requirements:

Assumptions:

Notes and Issues:

Use Case ID:

Use Case Name:

Created By: Last Updated By:

Date Created: Date Last Updated:

Page 19: Webinar: The Use Case Study An Overview

Sponsored By

19

Sample Use Case for an ATM - 1Name: 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

Page 20: Webinar: The Use Case Study An Overview

Sponsored By

20

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.

Page 21: Webinar: The Use Case Study An Overview

Sponsored By

21

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

Page 22: Webinar: The Use Case Study An Overview

Sponsored By

22

Use Cases and Functional Requirements - 1

Use Cases

User View

FunctionalRequirements

Developer View

� Two schools of thought:

� Use cases are the functional requirements.

� Use cases reveal the functional requirements.

Page 23: Webinar: The Use Case Study An Overview

Sponsored By

23

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

Page 24: Webinar: The Use Case Study An Overview

Sponsored By

24

Organizing Information: Use Case and SRSUse Case Organization SRS Organization

Pre

Rules

Post

Other

E

A

Normal

Flow

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

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

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

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

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

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

Page 25: Webinar: The Use Case Study An Overview

Sponsored By

25

The Use Case Technique: An Overview

NONONONONONONONO

SURPRISES!SURPRISES!SURPRISES!SURPRISES!SURPRISES!SURPRISES!SURPRISES!SURPRISES!

Page 26: Webinar: The Use Case Study An Overview

26

Sponsor: RequirementOne

� Execute Karl’s

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!

Page 27: Webinar: The Use Case Study An Overview

Sponsored By

27

Q & A