Abstract
Quality goals have to be under a special consideration during software architectural design. Evolvability constitutes a quality goal with a special relevance for business critical systems. Architectural patterns can significantly contribute to the satisfaction of quality goals. But architectural design decisions regarding these goals have to be made in a systematic, methodical way and concerning the patterns’ influence on quality properties. Unfortunately, pattern catalogs do not well support quality goal-oriented design decisions. This paper presents a systematic refinement and mapping of the quality goal evolvability to properties for good architectural design. A set of architectural patterns is evaluated regarding these properties. Furthermore, a calculation scheme is provided that enables the evaluation of the patterns to support design decisions. The results have been developed, revised, and evaluated in a series of applications based on industrial expertise.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Avgeriou, P., Zdun, U.: Architectural patterns revisited – a pattern language. In: 10th European Conf. on Pattern Languages of Programs (EuroPlop 2005), Irsee, pp. 1–39 (2005)
Bachmann, F., Bass, L., Nord, R.: Modifiability tactics. Tech. Rep. CMU/SEI-2007-TR-002, CMU/SEI (September 2007)
Bachmann, F., Bass, L., Klein, M.: Deriving architectural tactics: A step toward methodical architectural design. Tech. Rep. CMU/SEI-2003-TR-004, CMU/SEI (March 2003)
Bass, L.J., Klein, M., Bachmann, F.: Quality attribute design primitives and the attribute driven design method. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 169–186. Springer, Heidelberg (2002)
Bode, S., Fischer, A., Kühnhauser, W., Riebisch, M.: Software architectural design meets security engineering. In: Proc. 16th Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS 2009), pp. 109–118. IEEE, Los Alamitos (2009)
Booch, G.: Object Oriented Analysis and Design. With Applications. Addison-Wesley, Longman (October 1993)
Bosch, J.: Design and use of software architectures: Adopting and evolving a product-line approach. ACM Press/Addison-Wesley, New York (2000)
Brcina, R., Bode, S., Riebisch, M.: Optimization process for maintaining evolvability during software evolution. In: Proc. 16th Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS 2009), pp. 196–205. IEEE, Los Alamitos (2009)
Breivold, H.P., Crnkovic, I., Eriksson, P.: Evaluating software evolvability. In: Proc. of the 7th Conf. on Software Engineering Research and Practice in Sweden (SERPS 2007), Göteborg, Sweden, pp. 96–103 (2007)
Breivold, H.P., Crnkovic, I., Land, R., Larsson, S.: Using dependency model to support software architecture evolution. In: 23rd IEEE/ACM International Conference on Automated Software Engineering - Workshops, 2008. ASE Workshops 2008., pp. 82–91. IEEE, Los Alamitos (September 2008)
Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley, Reading (1995)
Brown, A.W., McDermid, J.A.: The art and science of software architecture. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 237–256. Springer, Heidelberg (2007)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-functional Requirements in Software Engineering. Int. Series in Software Engineering, vol. 5. Kluwer, Dordrecht (2000)
Cook, S., Ji, H., Harrison, R.: Dynamic and static views of software evolution. In: 17th IEEE International Conference on Software Maintenance (ICSM 2001), pp. 592–601. IEEE, Los Alamitos (2001)
da Cruz, D.B.: POSAAM – Eine Methode zu mehr Systematik und Expertenunabhängigkeit in der qualitativen Architekturbewertung. Ph.D. thesis, TU München (2009)
Deprez, J.C., Monfils, F., Ciolkowski, M., Soto, M.: Defining software evolvability from a free/open-source software perspective. In: Proceedings of the Third International IEEE Workshop on Software Evolvability, pp. 29–35. IEEE, Los Alamitos (October 2007)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Softwaresystems. Addison-Wesley, Reading (November 1994)
Gotel, O.C.Z., Finkelstein, A.C.W.: An analysis of the requirements traceability problem. In: Proceedings of the First International Conference on Requirements Engineering, Colorado Springs, CO, USA, pp. 94–101. IEEE, Los Alamitos (April 1994)
Harrison, N., Avgeriou, P.: Pattern-driven architectural partitioning: Balancing functional and non-functional requirements. In: Second International Conference on Digital Telecommunications, ICDT 2007. IEEE, Los Alamitos (July 2007)
Harrison, N., Avgeriou, P.: Leveraging architecture patterns to satisfy quality attributes. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 263–270. Springer, Heidelberg (2007)
Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A., America, P.: A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software 80(1), 106–126 (2007)
Hofmeister, C., Nord, R., Soni, D.: Applied software architecture. Addison-Wesley, Boston (2000)
ISO/IEC: ISO/IEC 9126-1 International Standard. Software Engineering - Product quality - Part 1: Quality models (June 2001)
van Lamsweerde, A.: From system goals to software architectures. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)
Manolescu, D., Voelter, M., Noble, J.: Pattern Languages of Program Design, vol. 5. Addison-Wesley Professional, Reading (May 2006)
Matinlassi, M., Niemelä, E.: The impact of maintainability on component-based software systems. In: Proc. 29th Euromicro Conf., 2003, pp. 25–32. IEEE, Los Alamitos (2003)
Matinlassi, M., Niemelä, E., Liliana, D.: Quality-Driven Architecture Design and Quality Analysis Method. A Revolutionary Initiation Approach to a Product Line Architecture. Tech. Rep. 456, VTT Technical Research Centre of Finland (2002)
McKean, E.: The New Oxford American Dictionary, 2nd edn. Oxford University Press, Oxford (2005)
Posch, T., Birken, K., Gerdom, M.: Basiswissen Softwarearchitektur: Verstehen, entwerfen, wiederverwenden, 1 edn. dpunkt.verlag (2004)
Riebisch, M., Bode, S.: Software-Evolvability. Informatik-Spektrum 32(4), 339–343 (2009)
Rowe, D., Leaney, J., Lowe, D.: Defining systems architecture evolvability - a taxonomy of change. In: Proceedings of the 11th International Conference on the Engineering of Computer Based Systems (ECBS 1998), pp. 45–52. IEEE, Los Alamitos (1998)
Stollberg, R.: Klassifikation von Architekturstilen und -mustern hinsichtlich qualitativer Ziele für den Softwarearchitekturentwurf. Bachelor thesis, Ilmenau University of Technology, Ilmenau, Germany (2010)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)
Yoder, J.W., Barcalow, J.: Architectural patterns for enabling application security. In: 4th Conf. on Patterns Languages of Programs, PLoP 1997 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bode, S., Riebisch, M. (2010). Impact Evaluation for Quality-Oriented Architectural Decisions regarding Evolvability. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-15114-9_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15113-2
Online ISBN: 978-3-642-15114-9
eBook Packages: Computer ScienceComputer Science (R0)