Requirements validation Csaba Veres
What is it? Validation is the process of checking the requirements document for –completeness –consistency –accuracy Requires all stakeholders
Why is it different from RE? RE is concerned with eliciting and documenting raw requirements –’what are the right requirements?’ Validation concerns the document –is it complete, consistent, etc.? –’have we got the requirements right?’
The division between analysis and validation
Problems discovered during validation lack of conformance to quality standards poorly worded, ambiguous requirements errors in models of the system or the problem to be solved any remaining requirements conflicts
Validation is a final check of the document as a clear statement of the stakeholders’ needs Requirements validation Requirements document Inputs Outputs Organisational knowledge Organizational standards List of problems Agreed actions
Requirements reviews
Review checklists ● Quality properties used to derive checklist
Review questions ● Specific questions to look out for in a particular organization/session
Possible outcomes Requirements clarification –poor expression and lack of clarity Missing information –some stakeholders needs are absent Requirements conflict –stakeholders must negotiate to solve conflict Unrealistic requirement –stakehoders must come to a mutual decision
Pre-review checking ”Simple” errors should be fixed by one person prior to validation –document structure –adherence to standards Possible actions –return document to RE team –distribute document with notes
Pre-review checking...
Model validation The requirements might include models Validation has three objectives –to demonstrate that the model is self consistent –external consistency –accuracy Models are sometimes not easy to understand –convert to natural language
Converting to NL Use a form or table with sub headings e.g. DFD 1.transformation name 2.transformation inputs and input sources 3.transformation function 4.transformation outputs 5.control
Check user Check item Issue item e.g. library function “Issue” Library card Requested item User details User status Item status Issued item Update details