skip to main content
10.1145/2465478.2465491acmconferencesArticle/Chapter ViewAbstractPublication PagescomparchConference Proceedingsconference-collections
research-article

On the appropriate rationale for using design patterns and pattern documentation

Authors Info & Claims
Published:17 June 2013Publication History

ABSTRACT

Software design patterns are proven solutions for recurring design problems. Decisions on the use of a pattern in a software design form a specific but important class of design decisions. However, despite their importance, these design decisions are often mistaken and rarely documented. In our survey, about 90% of the participants confirmed to have experienced such problems. Therefore, we propose an approach that supports the appropriate use of design patterns and documentation of such decisions. The main idea is to create a pattern catalogue, where a pattern (as part of its catalogue entry) is annotated with general questions on the appropriateness of the use of the pattern. The envisioned benefits of this approach are a more appropriate use of design patterns, and documented design decisions on the use of patterns with positive effects on evolution. In this paper, we present the enriched pattern catalogue, and results of a survey with 21 software engineers as a validation of some entries of the pattern catalogue.

References

  1. H. Albin-Amiot, Y.-G. Gueheneuc, and R. A. Kastler. Meta-modeling design patterns: Application to pattern detection and code synthesis. In Proc. 1st ECOOP W. Automating Object-Or. SW Dev. Methods, pages 01--35, 2001.Google ScholarGoogle Scholar
  2. A. Birukou. A survey of existing approaches for pattern search and selection. In Proceedings of the 15th European Conference on Pattern Languages of Programs, EuroPLoP'10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. F. Buschmann, K. Henney, and D. C. Schmidt. Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing. John Wiley & Sons, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Buschmann, R. Meunier, H. Rohnert, and P. Sommerlad. A System of Patterns: Pattern-Oriented Software Architecture, volume 1. John Wiley & Sons, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Dong, S. Yang, and K. Zhang. Visualizing design patterns in their applications and compositions. IEEE Trans. Softw. Eng., 33:433--453, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Z. Durdik, B. Klatt, H. Koziolek, K. Krogmann, J. Stammel, and R. Weiss. Sustainability guidelines for long-living software systems. In Proc. of the 28th IEEE Int. Conf. on Softw. Maintenance (ICSM), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Z. Durdik and R. Reussner. Pattern survey, Google Docs. https://docs.google.com/spreadsheet/viewform?formkey= dGVlMFdoel9PUnNuVFp4SnlLSUkwSUE6MA.Google ScholarGoogle Scholar
  8. Z. Durdik and R. Reussner. Position Paper: Approach for Architectural Design and Modelling with Documented Design Decisions (ADMD3). In Proc. of the 8th ACM SIGSOFT Int. Conf. on the Quality of Softw. Architectures (QoSA'12), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Elaasar, L. C. Briand, and Y. Labiche. A metamodeling approach to pattern specification. In 9th Int. Conf. on Model Driven Eng. Lang. and Syst., MoDELS'06, pages 484--498, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Professional, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Number 1. Addison-Wesley Longman, Amsterdam, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Garbe, C. Janssen, C. Moebus, H. Seebold, and H. de Vries. KARaCAs: Knowledge Acquisition with Repertory Grids and Formal Concept Analysis for Dialog System Construction. In Managing Knowledge in a World of Networks. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Gross and E. Yu. From non-functional requirements to design through patterns. Requirements Engineering, 6:18--36, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  14. M. Heller. A patterns-based modeling process with traced design rationale. Master's thesis, Karlsruhe Institute of Technology (KIT), 2012. Reviewer: Prof. Dr. R. H. Reussner, Prof. Dr. W. F. Tichy, Advisor: Z. Durdik, M. Küster.Google ScholarGoogle Scholar
  15. S. Henninger and P. Ashokkumar. An ontology-based metamodel for software patterns. In 18th Int. Conf. on SW Eng. and Knowl. Eng. (Seke2006), 2006.Google ScholarGoogle Scholar
  16. P. Kruchten. An Ontology of Architectural Design Decisions in Software Intensive Systems. In 2nd Groningen W. Software Variability, pages 54--61, 2004.Google ScholarGoogle Scholar
  17. L. Lee and P. Kruchten. Customizing the capture of software architectural design decisions. In Canadian Conf. on Electrical and Computer Engineering, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  18. B. Paech, T. Koenig, L. Borner, and A. Aurum. An analysis of empirical requirements engineering survey data. Engineering and Managing Software Requirements, p3:427--452, 2006.Google ScholarGoogle Scholar
  19. L. Pavlic, M. Hericko, and V. Podgorelec. Improving design pattern adoption with ontology-based design pattern repository. In 30th Int. Conf. on Inf. Tech. Interfaces (ITI 2008), 2008.Google ScholarGoogle ScholarCross RefCross Ref
  20. F. Pena-Mora and S. Vadhavkar. Augmenting design patterns with design rationale. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 11:93--108, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  21. K. Punch. Introduction to Social Research: Quantitative and Qualitative Approaches. Sage Publications Ltd, 2005.Google ScholarGoogle Scholar
  22. W. Schaefer. Specification of Software Patterns for Pattern-Oriented Software Development: Meta-model. PG POSE student project.Google ScholarGoogle Scholar
  23. M. Shahin, P. Liang, and M. Khayyambashi. Architectural design decision: Existing models and tools. In European Conf. on Softw. Architecture. WICSA/ECSA 2009., pages 293 --296, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  24. T. Taibi. Design Pattern Formalization Techniques. IGI Publishing, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Tang, Y. Jin, and J. Han. A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw., 80(6):918 -- 934, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Thabasum and M. Sundar. A survey on software design pattern tools for pattern selection and implementation. In Int. Journal of Comp. Science and Communication Networks (IJCSCN), volume Volume 2, Issue 4, 2012.Google ScholarGoogle Scholar
  27. W. F. Tichy. A catalogue of general-purpose software design patterns. In Tools-23: Techn. of Object-Oriented Lang. and Sys., 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Vokac, W. Tichy, D. I. K. Sjoberg, E. Arisholm, and M. Aldrin. A controlled experiment comparing the maintainability of programs designed with and without design patterns - a replication in a real programming environment. Emp. S. Eng., 9(3), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. W. Wang and J. E. Burge. Using rationale to support pattern-based architectural design. In ICSE W. on Sharing and Reusing Arch. Knowledge, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. O. Zimmermann. Architectural decisions as reusable design assets. Software, IEEE, 28 Issue 1:64 -- 69, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On the appropriate rationale for using design patterns and pattern documentation

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          QoSA '13: Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
          June 2013
          180 pages
          ISBN:9781450321266
          DOI:10.1145/2465478

          Copyright © 2013 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 17 June 2013

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          QoSA '13 Paper Acceptance Rate17of42submissions,40%Overall Acceptance Rate46of131submissions,35%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader