ABSTRACT
Engineering software-intensive systems is a complex process that typically involves making many critical decisions. A continuous challenge during system design, analysis and development is deciding on the reference architecture that could reduce risks and deliver the expected functionality and quality of a product or a service to its users. The lack of evidence in documenting strategies supporting decision-making in the selection of architectural assets in systems and software engineering creates an impediment in learning, improving and also reducing the risks involved. In order to fill this gap, ten experienced researchers in the field of decision support for the selection of architectural assets in engineering software-intensive systems conducted a workshop to reduce traceability of strategies and define a dedicated taxonomy. The result was the GRADE taxonomy, whose key elements can be used to support decision-making as exemplified through a real case instantiation for validation purposes. The overall aim is to support future work of researchers and practitioners in decision-making in the context of architectural assets in the development of software-intensive systems. The taxonomy may be used in three ways: (i) identify new opportunities in structuring decisions; (ii) support the review of alternatives and enable informed decisions; and (iii) evaluate decisions by describing in a retrospective fashion decisions, factors impacting the decision and the outcome.
- ISO/IEC/IEEE 42010:2011, Systems and software engineering --- Architecture description, the latest edition of the original IEEE Std 1471:2000, Recommended Practice for Architectural Description of Software-intensive Systems.Google Scholar
- Eeles, P.: Understanding Architectural Assets. In: Software Architecture. Seventh Working IEEE/IFIP Conference on Software Architecture, pp. 267--270 (2008) Google ScholarDigital Library
- Mcilroy, D.: Mass-produced Software Components. In: Proceedings of Software Engineering Concepts and Techniques, pp. 138--155 (1969)Google Scholar
- Crnkovic, I., Chaudron, M., Larsson, S.: Component-Based Development Process and Component Lifecycle. Int. Conf. Softw. Eng. Adv. (2006) Google ScholarDigital Library
- van Ommering, R., van der Linder, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. Computer (Long. Beach. Calif), 33 (3) 3, 78--85 (2000) Google ScholarDigital Library
- van Heesch, U., Avgeriou, P., Hilliard, R: A documentation framework for architecture decisions. J. Syst. Software, 85 (4), 795--820 (2012) Google ScholarDigital Library
- Jansen, A., Bosch, J., Avgeriou, P.: Documenting after the fact: Recovering architectural design decisions. J. Syst. Softw.,81 (4), 536--557 (2008) Google ScholarDigital Library
- Sawada, A., Noro, M., Chang, H.M., Hachisu, Y., Yoshida, A. 2011. A design map for recording precise architecture decisions. In: 18th Asia Pacific Software Engineering Conference (APSEC'11). IEEE. Google ScholarDigital Library
- SWEBOK Guide V3.0, http://www.computer.org/web/swebok/v3Google Scholar
- Glass, R.L., Vessey, I. Ramesh, V.: Resres: The story behind the paper "research in software engineering: An analysis of the literature". Information & Software Technology, 51 (1), 68--70 (2009) Google ScholarDigital Library
- Blum, B. I.: A taxonomy of software development methods. Communications of the ACM, 37 (11), 82--94 (1994) Google ScholarDigital Library
- Smite, D., Wohlin, C., Galvina, Z., Prikladnicki, R.: An empirically based terminology and taxonomy for global software engineering. Empirical Software Engineering, 19 (1), 105--153 (2014) Google ScholarDigital Library
- Unterkalmsteiner, M., Feldt, R., Gorschek, T.: A taxonomy for requirements engineering and software test alignment. ACM Trans. Softw. Eng. Methodol., 23 (2), 16--54 (2014) Google ScholarDigital Library
- Peffers, K., Tuunanen, T., Rothenberger, M., Chatterjee, S.:A Design Science Research Methodology for Information Systems Research. Journal of Management Information Systems, 24 (3), 45--77 (2007) Google ScholarDigital Library
- A very fast intro to decision theory, http://www.siue.edu/~evailat/decision.htmGoogle Scholar
- Quinlan, J.R.: Induction of decision trees. Machine learning 1 (1), 81--106 (1986) Google ScholarDigital Library
- Khurum, M., Gorschek, T., Wilson, M.: The software value map - an exhaustive collection of value aspects for the development of software intensive products. Journal of Software: Evolution and Process 25 (7), 711--741 (2013)Google ScholarCross Ref
- ISO/IEC 27002:2005, Information technology-security techniques--code of practice for information security management (2005)Google Scholar
- ISO/IEC JTC1/SC7 N4098, CD 25010.2, Software engineering-Software product Quality Requirements and Evaluation (SQuaRE) Quality model, WG23, 25010, N3803, N4008, N4097 (2008)Google Scholar
- Trendowicz, A., Jeferry, R.: Software Project Effort Estimation: Foundations and Best Practice Guidelines for Success. Springer Publishing Company, Incorporated (2014) Google ScholarDigital Library
Index Terms
- Decision support for choosing architectural assets in the development of software-intensive systems: The GRADE taxonomy
Recommendations
Reusable Architectural Decision Models for Quality-Driven Decision Support: A Case Study from a Smart Cities Software Ecosystem
SESOS '15: Proceedings of the 2015 IEEE/ACM 3rd International Workshop on Software Engineering for Systems-of-SystemsArchitectural design decisions and architectural knowledge are becoming relevant in the current practice of software architecture. In addition, reusable architectural knowledge has gained much importance in the industrial practice. In the process of ...
Architectural Decisions as Reusable Design Assets
Architectural decisions are design decisions that are hard to make or costly to change. Hence, mature software engineering and architecture design methods emphasize the importance of architectural decision-making and capture. Capturing decisions after ...
Examining decision characteristics & challenges for agile software development
In-depth case via interviews, focus groups, meeting observation & document analysis.We conducted 18 individual interviews, two focus groups and observed 21 meetings.Results identified particular decision characteristics across four key agile ...
Comments