ABSTRACT
Designing a software architecture is a highly complex task and associated with a high degree of uncertainty. There are a variety of reusable and established solutions, but they differ in their impact on the system's functionality and quality. The architect has to consider different aspects like stakeholders' requirements as well as numerous constraints coming, among others, from the technical environment and organization. The context of software evolution sheds a different light on constraints. The existing system with its structure based on previous decisions is a limiting factor constraining the ongoing development. However, current approaches do not sufficiently consider constraints induced by an existing system until now. To assist the architect in taking the right design decisions efficiently, tool support for the recommendation of solutions and structured documentation of the design decisions are indispensable. In our paper, we propose a decision process focusing on the consideration of constraints in evolving systems. Furthermore, we introduce our tool Decision Buddy and show how it contributes to the application of our constraint-based decision process.
- M. A. Babar, X. Wang, and I. Gorton. PAKME: A tool for capturing and using architecture design knowledge. In INMIC'05. IEEE, 2005.Google ScholarCross Ref
- S. Bode and M. Riebisch. Impact evaluation for quality-oriented architectural decisions regarding evolvability. In ECSA'10, volume 6285 of LNCS, 2010. Google ScholarDigital Library
- G. Canfora, M. Di Penta, and L. Cerulo. Achievements and challenges in software reverse engineering. Commun. ACM, 54(4):142--151, Apr. 2011. Google ScholarDigital Library
- R. Capilla, F. Nava, S. P erez, and J. Due nas. A web-based tool for managing architectural design decisions. SIGSOFT Softw. Eng. Notes, 31(5), 2006. Google ScholarDigital Library
- L. Chen, M. A. Babar, and B. Nuseibeh. Characterizing architecturally signi cant requirements. IEEE Software, 30(2):38 -- 45, 2013. Google ScholarDigital Library
- S. Gerdes, S. Lehnert, and M. Riebisch. Combining architectural design decisions and legacy system evolution. In ECSA'14 , pages 50--57, 2014.Google ScholarCross Ref
- A. Jansen and J. Bosch. Software Architecture as a Set of Architectural Design Decisions. In WICSA'05, pages 109--120, 2005. Google ScholarDigital Library
- A. Jansen, J. Bosch, and P. Avgeriou. Documenting after the fact: Recovering architectural design decisions. J. Syst. Software, 81(4):536--557, 2008. Google ScholarDigital Library
- A. Jansen, J. Der Ven, P. Avgeriou, and D. Hammer. Tool Support for Architectural Decisions. In WICSA'07, pages 4--4. IEEE, Jan. 2007. Google ScholarDigital Library
- M. Lanza, R. Marinescu, and S. Ducasse. Object-Oriented Metrics in Practice. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarDigital Library
- I. Lytra, H. Tran, and U. Zdun. Constraint-based consistency checking between design decisions and component models for supporting software architecture evolution. In CSMR'12. IEEE, 2012. Google ScholarDigital Library
- C. Manteu el, D. Tofan, H. Koziolek, T. Goldschmidt, and P. Avgeriou. Industrial Implementation of a Documentation Framework for Architectural Decisions. In WICSA'14, pages 225--234. IEEE, 2014. Google ScholarDigital Library
- M. Nowak and C. Pautasso. Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse. In ECSA'13. IEEE, 2013. Google ScholarDigital Library
- A. Pacholik and M. Riebisch. Modelling technical constraints and preconditions for alternative design decisions. In MBEES'12, 2012.Google Scholar
- M. Shahin, P. Liang, and M. R. Khayyambashi. Architectural design decision: Existing models and tools. In WICSA/ECSA'09. IEEE, 2009.Google Scholar
- A. Tang, P. Avgeriou, A. Jansen, R. Capilla, and M. Ali Babar. A comparative study of architecture knowledge management tools. J. Syst. Software, 83(3):352--370, 2010. Google ScholarDigital Library
- A. Tang, M. A. Babar, I. Gorton, and J. Han. A survey of architecture design rationale. Journal of Systems and Software, 79(12):1792--1804, Dec. 2006. Google ScholarDigital Library
- A. Tang, Y. Jin, and J. Han. A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software, 80(6):918--934, June 2007. Google ScholarDigital Library
- A. Tang and H. Van Vliet. Modeling constraints improves software architecture design reasoning. In WICSA/ECSA'09, pages 253--256, 2009.Google ScholarCross Ref
- D. Tofan, M. Galster, and P. Avgeriou. Capturing tacit architectural knowledge using the repertory grid technique. ICSE'11, pages 916--919, 2011. Google ScholarDigital Library
- J. van der Ven and J. Bosch. Making the right decision: Supporting architects with design decision data. In K. Drira, editor, Software Architecture, volume 7957 of LNCS, pages 176--183. Springer, 2013. Google ScholarDigital Library
- U. van Heesch, P. Avgeriou, and R. Hilliard. Forces on Architecture Decisions - A Viewpoint. In WICSA/ECSA'12, pages 101--110. IEEE, 2012. Google ScholarDigital Library
- H. Vliet. Software Engineering: Principles and Practice. Wiley, 2nd edition, 2007. Google ScholarDigital Library
- O. Zimmermann, J. Koehler, F. Leymann, R. Polley, and N. Schuster. Managing architectural decision models with dependency relations, integrity constraints, and production rules. J. Syst. Software, 82(8):1249--1267, 2009. Google ScholarDigital Library
Index Terms
- Decision Buddy: Tool Support for Constraint-Based Design Decisions during System Evolution
Recommendations
Sustainable Architectural Design Decisions
Software architects must sustain design decisions to endure throughout software evolution. Several criteria can help them assess decisions' sustainability. In addition, industry and research projects have applied different techniques to make ...
A recommender system for software architecture decision making
ECSA '19: Proceedings of the 13th European Conference on Software Architecture - Volume 2Making the right design decisions for a software system is a difficult task. Inappropriate design decisions are often hard to reverse and can lead to high costs and a poor quality of the software product. To support architects in the decision-making ...
Towards architecture-centric evolution of long-living systems (the ADVERT approach)
QoSA '13: Proceedings of the 9th international ACM Sigsoft conference on Quality of software architecturesAlthough an intensive research attention has been paid to software evolution, there is no established approach which supports a software development and evolution round-trip between requirements, design decisions, architectural elements, and code. The ...
Comments