Requirements and Specification Exemplars

Specification exemplars are familiar to most software engineering researchers. For instance, many will have encountered the well known library and lift problem statements, and will have seen one or more published specifications. Exemplars may serve several purposes: to drive and communicate individual research advances; to establish research agendas and to compare and contrast alternative approaches; and, ultimately, to lead to advances in software development practices. Because of their prevalence in the literature, exemplars are worth critical study. In this paper we consider the purposes that exemplars may serve, and explore the incompatibilities inherent in trying to serve several of them at once. Researchers should therefore be clear about what successfully handling an exemplar demonstrates. We go on to examine the use of exemplars not only for writing specifications (an end product of requirements engineering), but also for the requirements engineering process itself. In particular, requirements for good requirements exemplars are suggested and ways of obtaining such exemplars are discussed.

[1]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[2]  Henk Sol,et al.  Information Systems Design Methodologies: A Feature Analysis , 1983 .

[3]  LukowiczPaul,et al.  Experimental evaluation in computer science , 1995 .

[4]  Colin Potts,et al.  Software-engineering research revisited , 1993, IEEE Software.

[5]  Henk Sol,et al.  Information Systems Design Methodologies: A Comparative Review , 1983 .

[6]  Constance L. Heitmeyer,et al.  Comparing different approaches for specifying and verifying real-time systems , 1993 .

[7]  Martin S. Feather,et al.  Succeedings of the seventh international workshop on software specification and design , 1994, SOEN.

[8]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[9]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[10]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[11]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[12]  Jonathan P. Bowen,et al.  Applications of Formal Methods , 1995 .

[13]  Kevin Lano,et al.  Object-oriented specification case studies , 1994 .

[14]  Anthony Finkelstein,et al.  A constructive approach to the design of distributed systems , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[15]  Jeannette M. Wing A study of 12 specifications of the library problem , 1988, IEEE Software.

[16]  Richard A. Kemmerer,et al.  Testing Formal Specifications to Detect Design Errors , 1985, IEEE Transactions on Software Engineering.

[17]  Paul Lukowicz,et al.  Experimental evaluation in computer science: A quantitative study , 1995, J. Syst. Softw..

[18]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[19]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[20]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[21]  Martin S. Feather,et al.  Implementing Specification Freedoms , 1986, Sci. Comput. Program..

[22]  Nancy G. Leveson,et al.  Integrated safety analysis of requirements specifications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[23]  Philippe Massonet,et al.  Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[24]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[25]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[26]  Pamela Zave,et al.  An Insider's Evaluation of PAISLey , 1991, IEEE Trans. Software Eng..

[27]  Stephen Fickas,et al.  Critiquing software specifications , 1988, IEEE Software.

[28]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[29]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[30]  Constance L. Heitmeyer,et al.  A Benchmark for Comparing Different Approaches for Specifying and Verifying Real-Time Systems , 1993 .

[31]  David Lorge Parnas,et al.  Assessment of safety-critical software in nuclear power plants , 1991 .

[32]  Ian J. Hayes,et al.  Specification case studies , 1987 .

[33]  Cliff B. Jones,et al.  Case studies in systematic software development , 1990 .