Specification and Prototyping: Some Thoughts on Why They Are Successful

Two methods that have been successful in producing good software are 1) specifying and then implementing and 2) prototyping and then implementing. This paper identifies what the two methods have in common, namely that the implementation is the second time through carefully thinking about the problem. It proposes that perhaps this common aspect is more important to the successes of the methods than other aspects of the methods.

[1]  Jon F. Hueras,et al.  PASCAL with style : programming proverbs , 1979 .

[2]  Richard A. Kemmerer,et al.  SDC Secure Release Terminal Project , 1983, 1983 IEEE Symposium on Security and Privacy.

[3]  Ole N. Oest,et al.  Formal specification and development of an ada compiler - a vdm case study , 1984, ICSE '84.

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

[5]  James J. Horning,et al.  Formal specification as a design tool , 1980, POPL '80.

[6]  P. M. Melliar-Smith,et al.  Formal Specification and Mechanical Verification of SIFT: A Fault-Tolerant Flight Control System , 1982, IEEE Transactions on Computers.

[7]  R. Budde,et al.  Approaches to Prototyping , 1984, Springer Berlin Heidelberg.

[8]  Henry F. Ledgard,et al.  COBOL with Style; Programming Proverbs , 1976 .

[9]  Warren Teitelman A Tour Through Cedar , 1984, IEEE Softw..

[10]  Carl E. Landwehr The Best Available Technologies for Computer Security , 1983, Computer.

[11]  Barry W. Boehm,et al.  Prototyping vs. specifying: A multi-project experiment , 1984, ICSE '84.

[12]  Pei Hsia,et al.  Scenario-based prototyping for requirements identification , 1982 .

[13]  Marvin V. Zelkowitz,et al.  Rapid prototyping workshop: an overview , 1982 .

[14]  Maryam Alavi,et al.  An assessment of the prototyping approach to information systems development , 1984, CACM.

[15]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1978, CACM.

[16]  Philippe Kruchten,et al.  The ADA/ED system: a large-scale experiment in software prototyping using SETL , 1984 .

[17]  James J. Horning,et al.  Some Notes on Putting Formal Specifications to Productive Use , 1982, Sci. Comput. Program..

[18]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[19]  Pamela Zave,et al.  The operational versus the conventional approach to software development , 1984, CACM.

[20]  A. Klausner,et al.  Rapid prototyping and requirements specification using PDS , 1982 .

[21]  Glenford J. Myers,et al.  Composite/structured design , 1978 .

[22]  Stephen W. Smoliar,et al.  Approaches to executable specifications , 1982, Rapid Prototyping.

[23]  P. D. Stephens,et al.  The kernel of the EMAS 2900 operating system , 1982, Softw. Pract. Exp..

[24]  Brian W. Kernighan,et al.  Elements of Programming Style , 1974 .

[25]  Alan M. Davis Rapid prototyping using executable requirements specifications , 1982 .

[26]  P. D. Stephens,et al.  The evolution of the operating system EMAS 2900 , 1980, Softw. Pract. Exp..

[27]  Glenn H. MacEwen Specification prototyping , 1982 .

[28]  José Meseguer,et al.  Rapid prototyping: in the OBJ executable specification language , 1982, Rapid Prototyping.

[29]  James J. Horning,et al.  An Introduction to the Larch Shared Language , 1983, IFIP Congress.

[30]  C. Floyd A Systematic Look at Prototyping , 1984 .

[31]  John D. Gannon,et al.  Combining Testing with Formal Specifications: A Case Study , 1983, IEEE Transactions on Software Engineering.

[32]  Barry W. Boehm,et al.  Prototyping Versus Specifying: A Multiproject Experiment , 1984, IEEE Transactions on Software Engineering.

[33]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[34]  Pierre Lescanne,et al.  Computer experiments with the REVE term rewriting system generator , 1983, POPL '83.

[35]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[36]  Robert Balzer,et al.  Operational specification as the basis for rapid prototyping , 1982 .

[37]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[38]  L. J. Fraim Scomp: A Solution to the Multilevel Security Problem , 1983, Computer.

[39]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[40]  Martin S. Feather Mappings for rapid prototyping , 1982 .

[41]  Christian Lengauer,et al.  A Methodology for Programming with Concurrency: An Informal Presentation , 1982, Sci. Comput. Program..

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