QW2000 Paper 8A2

Mr. Giuseppe Lami, Ms. Stefania Gnesi, Prof. Mario Fusani & Mr. Fabrizio Fabbrini
(Istituto di Elaborazione dell'Informazione)

Quality Evaluation of Software Requirements Specifications

BACK TO QW2000 PROGRAM

Presentation Abstract

The criticality of the Software Requirements Specifications (SRS) phase is widely recognised for the success of the whole software project and the attention played on it by the software developers is more and more significant. The software science developed in the past methods and techniques for producing quality SRS: structured languages, controlled languages, formal languages.

Nevertheless the SRS phase is, especially in the Small and Medium Enterprises (SME) community, still one of the weaker steps of the whole software process. One of the principal reason of this situation is that SME, stressed by the time-to-market, do not have enough resources for establishing rigorous methods for the SRS. Furthermore such rigorous methods, should be shared among all the parties involved in a software project, customer included, asking for a further effort in terms of resources to be expended. It is not surprising then that the Natural Language (NL) SRS are, in spite of their inherent inaccuracies, still the most used technique for SRS.

With the objective of transferring methodologies and tools for improving the software development process of SMEs, the IEI/CNR started a new project, funded by CNR, aiming to realise an automatic tool supporting the analysis and quality evaluation of NL SRS. The adopted approach has been, first to define a Quality Model for SRS, then to verify this Model on real cases of SRS in order to be sure that the Quality Model provides a real contribution for solving some NLSRS related problems for SMEs. Finally we have developed an automatic tool for the verification of the requirements to guarantee their conformance to the Quality Model itself. The process for evaluating SRS by using the defined Quality Model and the corresponding Tool is shown in the figure below:

The Quality Model against which to evaluate the quality of NLSRS has been defined so that the Quality Properties included in it can be really evaluated by means of Metrics automatically and numerically computable. The Quality Model inovolves the following components:


Requirements
Specification
Process
Requirements
Document
Review
Process
Quality
Model
Expert Reviewer
TOOL
produces
supports
performs
determines
changes

Definitions of Terms:

The above Properties, although not covering all the possible quality properties of NLSRS, are sufficiently specific to compare and verify the quality of SRS Documents. The above Metrics represent tangible aspects of SRS that can be automatically calculated and they can provide information on the related Quality Property of the Model.

In order to verify if the defined Quality Model provides significant and useful results on real cases, it has been applied on two different sets of documents of real industrial requirements specifications. The first is a set of Telecommunication Software Requirements Specification documents, the second is a case of Safety Critical Space Software Requirements Specification documents. In both cases the organizations that produced these SRS use standards for writing them, perform revision sessions and produce the related reports. The results achieved, on a set of over 800 requirements, are shown below:

The results obtained are encouraging because many possible problems, then risk identifications, have been detected and pointed out, and that has been appreciate by the firms who provided the SRS.

About the Authors

Fabrizio Fabbrini obtained his degree in Computer Science from the University of Pisa, Italy, in 1974. Since 1975 he has served as a scientific researcher at the Institute for Information Processing (IEI) of the Italian National Research Council (CNR), where now he is Senior Researcher. Fabrizio Fabbrini's present activity is focused on Software Quality, and more precisely on the development of methodologies and standards for the assessment and the evaluation of software products and processes, with particular attention to Software Engineering Standards and Software Certification. Software Process Assessment & Improvement, Software Verification & Validation, Computer Security & Data Privacy represent the main fields of application of such research activities.

Mario Fusani obtained his degree in Electrical engineering from the University of Pisa, Italy, in 1971. Since 1973 he has served as a scientific researcher at the Institute for Information Processing (IEI) of the National Research Council (CNR), where now he is Senior Research. His present activity is focused on Software Quality, including the development of methodologies and standards for the assessment and the evaluation of software products and processes.

Stefania Gnesi graduated cum laude in Computer Science at the University of Pisa, Italy. Since 1984 she has been a researcher in the Programming Languages and Operating Systems group of the Italian National Research Council (CNR), Pisa, Italy. Her current research interests include methods and tools for the high-level specification and formal verification of concurrent systems, and applications of temporal logic.

Giuseppe Lami since 1994, when he obtained the degree in Computer Science from the University of Pisa, Italy, focused his interests on Software Engineering and Software Quality issues. His current research activity at the Institute for Information Processing (IEI) of the National Research Council (CNR) includes methods and tools for software testing and requirements engineering.

BACK TO QW2000 PROGRAM