Sunday, 7 August 2011

Requirements validation

Requirements validation is concerned with showing that the requirements actually
define the system that the customer wants. Requirements validation overlaps
analysis in that it is concerned with finding problems with the requirements.
Requirements validation is important because errors in a requirements document
can lead to extensive rework costs when they are discovered during development
or after the system is in service. The cost of fixing a requirements problem by
making a system change is much greater than repairing design or coding errors.
The reason for this is that a change to the requirements usually means that the
system design and implementation must also be changed and then the system must
be tested again.
During the requirements validation process, checks should be carried out on the
requirements in the requirements document. These checks include:
1. Validity checks A user may think that a system is needed to perform certain
functions. However, further thought and analysis may identify additional or different
functions that are required. Systems havf: diverse stakeholders with distinct
needs, and any set of requirements is inevitably a compromise across the
stakeholder community.
2. Consistency checks Requirements in the document should not conflict. That is,
there should be no contradictory constraints or descriptions of the same system
function.
3. Completeness checks The requirements document should include requirements,
which define all functions, and constraints intended by the system user.
4. Realism checks Using knowledgt: of existing technology, the requirements should
be checked to ensure that they could actually be implemented. These checks
should also take account of the budget and schedule for the system developmen':.
5. Verifiability To reduce the potential for dispute between customer and contractor,
systt:m requirements should always be written so that they are verifiable. This
means that you should be able to write a set of tests that can demonstrate that
the delivered system meets each specified requirement.
A number of requirements validation techniques can be used in conjunction or
individually:
1. Requirements reviews The requirements are analysed systematically by a team
of reviewers. This process is discussed in the following section.
2. ProfOtyping In this approach to validation, an executable model of the system
is demonstrated to end-users and customers. They can experiment with this model
to see if it meets their real needs.
3. Test-case generation Requirements should be testable. If the tests for the
requirements are devised as part of the validation process, this often reveals
reqUirements problems. If a test is difficult or impossible to design, this usually
means that the requirements will be difficult to implement and should be
reconsidered. Developing tests from the user requirements before any code is
written is an integral part of extreme programming.
You should not underestimate the problems of r,equirements validation. It is difficult
to show that a set of requirements meets a user s needs. Users must picture
the system in operation and imagine how that system would fit into their work. It
is hard for skilled computer professionals to perform this type of abstract analysis
and even harder for system users. As a result, you rarely find all requirements problems
during the requirements validation process. It is inevitable that there will be
further requirements changes to correct omissions and misunderstandings after the
requirements document has been agreed upon.

No comments:

Post a Comment

Your comments are welcome!