Академический Документы
Профессиональный Документы
Культура Документы
Neil Potter
Mary Sakry
The Process Group
help@processgroup.com
www.processgroup.com
US 972-418-9541
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 1
Have You Had Any of These Experiences?
❏ Customers are too busy to provide requirements.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 2
Agenda - 1
Page
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 3
Agenda - 2
Page
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 4
Introduction to Software
Requirements Engineering
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 5
What is a Software Requirement?
A condition or capability needed by a user to solve a problem or
achieve an objective*.
*(IEEE Std 610.12, “IEEE Standard Glossary of Software Engineering Terminology”, computer.org)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 6
Three Levels of Software Requirements
#1: Business
Requirements
User Requirements
External
Interfaces
System #3:Functional
Requirements Requirements
Constraints
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 7
Benefits of Requirements Practices
60
50
40
30
20
10
0
Requirements Design Code Development Acceptance Operation
Testing Testing
Development Phase
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 9
Requirements and a Software Life Cycle
High level definition of the Requirements changes are
requirements for the purposes of
estimation (Thin Spec., Backlog) processed here (ò)
Planning Prototype ò ò ò
!R!Requirements
equirements Architecture Build 1 Build 2 Build 3
Gathering
Gathering
ò ò ò
Reqs. Analysis
Design
Code
Test Reqs. Analysis
Prototype high-risk Integrate? Design
areas Release? Code Reqs. Analysis
Test Design
Iron out the Integrate Code
Release? Test
problems with the
life cycle on Build 1 Integrate
Release
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 10
Requirements and Scrum / Agile
Requirements changes are
processed here (ò)
Requirements (user stories)
Backlog Planning
ò ò ò
Sprint 1 Sprint 2 Sprint 3
Reqs. Analysis
Design
Code
Test
Integrate Reqs. Analysis Reqs. Analysis
Test Design Design
Release Code Code
Test Test
Integrate Integrate
Test Test
Release Release
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 11
Requirements and The V-Model
V-Model
From: en.wikipedia.org/wiki/V-
Model_(software_development)
An alternative
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 12
The Requirements Job
■ Learn about the business, its language, and
the objectives of the solution.
■ Sort out requirements information and
structure into set of usable requirements.
■ Help identify and remove requirements
• Elicitation
ambiguities. • Analysis
■ Help establish requirements priorities. • Specification
• Verification
■ Clarify scope and context of solution with other • Validation
systems. • Requirements
Management
■ Educate users / customers on how to use / read
the requirements.
■ Assist in decisions regarding requirements
changes and tradeoffs.
■ Manage changes with stakeholders.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 13
Your Class Expectations
• Your job.
• Requirements problems / issues?
• Expectations for this class?
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 14
Exercise: Pick a Project to Work On
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 15
Requirements Development
& Management Process
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 16
Identify Users
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 17
User Classes
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 18
User Class Example
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 19
The Product Champion
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 20
Potential Product Champion Activities
Planning: ● Define scope and limitations of system
● Define external boundaries and interfaces
● Plan migration pathway from current system to new one
Change
● Evaluate / prioritize bug fixes and enhancements
Management:
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 21
Product Champion Hierarchy for a Large Project
Project Manager
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 22
Exercise: User Classes & Product Champions
■ Select a project
■ Determine user classes
• May differ in:
Ø frequency of use of application
Ø functions used
Ø tasks to be accomplished
Ø education and skill level
Ø privilege or security level
■ Determine at least one product champion for each user class
■ Determine activities you need the Product Champions to do
User Class Name Champion Name Champion
Activities
Uclass#1
Uclass#2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 23
Define Vision and Scope
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 24
Three Levels of Software Requirements
#1: Business
Define
Requirements Vision
& Scope
User Requirements
External
Interfaces
System #3:Functional
Requirements Requirements
Constraints
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 25
Vision and Scope Document
2. Business Requirements
2.1. Background
2.2. Business Objectives (Success
Criteria)
Customer Needs
2.3 Vision and Scope
2.4 Assumptions, Dependencies, Risks, Out of Scope
1) Allow customers world wide to make and track purchases for all consumable
products using a web browser.
2) Allow payment to be made electronically using existing or new accounts.
3) Provide customer with web access to accounts payable and receivable
functions on existing accounts.
4) Capture needs profile of each customer for future marketing use.
5) Provide customizable reporting of system use to executive management
(reporting to be defined).
6) ……
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 27
Another Example - Customer Needs
Req # CURRENT ACCOUNTS
CA 1.1 A/C to A/C transfer (XXX accounts)
CA 1.2 A/C to A/C transfer (to other local banks)
CA 1.3 Transfer from XXX A/C to a Beneficiary through a XXX Branch
CA 1.4 A/C to A/C transfer (to international banks thru pre-defined transfer)
CA 1.5 Utility bill payments
CA 1.6 Request additional XXX ATM card
CA 1.7 Report lost/stolen XXX ATM card with option to request a replacement
CREDIT CARD
CC 1.1 Apply for a XXX VISA / MasterCard
CC 1.2 XXX VISA/MasterCard credit card payment with the option to pay for another XXX credit card
CC 1.3 Transfer from XXX VISA / MasterCard to Current A/C
CC 1.4 Change of XXX VISA / MasterCard address
TIME DEPOSIT
TD 1.1 Book a Time Deposit from a current account
TD 1.2 Commission Rate Inquiry/Display Rates
TD 1.3 Change interest account assignment
PERSONAL FINANCE
PF 1.1 Apply for Consumer Loan
PF 1.2 Inquiry on loan outstanding amount, installment amount, due amount
PF 1.3 View loan statement
FINANCIAL PLANNING
FP 1.1 Plan Details
FP 1.2 Payment Details
FP 1.3 Investment Details
FP 1.4 Benefit Details
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 28
Vision and Scope
Customer needs
2. Business Requirements Internal & 1. Make/track purchases
2.3 Vision and Scope Corporate 2. Electronic payment
Clients 3. Setup customer web access
4. Needs marketing
Context Diagram 5. Exec. Mgt. reporting
• The system name 1+2. Make/ 1+2. Make/
goes in the circle track track
Response Request Auto Stock
• Outside boxes Request
Buy/track
represent major Request
external entities Retail
Our Suppliers
System
• Flows between Stores Auto Stock
externals and the Buy/track Response
Response
system comprehend
customer needs 3. New a/c Set up +
4. Needs Marketing
• Diagram helps
Exec.
clarify/refine Mgt.
requirements Sales
Staff
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 29
Context Diagram Example - 1
Chemist
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 30
Context Diagram Example - 2
Graphics
designer
validation
validate design editable
design
design
issues
design
copy
edit
config
and d ure users
evices
Sys. Admin
config data
. repo Graphics
rt request parts list Production
Editor Coordinator
get component
specs
request status
Competitor status report
Data report
Component
Management Database
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 31
Vision and Scope Document
Assumptions (Facts you are assuming to be true or false)
2. Business 1 The OS will be Win vX only. Notes
Requirements 2 All data formats will remain unchanged (i.e., version X)
2.4 Assumptions, 3 Only systems 1-4 will be supported.
Dependencies,
Risks, Out of Scope Dependencies (Tasks or deliverables your team needs from others)
Out of Scope
1 Win vY support.
2 Cloud support.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 32
Exercise: Business Requirements and
Context Diagram
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 33
Understand User Needs
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 34
Three Levels of Software Requirements
#1: Business
Requirements
! Define
Vision !
Vision and Scope ! & Scope
Quality Business
Attributes Rules
#2: User
Requirements
Other Nonfunctional
Requirements
User Requirements
External
Interfaces
System #3:Functional
Requirements Requirements
Constraints
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 35
The Need for Customer Involvement
Customer involvement is a
critical factor in software quality.
Expectation Gap
Surprise!
Time
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 36
Incremental Requirements Definition
Don’t necessarily clarify
all user needs for the
whole system initially.
Consider focusing on
areas that are the:
■ Highest priority
■ Highest revenue
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 37
Sources of Software Requirements - 1
Documents Interviews
• descriptions of current or competing • focus groups of
products representative customers
• standards or regulations • use case workshops with
users + developers
• help desk problem reports
• product champions as key
customer representatives
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 38
Sources of Software Requirements - 2
Watch users do their jobs Prototyping
• create workflow diagrams • useful for
• “day in the life” studies requirements, design,
and implementation
• look at what information the
user has when performing a
particular task
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 40
Organizing Requirements Information
External
Interface Data Definition
Requirement
■ Business Requirement
• statement of a customer or business benefit
Ø “increase market share by X%”
Ø “save $Y per year on electricity by replacing inefficient units”
Ø “save $Z in maintenance costs by retiring legacy systems”
■ Use Case
• describes a task a user would need to do
Ø “print a mailing label for a package”
Ø “manage a queue of samples to be analyzed”
Ø “calibrate the pump controller”
■ Business Rule
• describes a policy, standard, or regulation
Ø “only the lead site operator can override the safety alert”
Ø “must comply with FDA standard 137-B”
Ø “only system admin can modify system files”
Ø “only animators can modify a character file”
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 42
Requirements Classification Cues - 2
■ Quality Attribute
• describes how well the system performs some function
Ø “mean time between failure >= 100 hours”
Ø “noise level cannot exceed 78 dB at 20 meters”
■ Constraint
• states a limitation on design or implementation choices
Ø “must run in 4 XX of memory”
Ø “must be backwards compatible with 3.X versions”
Ø “must use Oracle N.1 or later run-time engine”
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 43
Requirements Classification Cues -3
■ Data Definition
• describes a data item or structure
Ø “format of a charge number is a 3-character department prefix,
a hyphen, and a 6-digit project code”
Ø “default value for the control temperature is 75.0 ºF”
■ Solution Idea
• suggests one possible way to solve the problem
Ø “user selects the desired value from a dropdown list”
Ø “program must be written in Java”
Ø “got to be on the cloud”
■ Functional Requirement
• states how system behaves under certain conditions
Ø “if the pressure exceeds 40.0 psi, the amber pressure warning
light must come on”
Ø “user must be able to sort the project list alphabetically”
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 44
Practice Session: Classifying Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 45
Use Cases
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 46
Gathering Requirements Through Use Cases
■ Provides a method to capture user requirements
■ Focus on actual, but abstracted (“essential”) usage scenarios
■ Ask users:
“Describe a task (or goal) you need to perform”
- Spell check all database fields with 1 click and output result
on screen or file
- Save data in formats A, B and C on local machine and/or
cloud
- Import from formats A, B, C – single file or batch
not:
“What features would you like?”
- Spelling check
- Save
- Import
■ Explore sequences of user actions and system responses
■ Derive functional requirements and test cases from use cases
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 47
Use Case in Context
Draft
User Reqs.
Verified
User Reqs.
Shared
User User Draft Test Vision
Workshops Reqs. Cases
v1.0
Verified
Models
Draft Models
Business
Rules
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 48
User Story vs. Use Case
1-liners can be
User Story ambiguous
and lead the
As an account owner, I want to withdraw cash developer to
As an account owner, I want to deposit cash guess
As an account owner, I want to deposit check(s)
As an account owner, I want to deposit foreign check(s)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 49
Use Case Workshop Approach
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 50
Benefits from the Use Case Approach
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 51
Examples of Use Case Statements
(also called User Stories, “As user X, I want to…”)
■ See which flight has the lowest fare from city A to city B
on a specified date.
• with an advance ticket purchase
• without an advance ticket purchase
■ Pay for a purchase with payment options A, B, C.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 52
Graphical Option - Use Case Diagrams
Receive
Chemical
Obtain Training
Material Safety Database
Data Sheet Takes
Search Vendor
up lots
Catalogs of
Request a
Chemical
space!
Manage Chemical
Requester Inventory Stockroom
Staff
Check
Order
Status
Dispose of
a
Health & Chemical Buyer
Safety Dept.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 53
Sample Use Case for an ATM - 1
[Elicitation questions]
Name: Withdraw Cash [What does the user want to do?]
Actor: Account Owner [Who?]
Description:
The user withdraws a specific amount of cash from a specified account.
Trigger: Account Owner selects Withdrawal action [What initiates it?]
Preconditions: [What state is the user / system before the event?]
1. The Account Owner is logged in to the ATM.
2. The Account Owner has at least 1 account with a positive balance.
3. The ATM contains cash.
Postconditions: [What state is the user / system after the event?]
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
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 54
Sample Use Case for an ATM - 2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 55
Use Case Template
User story
Description
Screen#
Trigger
Preconditions
Postconditions
User / Actor System Response
Normal Flow
Alternative Flows
Exceptions
Business Rules
Assumptions
Notes and Issues Note / Issue Resolution
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 56
Use Cases and Business Requirements - 1
Business Requirements
Centralized system for managing all photo images:
• Storage cost <=$X/year/10K photos.
• Import-to-publish processing time <=2 mins per photo (with no edits).
Notes
BO#1 One storage location for all photos.
CN#1.1 Imports from photo sources to complete in 5 minutes (total).
CN#1.2 Customized master storage location.
CN#1.3 Customized list of allowed sharing devices.
BO#2 Viewing, editing, printing from any portable device and browser.
CN#2.1 1-click printing from any device.
CN#2.2 Labeling /version control.
BO#3 Creating and managing accounts.
CN#3.1 Ability to add friends, suppliers, co-managers to account.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 57
Use Cases and Business Requirements - 2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 58
Example Use Case #2 - 1
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 59
Example Use Case #2 - 2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 60
Example Use Case - Another Format - 1
Brief Description
This describes the process for subscribing to a XXX mutual fund for the first time
by debiting a XXX account.
Preconditions
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 61
Example Use Case - 2
Basic Flow
1 A disclaimer language that the customer has read, understood and accepted the Terms &
Conditions.
2 The customer will be able to apply for multiple funds at the same time. For this the shopping
cart mechanism will be adopted. As the customer decides to exercise this option all the existing
accounts of the customer, with their outstanding balances will be fetched from the STAR
system. Support will be provided only for SAR & USD accounts and funds.
3 Every cart module, will allow user to subscribe to one fund. The components of the module
are:
a. Fund Name: This will get all the existing fund names from IMFS.
b. Fund Currency: Each Fund will have a currency associated with it.
c. A/C balance: The value for this field before the customer makes the first subscription,
once in a session, will be the balance fetched from STAR, on logging in. The rule for the
reduction in balance will be as follows:
i. Case 1: For SAR Mutual Funds from SAR accounts
New Balance= (Balance carried over from the previous cart, where this account was used
(if not used in the session, then the STAR balance at log on)-(Amount of SAR Funds
Subscribed to+ Subscription Fee)
ii. Case 2: For SAR Mutual Funds from USD accounts
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 62
Example Use Case - 3
4 Once the customer has finished adding a set of transactions to the shopping cart, a summary of
the transactions for the session will be displayed. The user can select the following:
a. I Agree: User agrees to the transactions.
b. Cancel: User will cancel the entire transaction set.
c. Modify: If the customer decides to modify, the entire transaction set will be displayed and
the customer can change the values and funds selected.
5 The customer selects 4(a). The transaction set then flows to the STAR system for validation for
Initial Balance = Balance at the end of transaction session. This will be to check if there was any
transaction on the customer account(s), while user was in session. Note: The transaction set flows
into the IMFS system, one subscription at a time.
Alternative Flow
1. Exception to 5: The use case terminates in case of 4(b)
2. Exception to 6: The transaction set flows into the IMFS when 5 is True but gets rejected
by IMFS. Show the rejection messages for the failed transaction(s).
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 63
Example Use Case - 4
Association
Screen # 3.1 – USER INTERFACE
Verification Screen- Subscription to XXX Funds
Post Condition
The customer has been able to subscribe to XXX mutual funds.
Business Rules
1. Minimum subscription amount for XXX Mutual Funds will be available as fund parameters.
2. To identify customers subscribing to XXX Mutual Funds for the first time, system will check
if user has holdings on any XXX Fund. If user doesn’t this will be considered as a new
subscription. Else this will be considered as an additional subscription. Note for customers
which don’t have any holdings at present, in any fund, will be treated as a new customer.
3. Default values will be used (e.g. mid rate will be used for cross-currency, subscription fee
as per fund parameters)
4. There will be no limit for this transaction - the customer can subscribe as much as user
wants to as long as there are sufficient funds in user's account.
5. Confirmation to customers once the transaction is executed will be sent by internal mailbox.
The existing IMFS advices sent to the customers through mail will continue without any
change to meet this requirement.
6. The transaction will be created with “Verified Status” immediately - immaterial of the
amount of the transaction. Predefined ID’s will be used while creating the transaction.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 64
Appropriate Use Case Applications
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 65
Capturing Data Definitions - Data Dictionary
User story
Description
Screen#
Trigger
Preconditions
Postconditions
User / Actor System Response
Normal Flow
Alternative Flows
Exceptions
Business Rules
Assumptions
Notes and Issues Note / Issue Resolution
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 67
Event Tables
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 68
System Events as User Requirements
Sensor
Actor
External Database
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 69
Event-Response Table: Windshield Wipers
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 70
Three Levels of Software Requirements
!
#1: Business
Requirements Understand
!
User Needs
#2: User
Requirements
! Quality
Attributes
Business
Rules
Other Nonfunctional
User Requirements
! Requirements
External
Interfaces
System #3:Functional
Requirements Requirements
Constraints
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 71
Quality Attributes
!
#1: Business Understand
Requirements User Needs
Other Nonfunctional
User Requirements
! Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 72
Software Quality Attributes
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 73
Documenting Quality Attributes - 1
Performance: Speed.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 74
Documenting Quality Attributes - 2
Robustness: Product still functions with bad input & user error.
• All inputs shall have default values specified, to be used if
the input data is not supplied or is invalid.
Maintainability: How easy it is to maintain the software.
• Support costs are 1 person / year or less.
• The ratio of comments to source statements shall be at
least 0.5.
Testability: Ease with which each feature can be tested.
• A test case can be written for each requirement.
• The user interface can be tested with playback scripts.
Flexibility: Effort needed to add new product capabilities.
• It shall be possible to add a new supported hardcopy
output device in two hours or less.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 75
Business Rules
!
#1: Business Understand
Requirements User Needs
!
Vision and Scope
!
#2: User
Requirements
! Quality
Attributes
Business
Rules
Other Nonfunctional
User Requirements
! Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 76
What Are Business Rules?
YIELD
ONE WAY
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 77
Typical Business Rules
Business Rules
Facts
true statements
Constraints
algorithms
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 78
Examples of Business Rules - 1
■ Facts
• Every chemical container has a unique bar code identifier.
• Every order must have a shipping charge.
• Sales tax is not computed on shipping charges.
■ Constraints
• A user may request a chemical on the Level 1 hazard list only
if he has had hazardous-chemical training within the past 12
months.
• A library patron may place up to 10 items on hold.
• Correspondence may not display more than four digits of the
policyholder’s Social Security number.
• Commercial airline flight crews must receive at least eight
hours of continuous rest in every 24-hour period.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 79
Examples of Business Rules - 2
■ Action Enablers
• If the chemical stockroom has containers of a requested
chemical in stock, then offer existing containers to the
requester.
• If the expiration date for a chemical container has been
reached, then notify the person who currently possesses
that container.
• On the last day of a calendar quarter, generate the
mandated government reports on chemical handling and
disposal for that quarter.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 80
Examples of Business Rules - 3
■ Inferences
• A container of a chemical that can spontaneously form
explosive peroxides is considered expired one year after its
date of manufacture.
• If the vendor cannot ship an ordered item within five days of
receiving the order, then the item is backordered.
■ Imposed Computations
• The domestic ground shipping charge for an order that weighs
more than 2 pounds is $4.75 plus 12 cents per ounce.
• The total price for an order is computed as the sum of the
price of the items ordered, less any volume discounts, plus
state and county sales tax for the location to which the order is
being shipped, plus the shipping charge.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 81
A Business Rules Catalog
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 82
Other Nonfunctional Requirements
!
#1: Business Understand
Requirements User Needs
!
Vision and Scope
! !
#2: User
Requirements
! Quality
Attributes
Business
Rules
Other Nonfunctional
User Requirements
! Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 83
Nonfunctional Requirements
Nonfunctional Requirements:
■ An term commonly used in industry. IEEE
defines them as:
• Performance Requirements
• Safety Requirements
• Security Requirements
• Software Quality Attributes
• Business Rules
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 84
Exercise:
Writing Quality Attributes and Business Rules
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 85
Derive Functional Requirements
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 86
Three Levels of Software Requirements
!
#1: Business
Requirements Derive
Functional
! Requirements
! !
Vision and Scope
! Quality
Attributes
Business
Rules
!
#2: User
Requirements
Other Nonfunctional
User Requirements
! Requirements
External
Interfaces
System #3:Functional
Requirements Requirements
Constraints
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 87
External Interfaces & Constraints
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 89
Three Levels of Software Requirements
!
#1: Business
Requirements Derive
Functional
! Requirements
! !
Vision and Scope
! Quality
Attributes
Business
Rules
!
#2: User
Requirements
Other Nonfunctional
! Requirements
User Requirements
External !
System
Requirements
! #3:Functional
Requirements
Interfaces
Constraints !
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 90
Deriving Functional Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 91
Functional Requirements Example - Style 2
Business Requirement 7:
Support sales force in creating and managing Internet accounts for customers.
No system use will be possible if the license is invalid. The site admin will be asked for a
license renewal number annually.
The system will remember partial profile creations, should the site admin not complete the
profile creation process at one time. The site admin will be able to continue where he/she left
off.
The admin tool will not provide any record locking and will depend on the default record
locking provided by the database.
There will be only one site admin per user.
Control characters (defined in X standard) will be rejected with warning code 16.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 92
Exercise: Writing Functional Requirements, System
Requirements, External Interfaces and Constraints
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 93
Three Levels of Software Requirements
!
#1: Business
Requirements
!
! !
Vision and Scope
! Quality
Attributes
Business
Rules
!
#2: User
Requirements
Other Nonfunctional
! Requirements
!
User Requirements
External
System
Requirements
! #3:Functional
Requirements
! Interfaces
Constraints !
Software Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 94
Requirements Specification Approaches
Textual
• Vision and Scope Document
• Use Case Document
• Software Requirements Specification
Graphical
• Structured analysis models (such as data
flow diagram, entity-relationship diagram,
state-transition diagram, dialog map)
• Object-oriented analysis models
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 95
Where to Store Requirements?
Tool issues
Easy to use?
Baseline?
Cost?
Customizable?
Stuff Spreadsheet Export?
Separate out:
User requirement
Project task
Project issue
Bug
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 96
Software Requirements Specification (SRS) - 1
■ Definition
• A set of precisely stated properties and constraints that a
software system must satisfy.
• A complete description of the behavior of a software system.
■ Objectives
• To achieve agreement regarding the requirements among
developers, customers, and other stakeholders.
• To provide the basis for software design.
• To support verification and validation of the software.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 97
Software Requirements Specification - 2
Requirements
■ Keep in mind the audience:
Audience: A
• Customers, end users, marketing
• Project management Audience: A+
B
• Software development team Audience: A+
B+C
• Testing group
• Software maintenance and support
• Quality assurance, configuration management, training, legal,
publications
■ Consider one document, incrementally completed by
different roles:
• Work together to speed up communication.
■ Keep it up-to-date so that it always reflects the goal:
• People will ignore a bad / out-of-date spec.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 98
Concise, No Repeat (Document or Tool)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 99
Using IEEE? Trim It Down!
(adapted from IEEE Standard 830-1998 and EEE/ISO/IEC 29148-2011)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 100
Use Cases and the SRS
OPTION 1:
Use Cases Functional Spec.
■ Write a separate use case document Feature 1
Functional Reqs.
■ Organize section 4 of SRS by feature, Feature 2
with detailed functional requirements Functional Reqs.
OPTION 2: SRS
Use Case 1
■ Organize section 4 of SRS by use case, with Functional Reqs.
functional requirements as details Function 1
■ Cross-reference duplicate functional Use Case 2
Functional Reqs.
requirements, or <Function 1>
■ Consider defining common functions in SRS with
references in use cases (e.g., record locking)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 101
Software Requirements Specification
Revised Layout with Use Cases
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 102
Writing Quality Requirements
■ Short:
• Discretely testable.
• No “and” and “or” - suggests multiple requirements.
• Use “shall,” “must,” or “will,” not “should,” “might,” or “may.”
• Avoid ambiguous words: minimize, maximize, optimize, rapid.
• Label each requirement.
• Organize similar requirements into tables.
• Avoid redundancies.
■ Don’t over constrain with design information:
• One project reduced 800 requirements to 80 when they removed design
suggestions!
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 103
Characteristics of Quality
Requirement Specifications
Complete nothing is missing; no “To Be Determineds”
Consistent does not conflict with other requirements
Correct accurately states a customer or external need
Feasible can be implemented within known constraints
Modifiable can be easily changed, with history, when necessary
Necessary documents something customers really need
Prioritized ranked as to importance of inclusion in product
Traceable linked to system requirements, and to designs,
code, and tests
Unambiguous has only one possible meaning
Verifiable correct implementation can be determined by testing,
inspection, analysis, or demonstration
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 104
Analyze & Verify Requirements
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 105
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 106
Requirements Prioritization
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 107
Requirements Prioritization
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 108
Requirements Prioritization Scales
■ One scale:
High = must be included in this release
Medium = must be included, but can wait for later release
Low = would be nice to have if we can fit it in
■ Another scale:
Necessary = mission critical
Important = supports necessary system operations
Desirable = a functional, quality, or usability enhancement
■ A third scale
Essential = product is not acceptable without this
Conditional = enhances product, but it’s not unacceptable if absent
Optional = functions that might or might not be worthwhile
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 109
Analytical Prioritization
Bus. Req. / Benefit Penalty Total Value Rel. Cost Rel. Risk Priority
Use Case / Value % Cost % Risk %
Feature
spell check
grammar
check
indexing
table of
contents
table border
wizard
Totals
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 110
Estimating Relative Value of Features
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 111
Estimating Feature Costs
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 112
Estimating Feature Priority
1 A L X A/(L+X)
2 B M Y B/(M+Y)
3 C N Z C/(N+Z)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 113
Prioritization Example: A Word Processor
Bus. Req. / Benefit Penalty Total Value Rel. Cost Rel. Risk Priority
Use Case / Value % Cost % Risk %
Feature
spell check 6 8 14 35% 3 15% 2 13% 1.25
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 115
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 116
ARM: A Tool for Checking Requirements
is required to is required to 0 0
are applicable are applicable 0 0
are to are to 0 0
responsible for responsible for 0 4
will will 138 81
should should 7 32
---------- ----------
TOTAL TOTAL150 118
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 117
ARM Example
(Continued)
Spec 1 Spec 2
CONTINUANCE CONTINUANCE OCCURRENCE OCCURRENCE
--------------------
-------------------- ---------- ----------
below: 1
Requirements
below: 0
as follows: as follows: 2 0
following: following: 1 1
listed: listed: 0 0
in particular: in particular: 0 0
support: support: 0 0
and and 23 25
: : 25 9
---------- ----------
TOTAL TOTAL51 36
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 118
ARM Example
(Continued)
Spec 1 Spec 2
DIRECTIVE DIRECTIVE OCCURRENCE OCCURRENCE
----------------------------------------
---------- ----------
e.g. e.g. 4 0
Clarification
i.e. i.e. 1 0
For example For example 0 0
Figure Figure 0 0
Table Table 0 0
Note: Note: 6 0
---------- ----------
TOTAL TOTAL
11 0
can can 18 5
may may 1 2
Optionally Optionally 0 0
---------- ----------
TOTAL TOTAL19 7
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 119
ARM Example
(Continued)
be capable of be capable of 0 0
capability of capability of 0 0
capability to capability to 0 0
effective effective 0 0
as required as required 0 0
normal normal 0 2
provide for provide for 0 0
timely timely 0 0
easy to easy to 1 0
---------- ----------
TOTAL TOTAL 3 8
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 120
ARM Example
(Continued)
Spec 1 Spec 2
INCOMPLETE INCOMPLETE OCCURRENCE OCCURRENCE
-------------------- ----------
-------------------- ----------
TBD TBD 0 0
TBS TBS 0 0
TBE TBE 0 0
Gaps
TBC TBC 0 0
TBR TBR 0 0
not defined not defined 0 0
not determined not determined 0 0
but not limited to but not limited to 0 0
as a minimum as a minimum 0 0
---------- ----------
TOTAL TOTAL 0 0
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 121
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 122
Data Flow Diagram
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 123
State-Transition Diagrams
condition 1;
outcome 1
condition 2;
second system outcome 2 third system
state state
condition 4;
outcome 4
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 124
User Interface Modeling Using a Dialog Map
enter system exit system
cancel
select file
operations return to menu
select
rename select
delete
Rename a Delete a
File Dialog File Dialog
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 125
Benefits of a Dialog Map
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 126
A Possible, Partial ATM Dialog Map
try #3; retain card Welcome
Screen Common Commands
insert card cancel; eject card Exit Welcome
Exit or done;
Screen
eject card
Incorrect incorrect PIN
Prompt
PIN message for PIN
try #1 or #2
PIN okay
different
select account account
invalid amount;
Amount custom amount Prompt for show error message
Options Amount
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 127
Dialog Map for Chemical Example
cancel cancel
DB40
select chemical
to order
DB50 DB60
order new bottle
stockroom list of vendors
sample list for chemical
DB70
current chemical
request list
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 128
A Possible Airline Reservation Dialog Map
exit system enter system
unsuccessful; give up
Main Menu
payment ok Screen select seat
select pay with choose chosen
credit card seat
select done
cancel select print printing
flight choose display function
selection flights available
seats
invalid city;
appropriate invalid date print
enter options
pay with error cities and menu
credit card message OK date
tickets print print itin.
valid city printed tickets itinerary printed
and date try
scan/bad; entered something
scan/invalid try again else
message: message:
printing printing
show tickets itinerary
available
unreadable flights
or invalid choose
credit card choose next
flight flight
done
display
current
itinerary
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 129
Exercise: Dialog Map
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 130
Decision Tables and Decision Trees
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 131
A Sample Decision Table
Requirement
Condition
1 2 3 4 5
Requester is authorized F T T T T
Chemical is available — F T T T
Chemical is hazardous — — F T T
Requester is trained — — — F T
Action
Accept request X X
Reject request X X X
no reject no accept
request request
no reject no reject
request request
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 133
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 134
Where They are Used
Inspection
of product
with peers
Develop Refine
idea idea
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 135
Informal Requirements Review
2.1.4 A charge number shall be entered for each chemical ordered. [Priority 1]
2.1.4.1 Charge numbers shall be validated on-line against the master corporate
charge number list, if possible. The order shall be accepted even if the charge
number cannot be validated.
2.1.4.2 The charge number entered shall apply to an entire order, not to
individual line items in the order.
2.1.4.3 Each order shall have space for the user to enter several lines of free-
form text (a comment) along with the order details.
2.1.4.4 If the charge number is invalid, the order shall not be accepted. The user
can either postpone the order for future completion, or exit from the application.
Y N Complete Y N Necessary
Y N Consistent Y N Prioritized
Y N Correct Y N Traceable
Y N Feasible Y N Unambiguous
Y N Modifiable Y N Verifiable
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 136
An Imperfect Requirement - 1
■ Problems?
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 137
A Better Requirement - 1
■ Problems?
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 139
A Better Requirement - 2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 140
An Imperfect Requirement - 3
■ Problems?
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 141
A Better Requirement - 3
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 142
Inspection (Peer Review)
■ Low-level
■ Standard
Document Owner/ Moderator & Scribe
Reviewer ■ Common-errors
Checklist
■ Reference
Material
Reviewers
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 143
Reviewing Requirements
Conduct an inspection:
■ Select 3 pages of an example SRS.
■ 10 minutes individual preparation:
• Note the defects, severity (major, minor), location (line/page/
paragraph)
■ 15 minutes defect logging.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 145
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 146
Test Case Generation
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 147
Test Case Generation Exercise
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 148
Analyze & Verify Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 149
Why Do Prototyping?
Risk!
Cut corners = software rust
Identify
Start Users
Manage Define
Requirements Vision
Changes & Scope
Analyze &
Verify Understand
Requirements User Needs
Derive
Functional
Requirements
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 153
Key Requirements Management Practices
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 154
Requirements Version Management
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 155
Requirements Change Control
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 156
Example Change Control Processes
Originator submitted
a change request
Purpose: A checklist used to understand, confirm and
manage requirements changes.
Submitted q Plan the requirements definition/review event:
Evaluator performed • Date:
impact analysis
CCB decided
• Time / resources needed:
not to make
the change
• Responsibility:
Evaluated Rejected
• Stakeholders:
CCB decided to make
the change, allocated
- Name, Role
it to a release, and
assigned a Modifier q Discuss new and changed requirements with
stakeholders to clarify understanding:
Approved change was canceled
• Review current requirements and proposed
Modifier has made
changes to requirements
verification
failed the change and
requested verification
• Resources needed to implement change
• Current commitments and deadlines impacted
change was • Added risks and mitigation actions
Change Made Canceled
canceled
• Record stakeholder commitments
no verification Verifier has
required; Modifier
has installed
confirmed the q Record major issues/actions
change
product
change was canceled
q Update traceability mapping:
Verified • Label requirement 1 thru N
Modifier has
• List impacted work products (e.g., design, code,
installed product test plan, test cases)
Closed
q Baseline requirements version in project folder:
project_N-requirements_vX
processgroup.com/change_control_process.doc
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 157
Change Control Board
(or Scrum Team)
■ Diverse individuals:
• development
• project management
• customer
• testing
• documentation
■ Authorized to make binding decisions:
• Define charter and process to be followed
■ Consider change requests periodically:
• request impact analysis
• make accept/reject decisions
• set priorities or targeted releases
• communicate decisions and impacts to stakeholders
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 158
Ways to Document Requirements Changes
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 159
Impact Analysis for Requirements Changes - 1
*Software Project Management Plan, Software Configuration Management Plan, Software Quality Assurance Plan
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 160
Impact Analysis for Requirements Changes - 2
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 161
Impact Analysis for Requirements Changes - 3
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 162
Requirement Attributes
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 163
Tracking Requirements Volatility
16
Number of Req. Changes
14
12
10
8
6
4
2
0
0 5 10 15 20
Weeks After SRS was Baselined
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 164
Requirements Change Origin
30
Number of Req. Changes
25
Marketing
20 Management
Customer
15
SW Group
10 Other Eng.
Testing
5
0
Source
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 165
Example Requirements Status Tracking
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 166
Requirements Status Tracking
100%
90%
Percent of Requirements
80%
70%
60% Proposed
Approved
50%
Implemented
40% Verified
30% Deleted
20%
10%
0%
1 2 3 4 5 6 7 8 9 10
Month
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 167
Requirements Traceability
Software Requirement
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 168
Requirements Traceability Matrix
Benefits:
1. No requirements are overlooked during design and
implementation.
2. You can see at a glance what work has been completed.
3. If a test fails, it points to the code to search for the
problem.
4. A requirement change points to the affected design,
code, and test elements.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 169
Commercial Requirements Management Tools
[Ref215]: seilevel.com/ wp-content/uploads/ 2011/09/ Seilevel-RequirementsManagementToolEvalResults2.xls
www.toolsjournal.com/requirements-management-tools/
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 170
Requirements Management Tool Capabilities
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 171
Summary
Requirements Good Practices
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 172
Elicitation
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 173
Analysis
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 174
Specification
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 175
Verification and Validation
■ Evaluate prototypes
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 176
Requirements Management
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 177
Improving Your Requirements
Practices
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 178
Exercise: Requirements Improvement Plan
■ Consider 3 timeframes:
• next week, next month, in six months
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 179
Improving Your Requirements Processes
Motivation to take
action (e.g., benefits
you hope to gain)
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 180
For Further Reading
1. Wiegers, Karl E; Beatty, Joy. Software Requirements, 3rd Ed. Redmond, Wash.:
Microsoft Press, 2013.
2. CMMI for Development. Version 1.3. November 2011.
1. http://cmmiinstitute.com/cmmi-solutions/cmmi-for-development/
3. Gottesdiener, Ellen. Requirements by Collaboration: Workshops for Defining Needs.
Boston: Addison-Wesley, 2002.
4. Gottesdiener, Ellen. The Software Requirements Memory Jogger. Salem, NH: Goal/
QPC, 2005.
5. IEEE Std. 830-1998, "Recommended Practice for Software Requirements
Specifications." Los Alamitos, Calif.: IEEE Computer Society Press, 1998.
6. Kulak, Daryl, and Eamonn Guiney. Use Cases: Requirements in Context, 2nd Ed.
Boston: Addison-Wesley, 2003.
7. Robertson, James and Suzanne Robertson. Complete Systems Analysis: The
Workbook, the Textbook, the Answers. New York: Dorset House, 1994.
8. Sommerville, Ian, and Pete Sawyer. Requirements Engineering: A Good Practice
Guide. New York: John Wiley & Sons, 1997.
9. Wiegers, Karl E. More About Software Requirements: Thorny Issues and Practical
Advice. Redmond, Wash.: Microsoft Press, 2006.
© Copyright 2001-2014 The Process Group. [Based on K. Wiegers Software Requirements] www.processgroup.com Version 10.0 181