Skip to main content

Object Oriented Design Expertise Reuse: An Approach Based on Heuristics, Design Patterns and Anti-patterns

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1844))

Abstract

Object Oriented (OO) languages do not guarantee that a system is flexible enough to absorb future requirements, nor that its components can be reused in other contexts. This paper presents an approach to OO design expertise reuse, which is able to detect certain constructions that compromise future expansion or modification of OO systems, and suggest their replacement by more adequate ones. Both reengineering legacy systems, and systems that are still under development are considered by the approach. A tool (OOPDTool) was developed to support the approach, comprising a knowledge base of good design constructions, that correspond to heuristics and design patterns, as well as problematic constructions (i.e., anti-patterns).

The authors are partially financially supported by CNPq – Brazilian Research Council

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language for Object Oriented Development - UML Semantics - version 1.1 (1997), http://www.omg.org

  2. Braga, R., Werner, C., Mattoso, M.: Odyssey: A Reuse Environment Based on Domain Models. In: Proc. of 2nd. IEEE Symposium on Application-Specific Systems and Software Engineering Technology, Richardson (March 1999)

    Google Scholar 

  3. Brown, K.: Design Reverse-Engineering and Automated Design Pattern Detection in Smalltalk. Master Thesis (1997), http://www2.ncsu.edu/eos/info/tasug/kbrown/thesis2.htm

  4. Brown, W., Malveau, R., McCormick III, H., Mowbray, T.: Anti-patterns - Refactoring Software, Architectures, and Projects in Crisis. Wiley Computer Publishing, Chichester (1998)

    Google Scholar 

  5. Cinnéide, M., Nixon, P.: Program Restructuring to Introduce Design Patterns. In: Proc. of the Workshop on Object Oriented Software Evolution and Re-Engineering, ECOOP 1998 (1998)

    Google Scholar 

  6. Crew, R.F.: ASTLOG: A Language for Examining Abstract Syntax Trees. In: Usenix Conference on Domain-Specific Languages (1997)

    Google Scholar 

  7. Demeyer, S., Tichelaar, S., Steyaert, P.: FAMOOS - Definition of a Common Exchange Model, http://www.iam.unibe.ch/~famoos/InfoExchFormat/

  8. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  9. Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object Oriented Software Engineering. Addison-Wesley, Reading (1992)

    MATH  Google Scholar 

  10. Krämer, C., Prechelt, L.: Design Recovery by Automated Search for Structural Design Patterns in Object Oriented Software. In: Proc. of the Working Conf. on Reverse Engineering. IEEE CS Press, Monterrey (1996)

    Google Scholar 

  11. Maughan, G., Avotins, J.: A Meta-model for Object Oriented Reengineering and Metrics Collection. Eiffel Liberty Journal 1(4) (1998)

    Google Scholar 

  12. Mittchel, T.M.: Machine Learning. McGraw Hill, New York (1997)

    Google Scholar 

  13. Rational Software Inc., Santa Clara, CA. - Rational Rose 1998 (1998), http://www.rational.com

  14. Riel, A.: Object Oriented Design Heuristics. Addison-Wesley, Reading (1996)

    Google Scholar 

  15. Software Composition Group (SCG) - FAMOOS Project, http://iamwwww.unibe.ch/~famoos

  16. Zimmer, W.: Experiences using Design Patterns to Reorganize an Object Oriented Application. In: Proc. of the Workshop on OO Software Evolution and Re-Engineering, ECOOP (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Correa, A.L., Werner, C.M.L., Zaverucha, G. (2000). Object Oriented Design Expertise Reuse: An Approach Based on Heuristics, Design Patterns and Anti-patterns. In: Frakes, W.B. (eds) Software Reuse: Advances in Software Reusability. ICSR 2000. Lecture Notes in Computer Science, vol 1844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-44995-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-44995-9_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67696-6

  • Online ISBN: 978-3-540-44995-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics