requirements management with use cases

22
Rational Requirements Management with Use Cases v5.5 Copyright © 1998-2000 Rational Software, all rights reserved 1 Requirements Management with Use Cases Module 2 Introduction to RMUC

Upload: driscoll-patel

Post on 31-Dec-2015

33 views

Category:

Documents


3 download

DESCRIPTION

Requirements Management with Use Cases. Module 2 Introduction to RMUC. RMUC: Course Outline. 0 - About This Course 1 - Best Practices of Software Engineering 2 - Introduction to RMUC 3 - Analyzing the Problem 4 - Understanding Stakeholder Needs 5 - Defining the System - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 1

Requirements Management with Use Cases

Module 2 Introduction to RMUC

Page 2: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 2

0 - About This Course1 - Best Practices of Software Engineering2 - Introduction to RMUC3 - Analyzing the Problem4 - Understanding Stakeholder Needs5 - Defining the System6 - Managing the Scope of the System7 - Refining the System Definition8 - Managing Changing Requirements9 - Requirements Across the Product Lifecycle

RMUC: Course Outline

Page 3: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 3

Introduction to RMUC: Overview

Problem

Solution Space

Problem Space

Needs

Features

SoftwareRequirements

Test Procedures Design User

Docs

The The Product Product To Be To Be BuiltBuilt

Traceability

Page 4: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 4

Why Are We Here?

The GOAL is to deliver quality products

on time and on budgetwhich meet the customer’s

real needs.

Page 5: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 5

Agreement on What the System Should Do

The Goal

Surrogate Goal

RequirementsVerification

CustomerUser Community

Requirements

System To Be Built

Adapted from Al Davis

Page 6: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 6

Definitions: Requirements and Their Management

A requirement is a condition or capability to which the system must conform

Requirements management is a systematic approach to Eliciting, organizing, and documenting the

requirements of the system, and Establishing and maintaining agreement

between the customer/user and the project team on the changing requirements of the system

Page 7: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 7

Requirements Specifications

User Documentation Specifications

User Documentation Specifications

Design Specifications

Design Specifications

Test Specifications

Test Specifications

Use-Case ModelSupplementary Specifications

Supplementary Specifications

Vision Document

Vision Document

Features

SoftwareRequirements

Needs

Page 8: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 8

Linking Requirements

Page 9: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 9

What Factors Contribute to Project Success?

Standish Group, ‘95 (www.standishgroup.com)

Project Success Factors

Only 16% of projects completed on time and on budget (all companies) 9% (large companies) 28% (small companies)

53% of projects over-ran their original estimates Average overrun: 189% (+$59 billion)

31% of projects canceled before completion ($81 billion)

However...

Why are these results so bad?

1) User Involvement

2) Executive Management Support13.9%

3) Clear Statement ofRequirements

11.8%

15.9%

Page 10: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 10

What Factors Contribute to Project Failure?

Standish Group, ‘95 (www.standishgroup.com)

1) Lack of User Input 12.8%

2) Incomplete Requirements and Specifications

12.3%

3) Changing Requirements and Specifications

11.8%

1) Lack of User Input 12.8%

2) Incomplete Requirements and Specifications

12.3%

3) Changing Requirements and Specifications

11.8%

Project Impaired

(canceled) Factors

1) Incomplete Requirements 13.1%

2) Lack of User Involvement 12.4%

6) Changing Requirements and Specifications

8.7%

1) Incomplete Requirements 13.1%

2) Lack of User Involvement 12.4%

6) Changing Requirements and Specifications

8.7%

Project Challenged(over-runs)

Factors

Page 11: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 11

How Can a Use-Case Model Help?

The most important role of a use-case model is to communicate the system’s functionality and behavior to the customer or end user.

The most important role of a use-case model is to communicate the system’s functionality and behavior to the customer or end user.

Models the system to be built Ways to use the system (“use cases”) Surroundings: who interacts with the system (“actors”)

Provides unifying thread for system development Goal is for the system to meet customer requirements The same use-case model is used in Requirements,

Analysis & Design, and Test

Page 12: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 12

