<<

The 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  Free 30 day trial   Cloud based platform WEBINAR EXCLUSIVE…  st  Sign up by 1 August & get an hour $45/project/month with a expert to make  Unlimited users sure your first paid project is a success!  Visit www.requirementone.com to get your session. 2 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 3

Sponsored By Source Books

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

 More about , by Karl E. Wiegers (Microsoft Press, 2006)

 Use Cases: Requirements in Context, 2 nd Ed., by Daryl Kulak and Eamonn Guiney (Addison-Wesley, 2003)

4

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

5

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 Constraints

Software Requirements Specification 6

Sponsored By Eliciting Requirements Through Use Cases

 Use cases came from object-oriented world, apply to general .  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 ‘’ 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 user’s view of the system  a set of task-related activities  Use cases do not describe:  designs  technology solutions  application architecture

8

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

9

Sponsored By 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  -driven real-time systems

10

Sponsored By 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

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

Good Examples: Not So Good Examples:  Reserve Rental Car  Enter PIN  Print Invoice  Submit Form 37  Check Flight Status  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

Account Owner Bank Customer Loan Applicant Depositor Chemist Technician Chemical Stockroom Staff Requester Lab Manager

13

Sponsored By Scenarios and Use Cases - 1

 A 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 by second- day UPS.

Chris wants to send a 2.5-pound package by Less second-day UPS from Portland, OR, to Rochester, Abstract 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; user’s identity is verified Postconditions: order has been shown

Actor Actions System Responses

user enters order display order number he wants details to view

user enters order error message: number, but it order number doesn’t exist not found

etc. for all normal and exception pathways

16

Sponsored By Products from Use Case Analysis

Draft SRS Verified SRS Draft Tests

Verified Shared Models Vision Use Case Use Case Draft Models Workshops Descriptions

Business Rules

Data Dictionary 17

Sponsored By Use Case Template

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

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 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 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. User View Developer View

Use Cases 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 SRS Organization Pre ~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ Normal ~~~~~~~~~~~~ Flow ~~~~~~~~~~~~ ~~~~~~~~~ A ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ E ~~~~~~~~~ Post ~~~~~~~~~~~~ ~~~~~~~~~~~~ Rules ~~~~~~~~~~~~ ~~~~~~~~~~~~ Other 24

Sponsored By The Use Case Technique: An Overview NONONO SURPRISES!

25

Sponsored By 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! 26 Q & A

27

Sponsored By