Using patterns for design and documentation

  • Georg Odenthal
  • Klaus Quibeldey-Cirkel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1241)


The dovetailing of design and documentation is characteristic for many mature engineering disciplines. In electrical engineering, for example, a circuit diagram is a means and technique for both designing and documenting. Software engineering falls short in this respect, especially when it comes to architectural issues. Design patterns can help here. Using both form and content of design patterns promotes the principle of documenting by designing. Our experience report presents some examples of this principle taken from an evaluation project at SAP, Germany.


object-oriented design patterns pattern form software documentation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Alexander, C., et al. A Pattern Language: Towns, Buildings, and Construction. Oxford University Press, New York, 1977.Google Scholar
  2. [2]
    Baumgart, M., Kunz, H.P., Meyer, S., and Quibeldey-Cirkel, K. Priority-driven Constraints Used for Scheduling at Universities. In Proc. of the 3th Int. Conf. on the Practical Application of Constraint Technology, London, UK, 1997 (accepted for publication).Google Scholar
  3. [3]
    Beck, K., and Johnson, R.E. Patterns Generate Architectures. In Proc. of ECOOP '94, Bologna, Italy, 1994, 139–149.Google Scholar
  4. [4]
    Beck, K., Coplien, J.O., Crocker, R., Dominick, L., Meszaros, G., Paulisch, F., and Vlissides, J. Industrial Experience with Design Patterns. In Proe, of 18th Int. Conf. on Software Engineering (ICSE '18), Berlin, Germany, 1996, 103–114.Google Scholar
  5. [5]
    Booch, G. Object-Oriented Analysis and Design with Applications. Benjamin/Cummings, Redwood City, CA, 1994. 2nd Edition.Google Scholar
  6. [6]
    Brooks, F.P. No Silver Bullet: Essence and Accidents of Software Engineering. Computer 20, 4 (1987), 10–19.MathSciNetGoogle Scholar
  7. [7]
    Brown, K. Using Patterns in Order Management Systems: A Design Patterns Experience Report. Object Magazine, Jan. 1996.Google Scholar
  8. [8]
    Budinsky, F.J., Finnie, M.A., Vlissides, J.M., and Yu, P.S. Automatic Code Generation from Design Patterns. IBM Systems Journal 35, 2, 1996.CrossRefGoogle Scholar
  9. [9]
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, New York, 1996.Google Scholar
  10. [10]
    Coad, P. Object-Oriented Patterns. CACM 35, 9 (Sep. 1992), 152–159.Google Scholar
  11. [11]
    Coad, P., and Yourdon, E. Object-Oriented Analysis. Englewood Cliffs, Yourdon Press, Prentice Hall, 1991.Google Scholar
  12. [12]
    Coplien, J.O. Advanced C++ Programming Styles and Idioms. Addison-Wesley, Reading, MA, 1992.Google Scholar
  13. [13]
    Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley, Reading, MA, 1996.Google Scholar
  14. [14]
    Gamma, E. Object-Oriented Software Development based on ET++: Design Patterns, Class Library, Tools (in German). Ph.D. thesis, University of Zurich, 1991.Google Scholar
  15. [15]
    Gamma, E., Helm, R., Johnson, R. E. and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.Google Scholar
  16. [16]
    Johnson, R.E. Documenting Frameworks Using Patterns. In Proc. of OOPSLA '92, Vancouver, BC, Canada, 1992, 63–76.Google Scholar
  17. [17]
    Keller, R.K., and Lajoie, R. Design and Reuse in Object-Oriented Frameworks: Patterns, Contracts, and Motifs in Concert. In Proc. of 62nd Congress of the Association Canadienne FranÇaise pour l'Avancement des Sciences, Montreal, QC, Canada, 1994.Google Scholar
  18. [18]
    Krasner, G.E., and Pope, S.T. A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. JOOP 1, 3 (Aug./Sep. 1988), 26–49.Google Scholar
  19. [19]
    Linton, M.A., and Calder, P.R. The Design and Implementation of Interviews. In Proc. and Additional Papers, C++ Workshop, Santa Fe, NM, 1987. USENIX Association, El Cerrito, CA, 1987, 256–268.Google Scholar
  20. [20]
    Meyer, B. Object-Oriented Software Construction. Series in Computer Science. Prentice Hall, Englewood Cliffs, NJ, 1988.Google Scholar
  21. [21]
    Odenthal, G. Design and Implementation of an Interface between the SAP-R/3 Business Object Repository and the Open Scripting Architecture (OSA) (in German). University of Siegen, Master thesis, 1996.Google Scholar
  22. [22]
    Pree, W. Design Patterns for Object-Oriented Software Development. Addison-Wesley, Reading, MA, 1994.Google Scholar
  23. [23]
    Quibeldey-Cirkel, K. The Object Paradigm in Computer Science (in German). Teubner, Stuttgart, Germany, 1994.Google Scholar
  24. [24]
    Schmid, H.A. Creating the Architecture of a Manufacturing Framework by Design Patterns. In Proc. of OOPSLA '95, Austin, USA, 1995.Google Scholar
  25. [25]
    Schmidt, D.C. Experience Using Design Patterns to Develop Reusable Object-Oriented Communication Software. CACM 38, 10 (Oct. 1995), 65–74.Google Scholar
  26. [26]
    Schmidt, D.C, and Stephenson, P. Experience Using Design Patterns to Evolve Communication Software Across Diverse OS Platforms. In Proc. of ECOOP '95, Aarhus, Denmark, 1995.Google Scholar
  27. [27]
    Special issue on Software Patterns. CACM39, 10 (Oct. 1996), 36–82.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Georg Odenthal
    • 1
  • Klaus Quibeldey-Cirkel
    • 1
  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of SiegenSiegenGermany

Personalised recommendations