A Taxonomy of Verification and Validation of Software Requirement and Specifications 1 (original) (raw)

Requirements Validation Techniques: An Empirical Study

International Journal of Computer Applications, 2016

Requirements validation makes sure that the requirements written in software requirements specification (SRS) must be complete and consistent and are according to the customer's needs. It ensures the validity of user requirements by eliminating ambiguities and inconsistencies from SRS. Several techniques for requirements validation have been discussed in the literature. This paper gives an overview of requirements validation techniques which have been practicing in industry, which includes requirements inspections, requirements prototyping, requirements testing and viewpoint-oriented requirements validation. This paper also highlights pros and cons of these techniques. In requirements testing, special attention is given to TCD inspections.

Proposing a Systematic Approach to Verify Software Requirements

Journal of Software Engineering and Applications, 2014

Identifying stakeholder's needs, eliciting, categorizing and translating them into specifications is the requirement analysis process. Requirement analysis can be a long and arduous process during which many delicate psychological skills are involved. For any software, it is important to identify all stakeholders, collect their requirements and ensure they understand the implications of the software. The gap between stakeholders' vision of the proposed software and the analysis's depiction of that software is the cause of shortcomings in analysis. If the requirements specified by analysts can be tested against stakeholders' expectations, then this gap might be narrowed, and better solutions might be resulted. This paper discusses the impact of the activities of the analysis phase on the development process and on the software itself. It describes the development of the ReqVerifier tool and proposes a systematic approach on how to test software requirements and verify them against stakeholders' vision in order to develop a good software requirement for a quality software.

Challenges of Software Requirements Quality Assurance and Validation: A Systematic Literature Review

IEEE Access, 2021

Validation of software requirements is a primary phase in requirements engineering that ensures requirements match the target system with the intended needs of the acquirer. It aims to detect and correct errors that prevail in the specified requirements. Although there are tremendous requirements validation approaches, some software may fail because of limited or ineffective requirements validation techniques and unreliable requirements' quality characteristics. In this study, a systematic literature review of requirements validation is performed. The study analyzes the most adopted validation techniques, reports requirements quality characteristics, and discovers significant challenges of validation techniques. The review identified 66 relevant primary studies analyzed to derive deep insights into the following aspects of requirements validation: trends of requirements validation methods, including their subtechnique strengths and weaknesses, requirements quality characteristics categories, and adopted tools and datasets in these techniques. We grouped validation techniques into categories: prototyping, inspection, knowledge-oriented, test-oriented, modeling and assessment, and formal models. The analysis reported 19 validation techniques, 27 tools, new requirements validation characteristics, and several challenges that prevailed through validation techniques. The trend of validation techniques is to those methods that apply machine learning techniques with knowledge from dictionaries and ontologies. Most challenges are about how to express the requirements and how to revert clients' feedback. There is a strong relationship between validation techniques, software application domain, and requirements validation quality attributes. Thus, there is an immense need to unify the quality characteristics and domain-specific validation methods. INDEX TERMS Requirements validation, requirements analysis, requirements engineering, validation techniques, requirements quality, systematic literature review.

A Conceptual Framework for Software Requirements Validation

2019

Requirements validation is one of the most significant and critical parts of the requirements engineering. This activity ensures that the set of requirements is accurate, right, complete, and consistent. Requirements validation is considered as the key activity because mistakes found in a software requirements document can lead to extensive rework costs when they are discovered either during development or after the system is in service. There are some commonly used bases to validate user requirements such as: Natural language, Design description languages, Graphical notations and Mathematical specification languages. Whereas the graphical notations are the most suitable means to be used in software requirements validation because it is easy to understand, and it can be easily created by analyst and time took. Therefore, this paper adopts the map concept which is a graphical technique for discovering the hidden flaws in software requirements in the early phases of software developme...

An Automated Approach to Validate Requirements Specification

2020

Requirements engineering processes aim to acquire functions, services and constraints. These processes are important to satisfy the customer by applying correctness, completeness through consistency according to the control instructions to achieve product quality. Both functions and services face changeability issue that is hard to regulate, depending on the precise request of the customer. This research addresses the achievement of correctness, completeness, and consistency by applying an automated approach. The evaluation is established using a standard use case diagram from the UML official website. The proposed approach detects the incorrect requirement specifications to enhance Software quality. The proposed approach includes three levels; the first level is the Structured Document, the second level is the Dynamic Language, which describes the transforming of use case diagram as dynamic, and the third level is the completeness checking procedures, which is based on the implem...

Quality of Requirements Specifications - A Framework for Automatic Validation of Requirements

Proceedings of the 16th International Conference on Enterprise Information Systems, 2014

Requirements specifications describe multiple technical concerns of a system and are used throughout the project life-cycle to help sharing a common understanding among the stakeholders. In spite a lot of interest has been given to manage the requirements lifecycle, which resulted in numerous tools and techniques becoming available, however, little work has been done that address the quality of requirements specifications. Most of this work still depends on human-intensive tasks made by domain experts that are time-consuming and error prone, and have negative consequences in the success of the project. This paper proposes an automatic validation approach that, with proper tool support, can help to mitigate some of these limitations and therefore can increase the quality of requirements specifications, in particular those that concerns consistency, completeness, and unambiguousness.

An Empirical Study of Software Requirements Verification and Validation Techniques along their Mitigation Strategies

Requirements engineering is very crucial phase of software development cycle. Different sub activities are performed during requirements engineering. Previous research shows that there are various techniques regarding requirements verification and validation. These techniques can have different relative importance in different situation. Typically the requirements engineers don’t have proper knowledge regarding nature of each technique. Existing requirements validation & verification techniques differ in their ability to effectively cover the system requirements. It is highly desirable to conduct an empirical study on requirements verification and validation techniques to know their relative importance in opinion of different experts. In this study we developed a questionnaire based on requirements verification and validation techniques and their relative importance. Analysis of the results indicates that according to experts point of view (based on their experiences and judgments) ambiguous requirements are the biggest reason behind requirements verification and validation issues. Experts do believe that review and inspection are the best mitigation strategies to remove or minimize requirements verification and validation challenges.

Challenge of validation in requirements engineering

Journal of Innovation in Digital Ecosystems, 2016

Framing the issue of validation in Requirements Engineering. • Classification and taxonomy of existing techniques in requirements validation. • A validation techniques is intended for a particular area. • The combination of validation techniques is essential. • Several iterations are necessary because of the multidisciplinary projects.

An automated approach for verification of software requirements

2001

In this paper, we present an automated approach for the verification of software requirements. This approach is based on the representation of software requirements in XML and the usage of the XSLT language to automatically verify some desired quality properties. These ideas have been implemented in REM, an experimental requirements management tool that is also described in this paper.