Abstract
Designers have accumulated much knowledge referring to OO systems design and construction, but this large body of knowledge is neither organized nor unified yet. In order to improve OO micro architectures, using the accumulated knowledge in a more systematic and effective way, we have defined a rules catalog (that unifies knowledge such as heuristics, principles, bad smells, etc.), the relationships between rules and patterns and an improvement method based on these subjects. We have carried out a controlled experiment which shows us that the usage of a rules catalog and its relationship with patterns really improves OO micro architectures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Boehm, B., Turner, R.: Using Risk to Balance Agile and Plan-Driven Methods. Computer 36(6), 57–66 (2003)
Booch, G.: Managing the Object-Oriented project. Addison-Wesley, Reading (1996)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: A System of Patterns: Pattern-Oriented Software Architecture. Addison-Wesley, Reading (1996)
Coad, P.: Object-Oriented Patterns. Comunications ACM 35(9), 152–159 (1992)
Coplien, J., Schmidt: Patterns Languages of Program Design. Addison Wesley, Reading (1996)
Tichy, W.: A catalogue of general-purpose software design patterns. In: TOOLS 1997 (1997)
Fowler, M.: Refactoring improving the design of existing code. Addison Wesley, Reading (2000)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison Wesley, Reading (2002)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, Reading (1995)
IEEE, STD 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology (1990)
Kitchenham, B.A., Pfleeger, S., Pickard, L., Jones, P., Hoaglin, D., El Emam, K., Rosenberg, J.: Preliminary Guidelines for Empirical Research in Software Engineering. In: IEEE Transactions on Software Engineering, vol. 28(8). IEEE Computer Society, Los Alamitos (2002)
Kitchenham, B.A., Dybå, T., Jorgensen, M.: Evidence-based Software Engineering. In: Procedigns of the 26th International Conference on Software Engineering (ICSE 2004). IEEE, Los Alamitos (2004)
Martin, The Dependency Inversion Principle. C++ Report (1996)
Meyer, B.: Object Oriented Software Construction. Prentice Hall, Englewood Cliffs (1988)
Pescio, C.: Principles Versus Patterns. IEEE Computer 30(9), 130–131 (1997)
Prechelt, L., Unger, B., Philippsen, M., Tichy, W.: Two Controlled Experiments Assessing the Usefulness of Design Pattern Information During Program Maintenance. IEEE Transactions on Software Engineering 28(6), 595–606 (1997)
Prechelt, L., Unger, B.: A Series of Controlled Experiments on Design Patterns: Methodology and Results. In: Proc. Softwaretechnik 1998 GI Conference (Softwaretechnik-Trends), Paderborn, September 7-9, vol. 18(3), pp. 53–60 (1998)
Prechelt, L., Unger, B., Tichy, W., Bössler, P., Votta, G.: A Controlled Experiments in Maintenance Comparing Design Patterns to Simpler Solutions. IEEE Transactions on Software Engineering 27(12), 1134–1144 (2001)
Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Reading (1996)
Schwanninger, C.: “Patterns as problem indicators” Workshop on Beyond Design Patterns (mis)Used. In: OOPSLA 2001 (2001)
Thelin, T., Runeson, P., Wholin, C., Olsson, T., Andersson, C.: Evaluation of Usage – Based Reading – Conclusions after three Experiments. Empirical Software Engineering 9(1-2), 77–110 (2004)
Venners, B. (2004), Interface Design Best Practices in Object-Oriented API Design in Java, Retrieved February 2004, from http://www.artima.com/interfacedesign/contents.html
Wohlin C., Runeson P., Höst M., C. Ohlsson M., Regnell B., and Wesslén A.: Experimentation in Software Engineering – An Introduction. Kluwer Academic Publishers, Dordrecht (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garzás, J., Piattini, M. (2005). Improving Object-Oriented Micro Architectural Design Through Knowledge Systematization. In: Akoka, J., et al. Perspectives in Conceptual Modeling. ER 2005. Lecture Notes in Computer Science, vol 3770. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11568346_47
Download citation
DOI: https://doi.org/10.1007/11568346_47
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29395-8
Online ISBN: 978-3-540-32239-9
eBook Packages: Computer ScienceComputer Science (R0)