Exploratory Software Development with Class Libraries

  • Johannes Sametinger
  • Alois Stritzinger
Conference paper


Software development based on the classical software life-cycle proves inadequate for many ambitious projects. Exploratory software development is an alternative way of building software systems by eliminating deficiencies of the conventional software life cycle. Instead of exactly defining the various phases of the life cycle, exploratory software development takes small development steps, whereby a single step results in an extension or an improvement of the existing system.

The object-oriented programming paradigm has resulted in increased reuse of existing software components. Therefore, class libraries will become very important in the near future. Exploratory software development is very well suited to this situation and thus provides a major step forward in economically developing software systems.

In this paper we depict deficiencies of the classical software life cycle, present the exploratory software development strategy, and especially illustrate exploratory software development in combination with the reuse of class libraries.


Software Development Exploratory Approach Software Maintenance Class Library High Abstraction Level 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bischofberger W., Kolb D., Pomberger G., Pree W., Schlemm H.: Prototyping-Oriented Software Development-Concepts and Tools, Structured Programming, Vol. 12, No. 1, New York, 1991Google Scholar
  2. 2.
    Boehm B. W.: Software Engineering, in Classics in Software Engineering, Yourdon N.E. Editor, pp. 325–361, Yourdon Press, 1979.Google Scholar
  3. 3.
    Booch G.: Object-Oriented Development, IEEE Transactions on Software Engineering, Vol. SE-12, No. 2, February 1986.Google Scholar
  4. 4.
    Budde R., et al (Editors): Approaches to Prototyping, Springer-Verlag, 1984.Google Scholar
  5. 5.
    Cameron J.: JSP & JSD: The Jackson Approach to Software Development, IEEE Computer Society Press, 1989.Google Scholar
  6. 6.
    Coad P., Yourdon E.; Object-Oriented Analysis, Yourdon Press Computing Series, Prentice Hall, 1990.Google Scholar
  7. 7.
    Gibson V.R., Senn J.A.: System Structure and Software Maintenance Perfonnance, Communications of the ACM, Vol. 32, No. 3, pp. 347–358, 1989.CrossRefGoogle Scholar
  8. 8.
    Meyer B.: Object-Oriented Software Construction, Prentice Hall, 1988.Google Scholar
  9. 9.
    Pomberger G.: Software Engineering and Modula-2, Prentice Hall, 1986.Google Scholar
  10. 10.
    Pree W.: Object-Oriented Software Development Based on Clusters: Concepts, Consequences and Examples, TOOLs Pacific (Technology of Object-Oriented Languages and Systems), pp. 111–117, 1991.Google Scholar
  11. 11.
    Rumbaugh J., et al: Object-Oriented Modeling and Design, Prentice Hall, 1991.Google Scholar
  12. 12.
    Sametinger J.: A Tool for the Maintenance of C++ Programs, Proceedings of the Conference on Software Maintenance, San Diego, CA, pp. 54–59, 1990.Google Scholar
  13. 13.
    Sandberg D.W.: Smalltalk and Exploratory Programming, ACM Sigplan Notices, Vot. 22, No. 10, 1987.Google Scholar
  14. 14.
    Stritzinger A.: Reusable Software Components and Application Frameworks—Concepts, Design Principles and Implications, to be published in VWGÖ, Vienna, 1992.Google Scholar

Copyright information

© Springer-Verlag/Wien 1992

Authors and Affiliations

  • Johannes Sametinger
    • 1
  • Alois Stritzinger
    • 1
  1. 1.Christian Doppler Labor für Software Engineering, Institut für WirtschaftsinformatikJohannes Kepler Universität LinzLinzAustria

Personalised recommendations