Requirements Analysis and Design Engineering Southern Methodist University CSE 7313 Module 1 – The Requirements Problem.
Download
Report
Transcript Requirements Analysis and Design Engineering Southern Methodist University CSE 7313 Module 1 – The Requirements Problem.
Requirements
Analysis and
Design
Engineering
Southern Methodist University
CSE 7313
1
Module 1 – The
Requirements Problem
2
Agenda
Definitions and general concepts
Process and product
Product properties
Requirements management
The problem domain
3
What is a requirement?
A software capability needed by the user
to solve a problem to achieve an objective
A software capability that must be met or
possessed by a system or system
component to satisfy a contract, standard,
specification, or other formally imposed
documentation
4
Definition of Requirement
A condition or capability needed by a user
to solve a problem or achieve an
objective.
A condition or capability that must be met
or possessed by a system or a system
component to satisfy a contract, standard,
specification, or other formally imposed
document. The set of all requirements
forms the basis for subsequent
development of the system or component.
(IEEE83), ANSI/IEEE Std 729/1983
5
Requirements Analysis is
Important
Five Hypotheses:
The later in the lifecycle an error is found,
the more expensive it is to fix.
Many errors are not found until well after
they are made.
Many requirements errors are being made.
Requirements errors are typically
incorrect facts, omissions,
inconsistencies, and ambiguities.
Requirements errors can be detected
Davis90
6
Requirements Analysis
Definition
The process of studying user needs to
arrive at a definition of system or software
requirements.
The verification of system / software
requirements.
ANSI/IEEE Std729/1983
7
Requirements Analysis
Definition
An Iterative process of:
Definition of
required
system
behavior
Identifying
Analyzing
Documenting
Verifying
(etc.)
8
Requirements Analysis Task
• build “outside-in”
begin with
environment
work inward to
the system
Conceptual
Model
derive
Software
Requirements
Document
• understandable
• modifiable
• precise
9
Environment and System
Environment
System
state of
entities in
environment
activities
events
state of
system
10
Process and Artifacts
Context
Analysis
Software
Needs
Artifact
Customer
Requirements
Process
CustomerOriented Software
Requirements Artifact
DeveloperOriented Software
Requirements Artifact
Developer
Requirements
Process
Design
Process
11
Brackett89,
CE-SPM-01-02-06
Process and Artifacts
Context
Analysis
Software
Needs
Artifact
Customer
Requirements
Process
Market Needs
User Needs
Document
CustomerSystem
Oriented Software
Requirements
Requirements
Artifact
Specification
Statement of
DeveloperOperational Need
Oriented
(SON) Software
Developer
Requirements
Process
Requirements Artifact
Design
Process
12
System Operational
Requirements
Document (SORD)
Brackett89,
ConceptCE-SPM-01-02-06
of
Operations
Process and Artifacts
Software
Needs
Artifact
Context
Requirements
Analysis
Requirements
Definition
CustomerRequirements
Customer
Oriented Software
Document
Requirements
Requirements Artifact
Process
Requirements
Specification
DeveloperDeveloper
Use Case
Model
Oriented Software
Requirements
Functional
Requirements Artifact
Process
Description
Part 1
Design
specification.
Brackett89,
Process
CE-SPM-01-02-06
13
Process and Artifacts
Software
Needs
Artifact
Context
Behavioral
Analysis
Specification
System
CustomerSpecification
Customer
Oriented Software
Specification
Requirements
Requirements Artifact
Process
Document
Requirements
DeveloperDeveloper
Specification
Oriented Software
Requirements
Functional
Requirements Artifact
Process
Specification
Functional
Design
Description
Brackett89,
Process
CE-SPM-01-02-06
14
Goals
Process goal
keep the process under our intellectual
control at all times
Artifact goal
organize the artifact so that it allows
others to comprehend the product to be
built
amount of effort should be proportional
to the size of the product -- not worse!
15
An Effective Artifact is
the Primary Goal
COMMUNICATION
Agreement between developer & customer
A basis for design
A basis for V&V
Weinberg89
16
Artifact Purposes
The artifact(s) answer these questions
What problem is the system supposed to
solve?
What does the customer require from the
system?
What does the developer need to know
about the system to design it?
The artifact(s) of the requirements
analysis process are specifications that
the software designer can use
17
Documentation
vs. Specifications
"Documents" are all of the materials
produced during requirements analysis,
e.g. backs of envelopes, data dictionaries,
prototypes, etc.
“Specifications” are formal documents
that are "contractually" binding in some
manner, such as:
Basis for acceptance tests
Basis for payment
etc.
18
Properties of a "Good"
Requirements Specification
Unambiguous
Complete
Correct
Prioritized
Verifiable
Sufficient for
design
Consistent
Modifiable
Traceable
Traced
Useable during
operations &
maintenance
19
Unambiguous
Mathematically precise
ST
st : Symbol -|-> Type
defined = dom st
A matter of agreement
A “contract” between the
customer and the developer ...
20
Verifiable
Customer and developer must agree on
the criteria and on the method for
verification.
testing
inspection
etc.
Every requirement must have verification
criteria — or ... it isn’t a requirement ...
21
Traceable
Test Plans
4.
Context
Analysis
1.
Requirements
Document
2.
Design
Document
3.
1.
2.
3.
4.
Backward to context analysis
Forward to design
Within the document
To test/verification plans
22
Requirements Management
Requirements Management is one of the
6 KPAs needed to go to level 2
(Repeatable) of the CMM.
Requirements are set at the beginning
and not changed during the build -when they change, the current build
stops and a new cycle starts.
23
Key Considerations of
Requirements Management
Identify functional requirements (e.g. draft
user’s manual)
Identify system needs
Identify customer expectations -- delivery,
packaging, and support
Identify measures of success -- cost,
schedule, and performance
Identify validation & acceptance criteria
Identify support requirements
24
Managing the Process
Estimation -- how can one estimate the
scope of the requirements definition effort
early?
Effort depends on
size/scope of project
breadth of sources
duration of effort
Two common errors
too much effort (over-specification)
too little effort (under-specification)
25
Why Requirements
Management?
Sometimes we get firm requirements, but
the law of software perversity states:
“The firmer the requirements; the more
likely they are wrong.”
Requirements change as the job progresses
writing the program changes our
perception of the task
computer implementation of a human
task changes the task itself
Humphrey89
26
Why Requirements
Management? (cont’d)
In large-scale programs, the task of writing a
complete statement of requirements is not
just difficult – it is practically impossible.
customer doesn’t know what is needed
statement of requirements is wrong
statement of requirements will change
Recommendation: establish a link to
someone who knows the application and
work together until the job is done.
Humphrey89
27
Practical Solution
Incremental development process
gradually increase level of detail as the
requirements and implementation are
mutually refined
Start with the minimal requirements that
both we and the user “know” are valid ...
implement
test
use in trial form
plan & develop next increment
Humphrey89
28
The requirements problem
Customers
External entity; buy ours instead of
theirs!!
Company that has hired us to
develop high quality s/w that will
give them a competitive advantage
Tools vendor
Defense business
Our company! Something that will
make us better!
29
Some Data (Standish)
$250 billion spent on IT for 175,000
projects
$2,322,000 for large company
$1,331,000 for medium company
$434,000 for small company
31% of projects canceled before
completion
52.7% will cost an average of 181% of
original estimate
30
Errors
50%
You are here.
Source of Errors - %'s
Communications of the ACM, Jan. '84
30%
10%
Requirements Software
Definition
Design
Coding
Testing
Deployment
$ 10
$5
Relative Cost to Correct Errors - $1000's
Source: AT&T Bell Labs Estimates
Req’ts
Software
Definition Design
31
Coding
Testing
Deployment
Root causes of
“challenged” projects
Lack of user input (13% of all projects)
Incomplete requirements and
specifications (12% of projects)
Changing requirements and specifications
(12% of projects)
Inadequate technology skills (7%)
…..
32
Primary success factors
User involvement (16% of all successful
projects)
Executive management support (14%)
Clear statement of requirements (12%)
Two largest problems cited in other
surveys
Requirements specifications
Managing customer requirements
33
Defect Summary
Defect origins
Requirements
Defect
potential
1.00
Removal Delivered
efficiency defects
77%
0.23
Design
1.25
85%
0.19
Coding
1.75
95%
0.09
Documentation
0.60
80%
0.12
Bad fixes
0.40
70%
0.12
Total
5.00
85%
0.75
34
Defect Summary
Defect origins
Requirements
Defect
potential
1.00
Removal Delivered
efficiency defects
77%
0.23
Design
1.25
85%
0.19
Coding
1.75
95%
0.09
Documentation
0.60
80%
0.12
Bad fixes
0.40
70%
0.12
Total
5.00
85%
0.75
35
Relative cost to repair
Stage
.1-.2
Requirements
.5
Design
1
Coding
2
Unit test
5
Acceptance test
20
Maintenance
36
Fixing a defect
Respecification
Redesign
Recoding
Retesting
Change orders; telling
users and operators to
replace
Corrective action; refund
checks to angry
customers, rerunning a
computer job
37
Scrap; code, design,
test cases
Recall of defective
versions of shrink
wrap and manuals
Warranty costs
Product liability;
customers suing for
damages
Service costs
Documentation
Requirements Management
A systematic approach to eliciting,
organizing, and documenting the
requirements of the system, and a process
that establishes and maintains agreement
between customer and the project team on
the changing requirements of the system
Requirements management process called
for by both CMM and ISO 9000
38
Requirements Management
Boeing 777 – 300,000 requirements
> 4 million loc
1280 embedded processors
39
Lifecycle models
40
Stagewise Model
System
Requirements
1970 [Royce]
Software
Requirements
Analysis
Program
Design
Implementation
Testing
Operations
41
Waterfall Model
System
Requirements
1970 [Royce]
Software
Requirements
Analysis
Program
Design
Implementation
Testing
Operations
42
Spiral Model
CUMULATIVE
COST
Determine
Objectives,
Alternatives,
Constraints
Evaluate
Alternatives;
Identify,
Resolve Risks
COMMITMENT
PARTITION
Develop,
Verify
Next-Level
Product
Plan
Next
Phases
43
Requirements Definition
Overlaps Later Phases
Requirement
s
Definition
Desig
n
Generatio
n
Testing
at some arbitrary time
...
44
Evolutionary Delivery Model:
Rational Unified Process
Time
Phases
Workflows
Business Modeling
Inceptio
n
Elaboration
Construction
Transiti
on
Requirements
Content
Analysis & Design
Implementation
Test
Deployment
Configuration &
Change Management
Project Management
Environment
Initial
E#1
E#2
C#1
Iterations
45
C#2
C#n
T #1
T #2
Generalized Software Development Process
S/W
Requirements
S/W sys
test plan
Prelim
Design
Integration
test plan
Detail
Design
Unit
test
plan
coding
46
System
test
Integration
test
Unit
test
deliver
product
maintain &
enhance
Summary
Definitions and general concepts
Process and product
Product properties
Requirements management
The problem domain
47