An actor represents an external entity that interacts with the system.

A use case defines a sequence of actions performed by a system that yields an observable result of value to an actor.

Actor

Use Case

Use-Case Model: Major Concepts

Page 13: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 13

What Is a Use-Case Model? A Sample System

Bank Consortium

Customer

Deposit Funds

Withdraw Cash

An Automated Teller Machine (ATM)An Automated Teller Machine (ATM)

Transfer Funds

Cashier

A model of what the system is supposed to do (use cases), and the system's surroundings (actors).

Maintain ATM

MaintenanceCrew

Page 14: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 14

A Use-Case Model Is Mostly Text!

Use-Case-Model Survey- survey description

- list of all actors- list of all use cases

Withdraw Cash- brief description- flow of events Transfer Funds

- brief description- flow of events

Deposit Funds- brief description- flow of events

Maintain ATM- brief description- flow of events

Customer

Transfer Funds

Deposit Funds

An ATMAn ATM

Maintain ATM

Withdraw Cash

Bank Consortium

Cashier

Maintenance Crew

Page 15: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 15

1. Read the Requested Features and User Interface sketch for the Sample (ATM) System on the following two slides.

2.Now, look at Sample Use-Case Model in the Handouts: Use-Case-Model Survey for ATM in Handout UC 1 Use-Case Report for Withdraw Cash in Handout UC 3.1 Don’t worry about understanding everything in the

reports. Just observe the structure and content.

Exercise: A Sample Use-Case Model

UC1 and UC3.1

Page 16: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 16

Sample System: Requested Features

Design the software for an automated teller machine (ATM). The ATM requests necessary information from the bank by communicating with the bank’s computer system.

The ATM accepts a cash card, interacts with the user via a display and a key pad, communicates with the bank computer to carry out the transaction, receives and dispenses cash, and prints out a receipt.

A user should be able to withdraw cash, transfer funds between two of her accounts, and deposit to an account.

When a transaction is finished, the card is ejected. The system requires appropriate record keeping and

security provisions.

Page 17: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 17

1 2 3

4 5 6

7 8 9

0

Ready Undo Help

Cash DispenserDeposit Input

Printer

Card Reader

Sample System: Sketch of User Interface

Page 18: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 18

Benefits of a Use-Case Model Use cases are concise, simple, and

understandable by a wide range of stakeholders Use terminology that customers and users understand Verify developer understanding

Use cases give context for requirements Identify the role of the users of the system Identify system interfaces Put system requirements in logical sequences Help verify that all requirements are captured

Use cases facilitate agreement with the customer on system requirements

Page 19: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 19

Customer

A Use-Case Model Helps with ‘Scope Creep’

The customer is aware there is a change to the use-case model

Makes the cost impact visible to the customer

I’ll need a new use case and change some existing use cases...

Page 20: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 20

The High Cost of Requirement Errors

Relative Cost to Repair Errors: When introduced vs. when repaired

20

0.5

1

2

5

.1-.2 Requirements Time

Design

Coding

Unit Test

Acceptance Test

Maintenance

Stage

“All together, the results show as much as a 200:1 cost ratio between finding errors in the requirements and maintenance stages of the software lifecycle.”

Boehm 1988

Average cost ratio 14:1Grady 1989

The 1-10-100 Rule

Page 21: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 21

Involve the Whole Team in Requirements Developers, Testers, Writers

Help develop requirements management practices

Monitor adherence to these practices

Verify elicitation process and outcomes

Help document and communicate requirements

Participate in requirements reviews and

customer walkthroughs

Review traceability outcomes

Verify quality and completeness

Participate in or chair a CCB (Change Control Board)

Page 22: Requirements Management with Use Cases

Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 22

Review: Introduction to RMUC1. What is our goal?2. How can we “measure” quality?

What are the FURPS categories of requirements? What categories within each of these apply to your

product?

3. Why is it important to establish a baseline? How is it done?

4. How can a Use-Case Model help in developing our project?

5. What does the “1-10-100 Rule” tell us about finding defects?

6. What are some ways to involve the development team early?