Restructuring Requirements Specifications for Managing Inconsistency and Change: A Case Study

Alessandra Russo, Bashar Nuseibeh and Jeff Kramer

Abstract

This paper describes our experiences in restructuring multi-perspective requirements specifications in order to facilitate the identification and analysis of inconsistencies and the management of change. A partial, heterogeneous and reasonably large requirements specification from a NASA project was analysed and decomposed into a structure of viewpoints, where each viewpoint encapsulates partial requirements of some system components described in the specification. Relationships between viewpoints were identified which included not only the interactions explicitly stated in the requirements but also some implicit and potentially problematic inter-dependencies. The restructuring process and a first informal analysis of the resulting relationships enabled the detection of inconsistencies and the definition of some interesting domain-dependent consistency rules. We believe that this restructuring into viewpoints also facilitated requirements understanding through partitioning, and requirements maintenance and evolution through explicit identification of the inter-viewpoint relationships.

This paper appeared in Proceedings of 3rd IEEE International Conference on Requirements Engineering (ICRE '98) where it was selected as "best paper". A long version is published in IEE Proceedings Software, Vol. 146, No. 1, February 1999.

It is also available over the Web: [compressed postscript version].




This research was sponsored by the EPSRC, under a research project entitled Managing Inconsistency in Software Engineering.