A taxonomy for the early stages of the software development life cycle

Abstract Most researchers in the software engineering community use the term “requirements” to describe the initial stage of software development, and they define requirements to be a process of describing what, not how. However, the range of tools and techniques that are currently sold as requirements tools and techniques extends from aids for analysts asking potential customers appropriate questions about an existent problem to aids for defining algorithms for software modules. This paper presents a taxonomy of the early stages of the software development life cycle to enable prospective tool and technique users to understand what they are buying and to enable future toolsmiths and technique developers to uniquely categorize and characterize their product in comparison with others.

[1]  Margaret Hamilton,et al.  The functional life cycle model and its automation: USE.IT , 1983, J. Syst. Softw..

[2]  D. Hatley,et al.  The use of structured methods in the development of large software-based avionics systems , 1984 .

[3]  G. Roman,et al.  A Total System Design Framework , 1984, Computer.

[4]  Alan M. Davis,et al.  A comparison of techniques for the specification of external system behavior , 1988, CACM.

[5]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[6]  Roberto Saracco,et al.  SDL - CCITT Specification and Description Language , 1982, IEEE Transactions on Communications.

[7]  Martin L. Kersten,et al.  Developing interactive information systems with the User Software Engineering methodology , 1986, IEEE Transactions on Software Engineering.

[8]  Alan M. Davis,et al.  The Design of a Family of Application-Oriented Requirements Languages , 1982, Computer.

[9]  Paul T. Ward,et al.  The transformation schema: An extension of the data flow diagram to represent control and timing , 1986, IEEE Transactions on Software Engineering.

[10]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[11]  Stephen H. Caine,et al.  PDL: a tool for software design , 1975, AFIPS '75.

[12]  Bernard M. E. Moret,et al.  Decision Trees and Diagrams , 1982, CSUR.

[13]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[14]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[15]  Ken Orr,et al.  Structured requirements definition , 1981 .

[16]  David A. Marca,et al.  SADT: structured analysis and design technique , 1987 .

[17]  Mack W. Alford A Requirements Engineering Methodology for Real-Time Processing Requirements , 1977, IEEE Transactions on Software Engineering.

[18]  Pearl Brereton,et al.  Software engineering environments , 1988 .

[19]  Michael Jackson,et al.  Principles of program design , 1975 .

[20]  Anthony I. Wasserman,et al.  Extending State Transition Diagrams for the Specification of Human–Computer Interaction , 1985, IEEE Transactions on Software Engineering.

[21]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[22]  Alan M. Davis,et al.  PLP: an automated tool for the processing of requirements , 1979, COMPSAC.

[23]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[24]  Pamela Zave,et al.  Executable requirements for embedded systems , 1981, ICSE '81.

[25]  Valdis Berzins,et al.  Analysis and Design in MSG.84: Formalizing Functional Specifications , 1985, IEEE Transactions on Software Engineering.