Skip to main content

Improving Object-Oriented Micro Architectural Design Through Knowledge Systematization

  • Conference paper
Book cover Perspectives in Conceptual Modeling (ER 2005)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 3770))

Included in the following conference series:

  • 1006 Accesses

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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boehm, B., Turner, R.: Using Risk to Balance Agile and Plan-Driven Methods. Computer 36(6), 57–66 (2003)

    Article  Google Scholar 

  2. Booch, G.: Managing the Object-Oriented project. Addison-Wesley, Reading (1996)

    Google Scholar 

  3. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: A System of Patterns: Pattern-Oriented Software Architecture. Addison-Wesley, Reading (1996)

    Google Scholar 

  4. Coad, P.: Object-Oriented Patterns. Comunications ACM 35(9), 152–159 (1992)

    Article  Google Scholar 

  5. Coplien, J., Schmidt: Patterns Languages of Program Design. Addison Wesley, Reading (1996)

    Google Scholar 

  6. Tichy, W.: A catalogue of general-purpose software design patterns. In: TOOLS 1997 (1997)

    Google Scholar 

  7. Fowler, M.: Refactoring improving the design of existing code. Addison Wesley, Reading (2000)

    Google Scholar 

  8. Fowler, M.: Patterns of Enterprise Application Architecture. Addison Wesley, Reading (2002)

    Google Scholar 

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

    Google Scholar 

  10. IEEE, STD 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology (1990)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Martin, The Dependency Inversion Principle. C++ Report (1996)

    Google Scholar 

  14. Meyer, B.: Object Oriented Software Construction. Prentice Hall, Englewood Cliffs (1988)

    Google Scholar 

  15. Pescio, C.: Principles Versus Patterns. IEEE Computer 30(9), 130–131 (1997)

    Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Article  Google Scholar 

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

    Google Scholar 

  20. Schwanninger, C.: “Patterns as problem indicators” Workshop on Beyond Design Patterns (mis)Used. In: OOPSLA 2001 (2001)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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

  23. 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)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics