Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

Published: 17 June 2013 Publication 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.
[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.
[3]
F. Buschmann, K. Henney, and D. C. Schmidt. Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing. John Wiley & Sons, 2007.
[4]
F. Buschmann, R. Meunier, H. Rohnert, and P. Sommerlad. A System of Patterns: Pattern-Oriented Software Architecture, volume 1. John Wiley & Sons, 1996.
[5]
J. Dong, S. Yang, and K. Zhang. Visualizing design patterns in their applications and compositions. IEEE Trans. Softw. Eng., 33:433--453, 2007.
[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.
[7]
Z. Durdik and R. Reussner. Pattern survey, Google Docs. https://docs.google.com/spreadsheet/viewform?formkey= dGVlMFdoel9PUnNuVFp4SnlLSUkwSUE6MA.
[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.
[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.
[10]
M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Professional, 2005.
[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.
[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.
[13]
D. Gross and E. Yu. From non-functional requirements to design through patterns. Requirements Engineering, 6:18--36, 2000.
[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.
[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.
[16]
P. Kruchten. An Ontology of Architectural Design Decisions in Software Intensive Systems. In 2nd Groningen W. Software Variability, pages 54--61, 2004.
[17]
L. Lee and P. Kruchten. Customizing the capture of software architectural design decisions. In Canadian Conf. on Electrical and Computer Engineering, 2008.
[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.
[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.
[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.
[21]
K. Punch. Introduction to Social Research: Quantitative and Qualitative Approaches. Sage Publications Ltd, 2005.
[22]
W. Schaefer. Specification of Software Patterns for Pattern-Oriented Software Development: Meta-model. PG POSE student project.
[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.
[24]
T. Taibi. Design Pattern Formalization Techniques. IGI Publishing, 2007.
[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.
[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.
[27]
W. F. Tichy. A catalogue of general-purpose software design patterns. In Tools-23: Techn. of Object-Oriented Lang. and Sys., 1997.
[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.
[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.
[30]
O. Zimmermann. Architectural decisions as reusable design assets. Software, IEEE, 28 Issue 1:64 -- 69, 2010.

Cited By

View all
  • (2021)Capturing Users Requirements Using a Data Mining Approach2021 International Conference on Communication Technologies (ComTech)10.1109/ComTech52583.2021.9616939(49-54)Online publication date: 21-Sep-2021
  • (2019)Software Architecture Design of Cloud Platforms in Automotive Domain: An Online Survey2019 IEEE 12th Conference on Service-Oriented Computing and Applications (SOCA)10.1109/SOCA.2019.00032(168-175)Online publication date: Nov-2019
  • (2016)Model-Driven Evaluation of Software Architecture Quality Using Model Clone Detection2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2016.21(92-99)Online publication date: Aug-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design decision
  2. design patterns
  3. development process
  4. software architecture
  5. survey

Qualifiers

  • Research-article

Conference

Comparch '13
Sponsor:

Acceptance Rates

QoSA '13 Paper Acceptance Rate 17 of 42 submissions, 40%;
Overall Acceptance Rate 46 of 131 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Capturing Users Requirements Using a Data Mining Approach2021 International Conference on Communication Technologies (ComTech)10.1109/ComTech52583.2021.9616939(49-54)Online publication date: 21-Sep-2021
  • (2019)Software Architecture Design of Cloud Platforms in Automotive Domain: An Online Survey2019 IEEE 12th Conference on Service-Oriented Computing and Applications (SOCA)10.1109/SOCA.2019.00032(168-175)Online publication date: Nov-2019
  • (2016)Model-Driven Evaluation of Software Architecture Quality Using Model Clone Detection2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2016.21(92-99)Online publication date: Aug-2016
  • (2016)Design Decision Documentation: A Literature OverviewSoftware Architecture10.1007/978-3-319-48992-6_6(84-101)Online publication date: 3-Nov-2016
  • (2015)Mining unstructured data to support requirements elicitation by using controlled vocabularies: A systematic mapping studyDYNA10.15446/dyna.v82n193.4790782:193(165-169)Online publication date: 20-Oct-2015
  • (2013)Towards architecture-centric evolution of long-living systems (the ADVERT approach)Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures10.1145/2465478.2465496(163-168)Online publication date: 17-Jun-2013

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media