Chapter 5
Chapter 5
REQUIREMENT VALIDATION
CHAPTER-5
2
Requirements Validation
Requirements Validation
Check that the right product is
being built
Ensures that the software being
developed (or changed) will
satisfy its stakeholders
Checks the software requirements
specification against stakeholders
goals and requirements
3
Requirements Verification
4
Specification
• Checking that the defined system requirement will meet the user
requirements under the assumptions of the domain/environment
6 • Checking conformity to well-formedness rules, standards
The V & V process
7
10
Simple Checks
Various checks can be done using traceability techniques
– Given the requirements document, verify that all
elicitation notes are covered
– Tracing between different levels of requirements
• Checking goals against tasks, features,
requirements…
Involves developing a traceability matrix
– Ensures that requirements have been taken into
consideration (if not there should be a reason)
– Ensures that everything in the specification is justified
Verify that the requirements are well written (according
to the criteria already discussed)
11
Prototyping
Prototyping an executable model of the system is demonstrated to the
customer and end-users to validate and ensure if it meets their needs.
Prototyping is usually used when the requirements aren’t clear. So, we
make a quick design of the system to validate the requirements. If it
fails, we then refine it, and check again, until it meets the customer's
needs.
Excellent for validation by users and customers
– More accessible than specification
13
Functional Test Design and User Manual
Development
The two V&V techniques, namely Functional Test
Design and User Manual Development, are not really
V&V techniques.
They are activities that must be performed anyway,
and they are based on the specification document.
– Through these activities, as for any other activities
based on the specification document, errors and
other problems with this document may be
detected.
14
Functional Test Design
Functional tests at the system level must be developed sooner or later...
Can (and should) be derived from the requirements specification
Each (functional) requirement should have an associated test
Non-functional (e.g., reliability) or exclusive (e.g., define what should
not happen) requirements are harder to validate with testing
Each requirements test case must be traced to its requirements
Inventing requirements tests is an effective validation technique
Designing these tests may reveal errors in the specification (even
before designing and building the system)!
– Missing or ambiguous information in the requirements description
may make it difficult to formulate tests
Some software development processes (e.g., agile methods) begin with
tests before programming Test-Driven Development (TDD)
15
User Manual Development
The Same reasoning as for functional test design
– Has to be done at some point
18
Continued…
19
Can be expensive
– Careful planning and preparation
– Pre-review checking
21
Continued…
Prepare for review
Individual reviewers read the requirements to find conflicts, omissions,
inconsistencies, deviations from standards, and other problems
Hold review meeting
Individual comments and problems are discussed and a set of action items to
address the problems is established
22
Continued…
Follow-up actions
The chair of the review checks that the agreed action items have been carried
out
Revise document
Requirements document is revised to reflect the agreed action items
At this stage, it may be accepted or it may be re-reviewed
23
Active Review
25
Review Checks
26
28
Inconsistency management
29
Conflict detection
Informally or formally (theorem proving techniques
?)
Using heuristics on conflicting requirement
categories
Using conflict patterns
Managing conflicts-> systematic approach
32
Documenting conflict
33
38
Disadvantages of Using Requirements Validation
Techniques
39