Skip to main content

Impact Evaluation for Quality-Oriented Architectural Decisions regarding Evolvability

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6285))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Bachmann, F., Bass, L., Nord, R.: Modifiability tactics. Tech. Rep. CMU/SEI-2007-TR-002, CMU/SEI (September 2007)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. 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)

    Google Scholar 

  6. Booch, G.: Object Oriented Analysis and Design. With Applications. Addison-Wesley, Longman (October 1993)

    MATH  Google Scholar 

  7. Bosch, J.: Design and use of software architectures: Adopting and evolving a product-line approach. ACM Press/Addison-Wesley, New York (2000)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley, Reading (1995)

    Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)

    Google Scholar 

  14. 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)

    Book  MATH  Google Scholar 

  15. 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)

    Google Scholar 

  16. da Cruz, D.B.: POSAAM – Eine Methode zu mehr Systematik und Expertenunabhängigkeit in der qualitativen Architekturbewertung. Ph.D. thesis, TU München (2009)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Softwaresystems. Addison-Wesley, Reading (November 1994)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. 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)

    Article  Google Scholar 

  23. Hofmeister, C., Nord, R., Soni, D.: Applied software architecture. Addison-Wesley, Boston (2000)

    Google Scholar 

  24. ISO/IEC: ISO/IEC 9126-1 International Standard. Software Engineering - Product quality - Part 1: Quality models (June 2001)

    Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. Manolescu, D., Voelter, M., Noble, J.: Pattern Languages of Program Design, vol. 5. Addison-Wesley Professional, Reading (May 2006)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Google Scholar 

  29. McKean, E.: The New Oxford American Dictionary, 2nd edn. Oxford University Press, Oxford (2005)

    Google Scholar 

  30. Posch, T., Birken, K., Gerdom, M.: Basiswissen Softwarearchitektur: Verstehen, entwerfen, wiederverwenden, 1 edn. dpunkt.verlag (2004)

    Google Scholar 

  31. Riebisch, M., Bode, S.: Software-Evolvability. Informatik-Spektrum 32(4), 339–343 (2009)

    Article  Google Scholar 

  32. 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)

    Google Scholar 

  33. Stollberg, R.: Klassifikation von Architekturstilen und -mustern hinsichtlich qualitativer Ziele für den Softwarearchitekturentwurf. Bachelor thesis, Ilmenau University of Technology, Ilmenau, Germany (2010)

    Google Scholar 

  34. Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)

    Google Scholar 

  35. Yoder, J.W., Barcalow, J.: Architectural patterns for enabling application security. In: 4th Conf. on Patterns Languages of Programs, PLoP 1997 (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics