skip to main content
10.1145/2591028.2600819acmotherconferencesArticle/Chapter ViewAbstractPublication PagessugarloafplopConference Proceedingsconference-collections
research-article

Patterns selection for software architecture: an approach based on quality attribute parameters

Published: 20 September 2012 Publication History

Abstract

Applying patterns to architecture allows the reuse of efficient solutions. However, the activity of selecting which pattern is appropriate for each project is not trivial, especially for less experienced developers. The architecture is designed to satisfy, in part, quality attribute requirements. Pattern selection considering quality attributes specified for a project, delivers a very coarse-grained result, including patterns with very different purpose. This paper proposes an approach for selecting patterns, based on Quality Attribute Parameters. A study was conducted to identify parameters which consist of sub-requirements of quality attributes. The parameters are described directly or indirectly among software requirements and can characterize quality attributes. These parameters allow a more detailed description of quality requirements and a more fine-grained pattern selection. Thus, they help developers in the task of selecting patterns for each project more efficiently.

References

[1]
Avgeriou, Paris, and Uwe Zdun. 2005. "Architectural Patterns Revisited -- A Pattern Language." In 10th European Conference on Pattern Languages of Programs (EuroPlop 2005). Irsee, Germany.
[2]
Barbacci, Mario. 2003. "Software Quality Attributes and Architecture Tradeoffs. Tutorial". Pittsburgh PA: Carnegie Mellon - Software engineering Institute.
[3]
Barbacci, Mario, Robert J. Ellison, Anthony J. Lattanze, Judith A. Stafford, Charles B. Weinstock, and William G. Wood. 2003. "Quality Attribute Workshops (QAWs), CMU/SEI-2003-TR-016."
[4]
Barbacci, Mario, Mark H Klein, Thomas A Longstaff, and Charles B Weinstock. 1995. "Quality Attributes CMU/SEI-1995-TR-021." Journal of Food Quality 18 (3). Software Engineering Institute, Carnegie Mellon University: 215--33.
[5]
Bass, Len, Paul Clements, and Rick Kazman. 2003. Software Architecture in Practice. Architecture. Vol. 2nd. Series in Software Engineering. Addison-Wesley.
[6]
Birukou, Aliaksandr. 2010. "A Survey of Existing Approaches for Pattern Search and Selection." In European Conference on Pattern Languages of Programs, EuroPLoP '10, Irsee Monastery, Bavaria, Germany, July 7-11, 2010, edited by Paris Avgeriou and Michael Weiss, 2. Bavaria, Germany: ACM.
[7]
Booch, Grady. "Handbook of Software Architecture." http://www.handbookofsoftwarearchitecture.com.
[8]
Bosch, Jan. 2000. Design & Use of Software Architectures. London: Addison-Wesley Professional.
[9]
Buschmann, Frank, Kevlin Henney, and Douglas Schmidt. 2007a. Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages. Vol. 5. Software Design Patterns. Wiley.
[10]
Buschmann, Frank, Kevlin Henney, and Douglas Schmidt. 2007b. Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing. Wiley.
[11]
Buschmann, Frank, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Edited by John Wiley & Sons. England.
[12]
CISQ. 2011. "Software Structural Quality Characteristics". Consortium for IT Software Quality - CMU/SEI. http://www.sei.cmu.edu/newsitems/cisq.cfm.
[13]
Coplien, James O. 1996. Software Patterns. SIGS Books and Multimedia.
[14]
Cunningham, Ward. 1995. "Portland Pattern Repository." Cunningham & Cunningham, Inc. http://c2.com/ppr/.
[15]
Falessi, Davide, Giovanni Cantone, Rick Kazman, and Philippe Kruchten. 2011. "Decision-Making Techniques for Software Architecture Design." ACM Computing Surveys 43 (4): 1--28.
[16]
Fowler, Martin. 2002. Patterns of Enterprise Application Architecture. Addison-Wesley.
[17]
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns - Elements of Reusable Object-Oriented Software. Elements. Vol. 47. Addison Wesley Professional Computing Series. Addison-Wesley.
[18]
Gorton, Ian. 2006. Essential Software Architecture. New York. Springer.
[19]
Group, Hillside. "Patterns Library." http://hillside.net/patterns/.
[20]
Hang, G. S., L. Y. Qing, J. M. Zhong, G. Jing, and L. H. Juan. 2007. "A Requirement Analysis Pattern Selection Method for E-Business Project Situation." In Proceedings of the IEEE International Conference on E-Business Engineering. ICEBE '07, 347--50. Washington, DC, USA: IEEE Computer Society.
[21]
Harrison, Neil B, and Paris Avgeriou. 2007. "Leveraging Architecture Patterns to Satisfy Quality Attributes." Lecture Notes in Computer Science 4758. Lecture Notes in Computer Science. Springer: 263--70.
[22]
Harrison, Neil B, and Paris Avgeriou. 2008. "Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation." Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), February. Ieee, 147--56.
[23]
Hofmeister, C, Philippe Kruchten, R L Nord, H Obbink, A Ran, and P America. 2005. "Generalizing a Model of Software Architecture Design from Five Industrial Approaches." 5th Working IEEEIFIP Conference on Software Architecture WICSA05. Ieee, 77--88.
[24]
IEEE. 1990. "IEEE Std. 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology."
[25]
IEEE. 1998. "IEEE Std. 1061-1998(R2009) -IEEE Standard for a Software Quality Metrics Methodology."
[26]
IEEE. 2000. "ANSI/IEEE Std 1471-2000 Recommended Practice for Architectural Description of Software- Intensive Systems."
[27]
IEEE. 2009. "IEEE Std 1044-2009: Classification for Software Anomalies (Revision of IEEE STD 1044-1993)". New york, USA.
[28]
ISO/IEC. 2001. "Software Engineering - Product Quality - Part 1: Quality Model, ISO/IEC 9126-1: 2001."
[29]
ISO/IEC. 2003a. "Software Engineering - Product Quality - Part 2: External Metrics, ISO/IEC TR 9126-2: 2003." IEC ISO. Vol. 2004. IEC & ISO.
[30]
ISO/IEC. 2003b. "Software Engineering - Product Quality - Part 3: Internal Metrics, ISO/IEC TR 9126-3: 2003."
[31]
ISO/IEC. 2007. "ISO/IEC 42010 Systems and Software Engineering --- Recommended Practice for Architectural Description of Software-Intensive Systems."
[32]
ISO/IEC. 2011. "ISO/IEC 25010: Systems and Software Engineering -- Systems and Software Quality Requirements and Evaluation (SQuaRE) -- System and Software Quality Models."
[33]
Kazman, Rick, Mark Klein, and Paul Clements. 2000. "ATAM: Method for Architecture Evaluation, CMU/SEI-2000-TR-004". Pittsburgh, PA.
[34]
Kircher, Michael, and Prashant Jain. 2004. Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management. Wiley.
[35]
McCall, J. A. 1977. "Factors in Software Quality, RADC-TR-77-369, 13441-5700". Nova York.
[36]
Schmidt, Douglas, Michael Stal, Hans Rohnert, and Frank Buschmann. 2000. Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects. Wiley.
[37]
Schumacher, Markus, Eduardo Fernandez-Buglioni, Duane Hybertson, Frank Buschmann, and Peter Sommerlad. 2006. Security Patterns Integrating Security and Systems Engineering. England: John Wiley & Sons Inc.
[38]
Shaw, Mary. 1996. "Some Patterns for Software Architecture." In Pattern Languages of Program Design, edited by Eds. Vlissides, J. Coplien, and N. Kerth, 2: 255--69. Addison-Wesley, Reading, Mass.
[39]
Shaw, Mary, and David Garlan. 1996. Software Architecture: Perspectives on an Emerging Discipline. Edited by M Shaw and D Garlan. Pattern Languages of Program Design. Vol. 123. Prentice Hall.
[40]
Soares, L. S., R. T. Price, M. S. Pimenta, and J. L. Braga. 2011. "Selecting Architectural Patterns through a Knowledge-Based Approach." In Proceedings of the IADIS International Conference Applied Computing 2011, Rio de Janeiro, Brazil. Rio de Janeiro, Brazil: IADIS Press.
[41]
Wang, J., Y. T. Song, and L. Chung. 2005. "From Software Architecture to Design Patterns: A Case Study of an NFR Approach." In International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and ACIS International Workshop on Self-Assembling Wireless Networks., 170--77. Washington, DC, USA,: Society, IEEE Computer.
[42]
Weiss, Michael, and Aliaksandr Birukou. 2007. "Building a Pattern Repository: Benefitting from the Open, Lightweight, and Participative Nature of Wikis." In Workshop on Wikis for Software Engineering at ACM WikiSym, 2007 International Symposium on Wikis (WikiSym), 21--23. Montreal, Quebec.
[43]
Wojcik, Rob, Felix Bachmann, Len Bass, Paul Clements, Paulo Merson, Robert Nord, and William G. Wood. 2006. "Attribute-Driven Design (ADD), CMU/SEI-2006-TR-023."
[44]
Zdun, Uwe. 2003. "Patterns of Tracing Software Structures and Dependencies." In Proceedings of EuroPlop 2003.
[45]
Zdun, Uwe. 2004. "Pattern Language for the Design of Aspect Languages and Aspect Composition Frameworks." IEE Proceedings Software 151 (2). IEE: 67--83.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SugarLoafPLoP '12: Proceedings of the 9th Latin-American Conference on Pattern Languages of Programming
September 2012
164 pages
ISBN:9781450327879
DOI:10.1145/2591028
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

  • Hillside Group: Hillside Group

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. patterns for architecture design

Qualifiers

  • Research-article

Conference

SugarLoafPLoP '12
Sponsor:
  • Hillside Group
SugarLoafPLoP '12: 9th Latin American Conference on Pattern Languages of Programs
September 20 - 22, 2012
Rio Grande do Norte, Natal, Brazil

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 177
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

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