RESM Lecture-17 PDF
RESM Lecture-17 PDF
Lecture # 17
Todays Topics
Validation techniques
Review checklists Prototyping User manual development Model validation Requirements testing
2
Review Checklists - 1
Understandability
Can readers of the document understand what the requirements mean?
Redundancy
Is information unnecessarily repeated in the requirements document?
Review Checklists - 2
Completeness
Does the checker know of any missing requirements or is there any information missing from individual requirement descriptions?
Review Checklists - 3
Ambiguity
Are the requirements expressed using terms which are clearly defined? Could readers from different backgrounds make different interpretations of the requirements?
Consistency
Do the descriptions of different requirements include contradictions? Are there contradictions between individual requirements and overall system requirements?
5
Review Checklists - 4
Organization
Is the document structured in a sensible way? Are the descriptions of requirements organized so that related requirements are grouped?
Review Checklists - 5
Conformance to standards
Does the requirements document and individual requirements conform to defined standards? Are departures from the standards, justified?
Traceability
Are requirements unambiguously identified, include links to related requirements and to the reasons why these requirements have been included?
7
Does a requirement stand on its own or do you have to examine other requirements to understand what it means?
Understandability, completeness
8
Is the same service requested in different requirements? Are there any contradictions in these requests?
Consistency, redundancy
9
Are related requirements grouped together? If not, do they refer to each other?
Organization, traceability
10
Prototyping
Prototypes for requirements validation demonstrate the requirements and help stakeholders discover problems Validation prototypes should be complete, reasonably efficient and robust. It should be possible to use them in the same way as the required system User documentation and training should be provided
11
Execute scenarios
Document problems
12
Prototyping Activities - 1
Choose prototype testers
The best testers are users who are fairly experienced and who are open-minded about the use of new systems. End-users who do different jobs should be involved so that different areas of system functionality will be covered
13
Prototyping Activities - 2
Develop test scenarios
Careful planning is required to draw up a set of test scenarios which provide broad coverage of the requirements. End-users shouldnt just play around with the system as this may never exercise critical system features
14
Prototyping Activities - 3
Execute scenarios
The users of the system work, usually on their own, to try the system by executing the planned scenarios
Document problems
Its usually best to define some kind of electronic or paper problem report form which users fill in when they encounter a problem
15
16
System Models
For some projects, system models may be developed based on the agreed set of requirements These models may be data-flow models of the systems functionality, object models, event models, entityrelation models
18
Model Validation
Validation of system models is an essential part of the validation process Some checking is possible with automated tools Paraphrasing the model is an effective checking technique
19
Library card
Check user
Requested item
Check item
Item status
Paraphrased Description
Check us er Inputs and sources Transformation function Transformation outputs Control information Check i tem Inputs and sources Transformation function Transformation outputs Control information Is s ue i tem Inputs and sources Transformation function Transformation outputs Control information Users library card from end-user Checks that the user is a valid library user The users status User details from the database The users status from Check user Checks if an item is available for issue The items status The availability of the item None Issues an item to the library user. Items are stamped with a return date. The item issued to the end user Database update details Item status - items only issued if available
22
Requirements Testing - 1
Each requirement should be testable i.e., it should be possible to define tests to check whether or not that requirement has been met Inventing requirements tests is an effective validation technique as missing or ambiguous information in the requirements description may make it difficult to formulate tests
23
Requirements Testing - 2
Each functional requirement should have an associated test
24
25
26
Hard-to-Test Requirements
System requirements Exclusive requirements Some non-functional requirements
27
System requirements
Requirements which apply to the system as a whole. In general, these are the most difficult requirements to validate irrespective of the method used as they may be influenced by any of the functional requirements. Tests, which are not executed, cannot test for non-functional system-wide characteristics such as usability
28
Exclusive Requirements
These are requirements which exclude specific behavior. For example, a requirement may state that system failures must never corrupt the system database. It is not possible to test such a requirement exhaustively
29
30
Summary - 1
Checklists of what to look for may be used to drive a requirements review process Prototyping is effective for requirements validation if a prototype has been developed during the requirements elicitation stage
31
Summary - 2
Systems models may be validated by paraphrasing them. This means that they are systematically translated into a natural language description Designing tests for requirements can reveal problems with the requirements. If the requirement is unclear, it may be impossible to define a test for it
32
References
Requirements Engineering: Processes and Techniques by G. Kotonya and I. Sommerville, John Wiley & Sons, 1998
33