Application of Software Reuse Methods to
Requirements Elicitation from Informal Requirements Texts

A PhD Thesis


Jacob L. Cybulski

At the time:
Department of Computer Science and Computer Engineering
La Trobe University, Bundoora, Vic. 3083, Australia

March 2001


Requirements engineering is an early phase in software development, which aims at complete, consistent and unambiguous specification of user requirements. It is considered difficult, time-consuming, expensive and error-prone - up to 56% of all software defects are due to errors introduced in requirements specifications, taking up to 82% of development time to fix.

This thesis suggests a novel solution to requirements analysis intended to maximise reuse, and thus increase productivity and software quality. Such benefits can be gained by reusing requirements from the existing software systems. Alternatively, reusable designs could be identified and utilised in the process of refining software requirements for a single project.

The thesis puts forward a framework for addressing the technological issues of concern to both requirements engineering and software reuse and uses it as the basis for developing a cohesive requirements reuse process. It shows that this framework could be instantiated into a practical method (RARE) and embedded in a software tool (IDIOM). The resulting method-tool pair (RARE IDIOM) was developed to support analysts in developing a domain model, and then using the model in requirements analysis, reuse and refinement.

One of the main problems in requirements refinement is the effective matching of requirements with descriptions of suitable designs, which may be stored in a repository. This difficulty is in part due to the terminological difference between requirements and designs, which represent quite distinct domains of development knowledge, i.e. problem and solution domains, respectively. A major contribution of this work is to deal with this difficulty and to develop a method of classifying, comparing, searching and retrieving documents sourced from multiple domains. The core of this work is development of a scheme for faceted classification of requirements and designs, and their subsequent retrieval using a specially designed domain-mapping thesaurus and a novel method of calculating similarity (affinity) of object descriptions across domain boundaries.

The thesis also evaluates the new method and its supporting tool. It has been found that RARE IDIOM is effective in requirements refinement with reusable components and that its performance exceeds that of novice developers and approaches the performance of experienced systems analysts.

Other Publications by Jacob