Software Engineering | Requirements Validation Techniques – GeeksforGeeks
Mục lục bài viết
INTRODUCTION:
Requirements validation techniques are used to ensure that the software requirements are complete, consistent, and correct. Some common techniques used in software engineering include:
- Inspection: This technique involves reviewing the requirements document with a group of experts, looking for errors, inconsistencies, and missing information.
- Walkthrough: This technique involves a group of experts reviewing the requirements document and walking through it line by line, discussing any issues or concerns that arise.
- Formal verification: This technique involves mathematically proving that the requirements are complete and consistent, and that the system will meet the requirements.
- Model-based verification: This technique involves creating a model of the system and simulating it to see if it meets the requirements.
- Prototyping: This technique involves creating a working prototype of the system and testing it to see if it meets the requirements.
- Black-box testing: This technique involves testing the system without any knowledge of its internal structure or implementation, to see if it meets the requirements.
- Acceptance testing: This technique involves testing the system with real users to see if it meets their needs and requirements.
- User feedback: This technique involves gathering feedback from the users and incorporating their suggestions and feedback into the requirements.
Traceability: This technique involves tracing the requirements throughout the entire software development life cycle to ensure that they are being met and that any changes are tracked and managed.
Agile methodologies: Agile methodologies such as Scrum and Kanban, provide an iterative approach to validate requirements by delivering small chunks of functionality and getting feedback from the customer.
It is important to note that no single technique is sufficient on its own and a combination of different techniques is usually used to validate software requirements effectively.
Requirements validation is the process of checking that requirements defined for development, define the system that the customer really wants. To check issues related to requirements, we perform requirements validation. We usually use requirements validation to check error at the initial phase of development as the error may increase excessive rework when detected later in the development process. In the requirements validation process, we perform a different type of test to check the requirements mentioned in the Software Requirements Specification (SRS), these checks include:
- Completeness checks
- Consistency checks
- Validity checks
- Realism checks
- Ambiguity checks
- Verifiability
The output of requirements validation is the list of problems and agreed on actions of detected problems. The lists of problems indicate the problem detected during the process of requirement validation. The list of agreed action states the corrective action that should be taken to fix the detected problem. There are several techniques which are used either individually or in conjunction with other techniques to check to check entire or part of the system:
- Test case generation: Requirement mentioned in SRS document should be testable, the conducted tests reveal the error present in the requirement. It is generally believed that if the test is difficult or impossible to design than, this usually means that requirement will be difficult to implement and it should be reconsidered.
- Prototyping: In this validation techniques the prototype of the system is presented before the end-user or customer, they experiment with the presented model and check if it meets their need. This type of model is generally used to collect feedback about the requirement of the user.
- Requirements Reviews: In this approach, the SRS is carefully reviewed by a group of people including people from both the contractor organisations and the client side, the reviewer systematically analyses the document to check error and ambiguity.
- Automated Consistency Analysis: This approach is used for automatic detection of an error, such as nondeterminism, missing cases, a type error, and circular definitions, in requirements specifications. First, the requirement is structured in formal notation then CASE tool is used to check in-consistency of the system, The report of all inconsistencies is identified and corrective actions are taken.
- Walk-through: A walkthrough does not have a formally defined procedure and does not require a differentiated role assignment.
- Checking early whether the idea is feasible or not.
- Obtaining the opinions and suggestion of other people.
- Checking the approval of others and reaching an agreement.
ADVANTAGES OR DISADVANTAGES:
ADVANTAGES OF USING REQUIREMENTS VALIDATION TECHNIQUES:
- Improved quality of the final product: By identifying and addressing requirements early on in the development process, using validation techniques can improve the overall quality of the final product.
- Reduced development time and cost: By identifying and addressing requirements early on in the development process, using validation techniques can reduce the likelihood of costly rework later on.
- Increased user involvement: Involving users in the validation process can lead to increased user buy-in and engagement in the project.
- Improved communication: Using validation techniques can improve communication between stakeholders and developers, by providing a clear and visual representation of the software requirements.
- Easy testing and validation: A prototype can be easily tested and validated, allowing stakeholders to see how the final product will work and identify any issues early on in the development process.
- Increased alignment with business goals: Using validation techniques can help to ensure that the requirements align with the overall business goals and objectives of the organization.
- Traceability: This technique can help to ensure that the requirements are being met and that any changes are tracked and managed.
- Agile methodologies: Agile methodologies provide an iterative approach to validate requirements by delivering small chunks of functionality and getting feedback from the customer.
DISADVANTAGES OF USING REQUIREMENTS VALIDATION TECHNIQUES:
- Increased time and cost: Using validation techniques can be time-consuming and costly, especially when involving multiple stakeholders.
- Risk of conflicting requirements: Using validation techniques can lead to conflicting requirements, which can make it difficult to prioritize and implement the requirements.
- Risk of changing requirements: Requirements may change over time and it can be difficult to keep up with the changes and ensure that the project is aligned with the updated requirements.
- Misinterpretation and miscommunication: Misinterpretation and miscommunication can occur when trying to understand the requirements.
- Dependence on the tool: The team should be well trained on the tool and its features to avoid the dependency on the tool and not on the requirement.
- Limited validation: The validation techniques can only check the requirement that are captured and may not identify the requirement that are missed
- Limited to functional requirements: Some validation techniques are limited to functional requirements and may not validate non-functional requirements.
My Personal Notes
arrow_drop_up