1992Unpublished venueRequires access

Software requirements classification: definition, approaches, and applications

Yiqing Liang

Open publisher page 2 citations

Abstract

System level requirements for software are plagued with such problems as conflicts, inconsistencies, ambiguities, incompleteness, and are often just wrong. Early fix of errors in the requirements analysis phase of the software engineering life cycle would be most desirable. A review of existing software requirements engineering techniques reveals none that are satisfactory, and especially none could better cope with requirements in a natural language form. Any effort that can alleviate these problems, especially with regard to natural language form, will contribute. In this response, the theory of requirements classification is developed that holds promise of being able to assist in removal of requirements problems. The new theory defines software requirements classification and its activities, identifies its prospective applications in requirements engineering. Two approaches to requirements classification are proposed. One approach is to classify software requirements according to predefined taxonomy by making use of a knowledge based system, employing the relations of verbs and software functions. The other approach is to cluster software requirements according to their similarities through a TTC (Two-Tiered-Clustering) algorithm. The first tier cluster is based on a verb taxonomy and the second tier clustering is based on the syntactical similarities among software requirements statements. A major objective of this algorithm is to aggregate a set of N requirements into a set of M requirements clusters where M $\ll$ N. This algorithm thus enables us to discriminate between requirements statements and group them in accordance with similarity characteristics that exist across requirements statements. Once this aggregation is accomplished and requirements are classified through this indexing and clustering technique, it is possible to analyze them to determine the existence or absence of problems such as conflict, incompleteness, inconsistency, and imprecision within and across requirements statements clusters. A test case involving a very large set of requirements has been investigated and the results show that the TTC algorithm provides the information necessary to successfully differentiate between similar and dissimilar requirements and cluster similar requirements. This approach appears to be much more flexible than other indexing schemes such as the faceted approach and the predefined taxonometric approach.

About this research paper

What this paper is about

System level requirements for software are plagued with such problems as conflicts, inconsistencies, ambiguities, incompleteness, and are often just wrong. Early fix of errors in the requirements analysis phase of the software engineering life cycle would be most desirable. A review of existing software requirements engineering techniques reveals none that are satisfactory, and especially none could better cope with requirements in a natural language form. Any effort that can alleviate these problems, especially with regard to natural language form, will contribute. In this response, the theory of requirements classification is developed that holds promise of being able to assist in removal of requirements problems. The new theory defines software requirements classification and its activities, identifies its prospective applications in requirements engineering. Two approaches to requirements classification are proposed. One approach is to classify software requirements according to predefined taxonomy by making use of a knowledge based system, employing the relations of verbs and software functions. The other approach is to cluster software requirements according to their similarities through a TTC (Two-Tiered-Clustering) algorithm. The first tier cluster is based on a verb taxonomy and the second tier clustering is based on the syntactical similarities among software requirements statements. A major objective of this algorithm is to aggregate a set of N requirements into a set of M requirements clusters where M $\ll$ N. This algorithm thus enables us to discriminate between requirements statements and group them in accordance with similarity characteristics that exist across requirements statements. Once this aggregation is accomplished and requirements are classified through this indexing and clustering technique, it is possible to analyze them to determine the existence or absence of problems such as conflict, incompleteness, inconsistency, and imprecision within and across requirements statements clusters. A test case involving a very large set of requirements has been investigated and the results show that the TTC algorithm provides the information necessary to successfully differentiate between similar and dissimilar requirements and cluster similar requirements. This approach appears to be much more flexible than other indexing schemes such as the faceted approach and the predefined taxonometric approach.

Why it matters

OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

System level requirements for software are plagued with such problems as conflicts, inconsistencies, ambiguities, incompleteness, and are often just wrong. Early fix of errors in the requirements analysis phase of the software engineering life cycle would be most desirable. A review of existing software requirements engineering techniques reveals none that are satisfactory, and especially none could better cope with requirements in a natural language form. Any effort that can alleviate these problems, especially with regard to natural language form, will contribute. In this response, the theory of requirements classification is developed that holds promise of being able to assist in removal of requirements problems. The new theory defines software requirements classification and its activities, identifies its prospective applications in requirements engineering. Two approaches to requirements classification are proposed. One approach is to classify software requirements according to predefined taxonomy by making use of a knowledge based system, employing the relations of verbs and software functions. The other approach is to cluster software requirements according to their similarities through a TTC (Two-Tiered-Clustering) algorithm. The first tier cluster is based on a verb taxonomy and the second tier clustering is based on the syntactical similarities among software requirements statements. A major objective of this algorithm is to aggregate a set of N requirements into a set of M requirements clusters where M $\ll$ N. This algorithm thus enables us to discriminate between requirements statements and group them in accordance with similarity characteristics that exist across requirements statements. Once this aggregation is accomplished and requirements are classified through this indexing and clustering technique, it is possible to analyze them to determine the existence or absence of problems such as conflict, incompleteness, inconsistency, and imprecision within and across requirements statements clusters. A test case involving a very large set of requirements has been investigated and the results show that the TTC algorithm provides the information necessary to successfully differentiate between similar and dissimilar requirements and cluster similar requirements. This approach appears to be much more flexible than other indexing schemes such as the faceted approach and the predefined taxonometric approach.

Key concepts: Software requirements, Requirement, Requirements analysis, Requirements elicitation, Non-functional testing, Requirements engineering, Non-functional requirement, Software requirements specification

Related papers

Back to paper searchBrowse research topicsOriginal source
Software requirements classification: definition, approaches, and applications — Research Paper | ScholarLens