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.
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Bass, L., Clemens, P., and Kazman, R. 2003. Software architecture in practice Second Ed. Addison-Wesley. Google ScholarDigital Library
- 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 ScholarDigital Library
- Bode, S. and Riebisch, M. 2010. Impact Evaluation for Quality-Oriented Architectural Decisions regarding Evolvability. In Software Architecture. Springer, 182--197. Google ScholarDigital Library
- Bosch, J. 2000. Design and use of software architectures. Addison-Weseley. Google ScholarDigital Library
- Bosch, J. and Molin, P. 1999. Software architecture design: evaluation and transformation. In Proceedings. ECBS'99. 4--10. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Fassbender, S. and Heisel, M. 2013. From problems to laws in requirements engineering using model-transformation. In Proc. ICSOFT 2013. SciTePress, 447--458.Google Scholar
- 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 Scholar
- Fowler, M. 1996. Analysis Patterns: Reusable Object Models. Addison Wesley. Google ScholarDigital Library
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley. Google ScholarDigital Library
- Gross, D. and Yu, E. 2001. From non-functional requirements to design through patterns. Requirements Engineering 6, 1, 18--36.Google ScholarCross Ref
- 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 ScholarDigital Library
- Hatebur, D. and Heisel, M. 2010. Making pattern- and model-based software development more rigorous. In Proceddings ICFEM'11. Springer, 253--269. Google ScholarDigital Library
- Hofmeister, C., Nord, R., and Soni, D. 1999. Applied Software Architecture: A Practical Guide for Software Designers. Addison-Wesley. Google ScholarDigital Library
- In, H. and Boehm, B. 2001. Using WinWin Quality Requirements Management Tools: A Case Study. Annals of Software Engineering (Kluwer 11, 141--174. Google ScholarDigital Library
- ISO/IEC. 2010. Iso/iec 25010 system and software quality models. Tech. rep.Google Scholar
- Jackson, M. 2001. Problem Frames. Analyzing and structuring software development problems. Addison-Wesley. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Kruchten, P. 1995. The 4+1 View Model of architecture. IEEE Software 12, 6, 42--50. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Pomerol, J. and Barba-Romero, S. 2000. Multicriterion Decision in Management: Principles and Practice. Int. series in operations research & management science: ISOR. Kluwer. Google ScholarDigital Library
- Rausch, A., Reussner, R., Mirandola, R., and Plasil, F. 2008. The Common Component Modeling Example: Comparing Software Component Models 1st Ed. Springer. Google ScholarDigital Library
- 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 Scholar
- Shaw, M. and Garlan, G. 1996. Software Aechitecture: Perspectives on an emerging discipline. Prentice Hall. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Weiss, M. 2008. Patterns and their impact on system concerns. In In European Conference on Pattern Languages of Programs.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Zdun, U. 2007. Systematic pattern selection using pattern language grammars and design space analysis. Softw. Pract. Exper. 37, 9, 983--1016. Google ScholarDigital Library
Index Terms
- Towards systematic selection of architectural patterns with respect to quality requirements
Recommendations
Towards a reliable mapping between performance and security tactics, and architectural patterns
EuroPLoP '15: Proceedings of the 20th European Conference on Pattern Languages of ProgramsThe software architecture of a system-to-be affects the fulfillment of the desired quality requirements for this system. For building upon common knowledge and best practices, the use of architectural patterns in the software architecture has shown to ...
Non-functional Requirements in Architectural Decision Making
Software architects often must work with incomplete or ill-specified non-functional requirements (NFRs) and use them to make decisions. Through this process, existing NFRs are refined or modified and new ones emerge. Although much research has centered ...
MOQARE: misuse-oriented quality requirements engineering
This work presents MOQARE (misuse-oriented quality requirements engineering), a method to explore quality requirements. The aim of MOQARE is to support intuitive and systematic identification of quality requirements. It was developed by integrating and ...
Comments