Abstract
Software development is characterized by ongoing design decisions that must take into account numerous requirements, goals, and constraints. When changing long-living and legacy systems, former decisions have to be considered. In order to minimize the risk of taking wrong or misleading decisions an explicit representation of the relevant aspects is crucial. Architectural decision modeling has proven to be an effective means to represent these aspects, the required knowledge, and properties of a potential solution. However, existing approaches do not sufficiently cover the ongoing evolution of decisions and artifacts. They fail in particular to represent relations to existing systems on a fine-grained level to allow for impact analysis and a later comprehension of decisions. Furthermore, the effort for capturing and modeling of design decisions has to be reduced. In our paper we integrate existing approaches for software architectural design decision making. We extend them by fine-grained traceability to elements of existing systems and explicit means for modeling the evolution of decisions. We show how relevant decisions can easily be identified and developers are supported in decision making.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Vliet, H.: Software Engineering: Principles and Practice, 2nd edn. Wiley (2007)
Perry, D., Grisham, P.: Architecture and Design Intent in Component & COTS Based Systems. In: ICCBSS 2005, pp. 155–164 (2006)
Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: 5th Working Conf. on Software Architecture, pp. 109–120 (2005)
Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. Journal of Systems and Software 82(8), 1249–1267 (2009)
Capilla, R., Zimmermann, O., Zdun, U., Küster, J.M.: An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle. In: Software Architecture, pp. 303–318 (2011)
Ko, A.J., DeLine, R., Venolia, G.: Information Needs in Collocated Software Development Teams. In: 29th Intl. Conf. on Software Engineering, pp. 344–353 (2007)
Sillito, J., Murphy, G.C., De Volder, K.: Questions programmers ask during software evolution tasks. In: SIGSOFT 2006/FSE-14, pp. 23–33 (2006)
Fritz, T., Murphy, G.C.: Using information fragments to answer the questions developers ask. In: 32nd Intl. Conf. on Software Engineering, pp. 175–184 (2010)
Knapp, A., Janisch, S., Hennicker, R., Clark, A., Gilmore, S., Hacklinger, F., Baumeister, H., Wirsing, M.: Modelling the CoCoME with the Java/A Component Model. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) Common Component Modeling Example. LNCS, vol. 5153, pp. 207–237. Springer, Heidelberg (2008)
Küster, M., Trifu, M.: A case study on co-evolution of software artifacts using integrated views. In: WICSA/ECSA 2012, pp. 124–131 (2012)
Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software 80(6), 918–934 (2007)
van Heesch, U., Avgeriou, P., Hilliard, R.: A documentation framework for architecture decisions. Journal of Systems and Software 85(4), 795–820 (2012)
Capilla, R., Nava, F., Pérez, S., Dueñas, J.: A web-based tool for managing architectural design decisions. SIGSOFT Softw. Eng. Notes 31(5) (2006)
Capilla, R., Nava, F., Dueñas, J.C.: Modeling and Documenting the Evolution of Architectural Design Decisions. In: SHARK/ADI 2007, pp. 9–15 (2007)
Malavolta, I., Muccini, H., Smrithi Rekha, V.: Supporting architectural design decisions evolution through model driven engineering. In: Troubitsyna, E.A. (ed.) SERENE 2011. LNCS, vol. 6968, pp. 63–77. Springer, Heidelberg (2011)
Che, M., Perry, D.E.: Managing architectural design decisions documentation and evolution. International Journal of Computers 6(2), 137–148 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Gerdes, S., Lehnert, S., Riebisch, M. (2014). Combining Architectural Design Decisions and Legacy System Evolution. In: Avgeriou, P., Zdun, U. (eds) Software Architecture. ECSA 2014. Lecture Notes in Computer Science, vol 8627. Springer, Cham. https://doi.org/10.1007/978-3-319-09970-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-09970-5_5
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09969-9
Online ISBN: 978-3-319-09970-5
eBook Packages: Computer ScienceComputer Science (R0)