skip to main content
10.1145/2855321.2855362acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article

Towards systematic selection of architectural patterns with respect to quality requirements

Authors Info & Claims
Published:08 July 2015Publication History

ABSTRACT

The design of software architecture for a system-to-be is a challenge, since required functionality as well as the desired quality requirements have to be considered. Building upon common knowledge and best practices captured in architectural patterns has shown to be valuable in this context. However, existing solutions for deriving architectures from requirements mostly rely on experienced architects. Beside the required experience, it is often a problem that the decision is not properly reasoned and documented. In this paper, we propose a process to select appropriate architectural patterns with regards to given (quality) requirements for the system-to-be. The process uses problem frames for modeling requirements and relates requirements to architectural patterns by means of a question catalog. The answers to the questions indicate suitable architectural pattern candidates. The final decision making about the pattern to be used is supported with several steps and also takes tactics and their applicability for a pattern into account. This way, our proposed process connects requirements and architecture, guides even less experienced software engineers through the pattern selection process, provides support for decision making, and makes the decision rationale transparent. The expected target audience for this paper consists of both experienced and less-experienced software architects.

References

  1. Alebrahim, A., Choppy, C., Fassbender, S., and Heisel, M. 2014. Optimizing functional and quality requirements according to stakeholders' goals. In System Quality and Software Architecture (SQSA). Elsevier, 75--120.Google ScholarGoogle Scholar
  2. Alebrahim, A., Hatebur, D., and Heisel, M. 2011. Towards systematic integration of quality requirements into software architecture. In Proc. ECSA'11. Springer, 17--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Avgeriou, P. and Zdun, U. 2005. Architectural patterns revisited: A pattern language. In In 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee. 1--39.Google ScholarGoogle Scholar
  4. Bass, L., Clemens, P., and Kazman, R. 2003. Software architecture in practice Second Ed. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bass, L. and John, B. E. 2003. Linking usability to software architecture patterns through general scenarios. Journal of Systems and Software 66, 3, 187--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bode, S. and Riebisch, M. 2010. Impact Evaluation for Quality-Oriented Architectural Decisions regarding Evolvability. In Software Architecture. Springer, 182--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bosch, J. 2000. Design and use of software architectures. Addison-Weseley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bosch, J. and Molin, P. 1999. Software architecture design: evaluation and transformation. In Proceedings. ECBS'99. 4--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. 1996. Pattern-Oriented Software Architecture: A System of Patterns. Vol. 1. John Wiley & Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Choppy, C., Hatebur, D., and Heisel, M. 2005. Architectural patterns for problem frames. IEE Proceedings -- Software, Special issue on Relating Software Requirements and Architecture 152, 4, 198--208.Google ScholarGoogle Scholar
  11. Côté, I., Hatebur, D., Heisel, M., Schmidt, H., and Wentzlaff, I. 2008. A Systematic Account of Problem Frames. In Proc. of the European Conf. on Pattern Languages of Programs (EuroPLoP). Universitätsverlag Konstanz, 749--767.Google ScholarGoogle Scholar
  12. Davis, F. D., Bagozzi, R. P., and Warshaw, P. R. 1989. User acceptance of computer technology: A comparison of two theoretical models. Manage. Sci. 35, 8, 982--1003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Fassbender, S. and Heisel, M. 2013. From problems to laws in requirements engineering using model-transformation. In Proc. ICSOFT 2013. SciTePress, 447--458.Google ScholarGoogle Scholar
  14. Fassbender, S. and Heisel, M. 2014. A computer aided process from problems to laws in requirements engineering. In Software Technologies. Communications in Computer and Information Science Series, vol. 457. Springer, 215--234.Google ScholarGoogle Scholar
  15. Fowler, M. 1996. Analysis Patterns: Reusable Object Models. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gross, D. and Yu, E. 2001. From non-functional requirements to design through patterns. Requirements Engineering 6, 1, 18--36.Google ScholarGoogle ScholarCross RefCross Ref
  18. Harrison, N. B. and Avgeriou, P. 2010. How do architecture patterns and tactics interact? a model and annotation. J. Syst. Softw. 83, 10, 1735--1758. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hatebur, D. and Heisel, M. 2010. Making pattern- and model-based software development more rigorous. In Proceddings ICFEM'11. Springer, 253--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Hofmeister, C., Nord, R., and Soni, D. 1999. Applied Software Architecture: A Practical Guide for Software Designers. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. In, H. and Boehm, B. 2001. Using WinWin Quality Requirements Management Tools: A Case Study. Annals of Software Engineering (Kluwer 11, 141--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. ISO/IEC. 2010. Iso/iec 25010 system and software quality models. Tech. rep.Google ScholarGoogle Scholar
  23. Jackson, M. 2001. Problem Frames. Analyzing and structuring software development problems. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., and Carriere, J. 1998. The Architecture Tradeoff Analysis Method. In Proceedings of the Fourth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS.Google ScholarGoogle Scholar
  25. Konersmann, M., Alebrahim, A., Heisel, M., Goedicke, M., and Kersten, B. 2012. Deriving Quality-based Architecture Alternatives with Patterns. In Proceddings SE'12. GI, 71--82.Google ScholarGoogle Scholar
  26. Kruchten, P. 1995. The 4+1 View Model of architecture. IEEE Software 12, 6, 42--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Müller, M., Kersten, B., and Goedicke, M. 2011. A Question-Based Method for Deriving Software Architectures. In Proceedings of the 5th European Conference on Software Architecture (ECSA), I. Crnkovic, V. Gruhn, and M. Book, Eds. LNCS 6903. Springer Verlag, 35--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mustajoki, J. and Hämäläinen, R. 2007. Smart-swaps - a decision support system for multicriteria decision analysis with the even swaps method. Decision Support Systems 44, 1, 313--325. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Obrien, L., Bass, L., and Merson, P. 2005. Quality Attributes and Service-Oriented Architectures. Tech. Rep. CMU/SEI-2005-TN-014, Software Engineering Institute.Google ScholarGoogle Scholar
  30. Ozkaya, I., Bass, L., Sangwan, R. S., and Nord, R. L. 2008. Making practical use of quality attribute information. IEEE Softw. 25, 2, 25--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Pomerol, J. and Barba-Romero, S. 2000. Multicriterion Decision in Management: Principles and Practice. Int. series in operations research & management science: ISOR. Kluwer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Rausch, A., Reussner, R., Mirandola, R., and Plasil, F. 2008. The Common Component Modeling Example: Comparing Software Component Models 1st Ed. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Saaty, T. 2005. The analytic hierarchy and analytic network processes for the measurement of intangible criteria and for decision-making. In Multiple Criteria Decision Analysis: State of the Art Surveys. Springer, 345--408.Google ScholarGoogle Scholar
  34. Shaw, M. and Garlan, G. 1996. Software Aechitecture: Perspectives on an emerging discipline. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. van Heesch, U. and Avgeriou, P. 2011. Mature architecting - a survey about the reasoning process of professional architects. In Software Architecture (WICSA), 2011 9th Working IEEE/IFIP Conference on. 260--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. van Heesch, U., Avgeriou, P., and Tang, A. 2013. Does decision documentation help junior designers rationalize their decisions? a comparative multiple-case study. J. Syst. Softw. 86, 6, 1545--1565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Weiss, M. 2008. Patterns and their impact on system concerns. In In European Conference on Pattern Languages of Programs.Google ScholarGoogle Scholar
  38. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. 2000. Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wojcik, R., Bachmann, F., Bass, L., Clements, P. C., Merson, P., Nord, R., and Wood, W. G. 2006. Attribute-Driven Design (ADD), Version 2.0. Tech. rep., Software Engineering Institute.Google ScholarGoogle Scholar
  40. Zdun, U. 2007. Systematic pattern selection using pattern language grammars and design space analysis. Softw. Pract. Exper. 37, 9, 983--1016. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards systematic selection of architectural patterns with respect to quality requirements

            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 Other conferences
              EuroPLoP '15: Proceedings of the 20th European Conference on Pattern Languages of Programs
              July 2015
              714 pages
              ISBN:9781450338479
              DOI:10.1145/2855321

              Copyright © 2015 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: 8 July 2015

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate216of354submissions,61%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader