Week 12 - Lecture 1. Requirements Validation and Verification
Week 12 - Lecture 1. Requirements Validation and Verification
Learning Outcomes
In this chapter, you will learn about: Criteria for validating requirements document Validation Techniques Verification Techniques
Elaboration
Elaboration
Elaboration
Requirements Document
Recall the Requirements document consists of two key sections:
2. Requirements Specification
Provides details to the software designers/developers Specifies what needs to be built
Elaboration
Elaboration
Requirements Validation:
Check that our requirements definitions accurately reflect all of the stakeholders needs (i.e., we build the system right) Verify that the requirements specification conforms to the requirements definition (i.e., we build the right system)
Requirements Verification
Elaboration
Elaboration
the
Elaboration
Walkthroughs
One of the RE document authors presents the requirements to the stakeholders and ask for feedback
Useful for large number of varied stakeholders
Elaboration
10
Requirements Validation
Validation Techniques (continued)
Formal Inspection
Reviewers take specific roles:
Presenter Moderator Scribe
Elaboration
11
Requirements Validation
Validation Techniques (continued): Review
Requires representatives from the customers and the SDLC team to examine the document individually and then meet to discuss identified problems Customers team includes:
Employees who will operate the system Employees who will prepare the systems input and those who will use the systems output respectively Key managers of the employees
Elaboration
12
accurately customers needs SDLC team reviews the propose functions and constraints to confirm that they realistic (i.e., resources) Assess and document any risks (development/functioning) and agree on alternative approaches Discuss about testing the system
Elaboration
13
Interviews Checklists Models to check functions and relationships Scenarios Prototypes Simulations
Elaboration
14
15
Ambiguity
Can any of your requirements be interpreted in more than one way?
Open-Ended
Do the requirements contain phrases such as will support at least 20 online customers?
Elaboration
16
Do the requirements specify how frequently a feature will be used? Do the requirements specify the peak hours of use for this feature? Do the requirements differentiate between usage by occasional users of a feature and usage by frequent users?
Consistency
How will you determine if there are any conflicting requirements? What are the decision criteria for resolving conflicting requirements?
Elaboration
17
Usage Scenarios
Is there a complete flow analysis from external stimulus through the system and out to external result?
If the answer is no, you may adopt the divide and conquer principle An understanding of how the system will be used is essential if the system is to architected and designed to meet the customer needs
Elaboration
18
Performance Specification
To determine CPU budgets
Are response time, throughput and other performance requirements clearly stated? How were these determined? Are the number and types of users documented? Are transaction rates and/or data volumes known?
To determine CPU budgets To determine Network bandwidth
Complexity
How complex is the algorithm to implement a specific requirement? Can a simpler algorithm be substituted?
CT056-3-2 Requirements Engineering Elaboration
19
External Interfaces
Are external interfaces well defined and explicit?
Error Control/Recovery
What provisions have been made to recover from lost transaction? What provisions have been made to detect and recover from network failures What provisions have been made to detect and recover from disk crashes of databases (Opensong project)?
20
Elaboration
Availability/Reliability
Do the requirements specify system availability and reliability? Downtime requirements What are the MTBF and MTTR figures needed to meet the customer needs?
Note MTBF and MTTR preferred to 7 by 24 or 99.98%
Elaboration
21
References
Software Engineering- A practitioners Approach 6th Ed; Roger S. Pressman
Software Requirements Practical techniques for gather and managing requirements through the product development cycle 2nd Ed; Karl E. Wiegers Software Engineering; 6th Ed; Ian Sommervillie
Elaboration