requirements management with use cases
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 PresentationTRANSCRIPT
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
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
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
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.
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
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
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
Rational Requirements Management with Use Cases v5.5Copyright © 1998-2000 Rational Software, all rights reserved 8
Linking Requirements
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%
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
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
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
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
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
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
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.
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
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
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...
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
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)
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?