Software Specifications : A Framework SEI Curriculum Module SEI-CM-11-2 . 1 January 1990

This paper describes a methodology for Abstract: This paper recommends the "iterative the generation of software requirements for large, enhancement" technique as a practical means of real-time unmanned weapons systems. It describes using a top-down, stepwise refinement approach to what needs to be done, how to evaluate the intermesoftware development. This technique begins with a diate products, and how to use automated aids to simple initial implementation of a properly chosen improve the quality of the product. An example is (skeletal) subproject which is followed by the provided to illustrate the methodology steps and gradual enhancement of successive implementations their products and the benefits. The results of some in order to build the full implementation. The deexperimental applications are vummarized. velopmonf' ,id quantitative analysis of a production compiler for the language SIMPL-T is used to demBabb85 onstrate that the application of iterative enhanceR. G. , II. "A Data Flow Approach to Unfyment to software development is practical and effiBabb, R. Speciicato Design, nd cient, encourages the generation of an easily ing Software Specification, Design, and modifiable product, and facilitates reliability. Implementation. " 3rd Intl. Workshop on Software Specification and Design. Washington, D.C.: IEEE Basi1188 Computer Society Press, 1985, 9-13. Basili, V. R. , and H. D. Rombach. "The TAME Abstract: Specifying requirements for software sysProject: Towards Improvement-Oriented Software tems is a complx and frequently frustrating procEnvironments. " IEEE Trans. Software Eng. SE-14, 6 ess. A major source of difficulty is that require(June 1988), 758-773. ments engineering and system development involves a wide range of people, including both computer Abstract: Experience from a dozen years of analyzspecialists and non-specialists. This paper deing software engineering processes and products is scribes a unified approach to software specification summarized as a set of software engineering and and design that relies on executable data flow measurement principles that argue for software endiagrams to serve as a basis for communication gineering process models that integrate sound planamong those involved in system development. ning and analysis into the construction process. Specifying requirements for software sysProject: Towards Improvement-Oriented Software tems is a complx and frequently frustrating procEnvironments. " IEEE Trans. Software Eng. SE-14, 6 ess. A major source of difficulty is that require(June 1988), 758-773. ments engineering and system development involves a wide range of people, including both computer Abstract: Experience from a dozen years of analyzspecialists and non-specialists. This paper deing software engineering processes and products is scribes a unified approach to software specification summarized as a set of software engineering and and design that relies on executable data flow measurement principles that argue for software endiagrams to serve as a basis for communication gineering process models that integrate sound planamong those involved in system development. ning and analysis into the construction process. In the TAME (Tailoring A Measurement EnvironBalzer81 ment) project at the University of Maryland we have Balzer, R. , and N. Goldman. "Principles of Good developed such an improvement-oriented software Software Specification and Their Implications for engineering process model that uses the goal Specification Languages. " AFIPS Conference question/metric paradigm to integrate the construcProceedings: Vol. 50, 1981 National Computer tive and analytic aspects of software development. Conference. Arlington, Va. : AFIPS Press, 1981, The model provides a mechanism for formalizing 393-400. the characterization and planning tasks, controlling and improving projects based on quantitative analAbstract: Careful consideration of the primary ysis, learning in a deeper and more systematic way uses of software specifications leads directly to about the software process and product, and feedthree criteria for judging specifications, which can ing the appropriate experience back into the current and future projects.