Software specification and prototyping technologies

It has been observed that the challenge of improving software productivity and quality is not just to “do the thing right” but to “do the right thing right.” Doing the right thing means building products and services that meet real customer needs. Specification is the first step in deriving system design from an understanding of customer needs. Technology to support software specification can, therefore, provide productivity and quality benefits that accrue through the entire product life cycle. Prototyping is an approach to system design in which a model of the system is quickly built and iteratively refined so as to become increasingly realistic. Experience with the evolving prototype leads to an improved understanding of system functionality, dynamics, and performance so that the resulting products and services are known to match customer needs before they are built. This article describes two promising approaches — software architecture modeling and application-oriented languages — for improving software development productivity and quality through support for software specification and prototyping.

[1]  Bjarne Stroustrup What is object-oriented programming? , 1988, IEEE Software.

[2]  James O. Coplien,et al.  C++: Evolving toward a more powerful language , 1988, AT&T Technical Journal.

[3]  Chandra M. R. Kintala,et al.  Tools for building application generators , 1988, AT&T Technical Journal.

[4]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.