Requirement validation is the process of checking the requirement. Defines the system that the customer wants. It helps us to detect and correct errors at an early stage of product development. It also ensures that software requirements are complete and correct.
During the requirement validation process. Different types of cheques should be carried out according to the requirement in the requirement document:-
Validity check:- A user may think that a system is needed to perform certain functions. However, further thorough analysis may identify additional or different functions that are required.
Consistency check:- requirements in the document should not conflict That is, there should not be contradictory constraints or different descriptions of the same system function.
Completeness check:- these requirements documents should include requirements that define all functions and the constraints intended by the system user.
Realism check:- Using knowledge of existing technology, the requirements should be checked to ensure that they can be implemented. These cheques should also take account of the budget and schedule for the system development.
Verifiability:- to reduce the potential for dispute between customer and contractor, system requirements should always be returned 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 the specified requirement.
Now let us learn about different types of requirement validation techniques.
Requirement validation techniques are :
Requirement reviews.
Prototyping.
Test case regeneration.
Inspection.
Walkthrough.
Now let us understand about each of them in detail :
Requirement reviews:- this technique involves collecting reviews after a sample of requirement documentation is given to the customer. These requirement reviews received from the customer act as feedback and help the developer to make required modifications and changes in the project.
Prototyping:- this is a way of building a model or simulation of the system that is to be built by the developers. This is a very popular technique for requirement validation among stakeholders and users, as it helps them easily identify problems, detect missing requirements and understand how techniques help them.
Test case regeneration:- this technique involves submitting a test case to the customer gathering reviewed information and feedback from the customer, and then developing the same test case according to the requirements specified by the customer and keeping on regenerating till a satisfactory product is obtained.
Inspection:- This technique involves reviewing the requirement documentation with a group of experts and looking for errors, inconsistencies And misinformation.
Walkthrough:- This technique involves a group of experts reviewing the requirement documentation and walking through it line by line discussing any issue or concerns that arise during the reviewing document.
now let us learn about requirement management.
Requirement management-
Requirement management is the process of managing changing requirements during the requirement engineering process and system development Here, the new requirement emerges as a system is being developed. And after it has gone into use.
Once the system has been installed, it is regularly used. New requirements, inevitably, merge. You need to keep track of individual requirements and maintain links between dependent requirements so that you can assess the impact of requirements changing. You need to establish a formal process for making change proposals and linking these to system requirements. The formal process of requirement management should start as soon as a draught version of the requirements document is available.
Requirements management planning: planning is an essential first stage and the requirement management process The planning stage establishes the level of requirement management detail that is required during the requirement management process Now let us understand each of these steps in brief-
Requirements identification:- Each requirement must be uniquely identified to be cross-referenced with other requirements and used in traceability assessments.
A change management process is a set of activities assessing changes' impact and cost. I discuss this process in more detail in the following section.
Traceability:- policies define the relationships between each requirement and between the requirements and the system design that should be recorded. The traceability policy should also define how these records should be maintained.
Tool support:- Requirements management involves the processing of large amounts of information about the requirements. Tools that may be used range from specialist requirement management systems to spreadsheet and simple database systems.
Requirements management needs automated support and the software tools for this should be chosen during the planning phase. You need tool support for:
Requirements storage:- The requirements should be maintained in a secure, managed data store that is accessible to everyone involved in the requirements engineering process.
Change management:-The process of change management is simplified if active tool support is available.
Traceability management:- As discussed above, tool support for traceability allows related requirements to be discovered. Some tools are available which use natural language processing techniques to help discover possible relationships between requirements.
Requirements change management-
Requirements change management should be applied to all proposed changes to a systems requirement after the requirement documentation has been approved
Change management is essential because you need to decide if the benefits of implementing new requirements are justified by the cost of implementation. The advantage of using a formal process for change management is that all change proposals are treated consistently and changes to the requirement documentation are made in a controlled way.
These are three principal stages to change management process-
Problem analysis and change specification:- The process starts with an identified requirements problem or, sometimes, with a specific change proposal. During this stage, the problem or the change proposal is analyzed to check that it is valid. This analysis is fed back to the change requestor who may respond with a more specific requirements change proposal, or decide to withdraw the request.
Change analysis and costing:- The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements. The cost of making the change is estimated both in terms of modifications to the requirements document and, if appropriate, to the system design and implementation. Once this analysis is completed, a decision is made on whether or not to proceed with the requirements change.
Change implementation:-The requirements document and, where necessary, the system design and implementation, are modified. You should organize the requirements document so that you can make changes to it without extensive rewriting or reorganization. As with programs, changeability in documents is achieved by minimizing external references and making the document sections as modular as possible. Thus, individual sections can be changed and replaced without affecting other parts of the document.
This is all about the requirement validation and management.