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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language for Object Oriented Development - UML Semantics - version 1.1 (1997), http://www.omg.org
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)
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
Brown, W., Malveau, R., McCormick III, H., Mowbray, T.: Anti-patterns - Refactoring Software, Architectures, and Projects in Crisis. Wiley Computer Publishing, Chichester (1998)
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)
Crew, R.F.: ASTLOG: A Language for Examining Abstract Syntax Trees. In: Usenix Conference on Domain-Specific Languages (1997)
Demeyer, S., Tichelaar, S., Steyaert, P.: FAMOOS - Definition of a Common Exchange Model, http://www.iam.unibe.ch/~famoos/InfoExchFormat/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, Reading (1995)
Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object Oriented Software Engineering. Addison-Wesley, Reading (1992)
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)
Maughan, G., Avotins, J.: A Meta-model for Object Oriented Reengineering and Metrics Collection. Eiffel Liberty Journal 1(4) (1998)
Mittchel, T.M.: Machine Learning. McGraw Hill, New York (1997)
Rational Software Inc., Santa Clara, CA. - Rational Rose 1998 (1998), http://www.rational.com
Riel, A.: Object Oriented Design Heuristics. Addison-Wesley, Reading (1996)
Software Composition Group (SCG) - FAMOOS Project, http://iamwwww.unibe.ch/~famoos
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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