Advertisement

A Quantitative Evaluation of the Impact of Architectural Patterns on Quality Requirements

Chapter
Part of the Studies in Computational Intelligence book series (SCI, volume 377)

Abstract

When designing software architectures, an architect relies on a set of pre-defined styles commonly named architectural patterns. While architectural patterns embody high level design decisions, an architectural tactic is a design strategy that addresses a particular quality attribute. Tactics; in fact, serve as the meeting point between the quality attributes and the software architecture. To guide the architect in selecting the most appropriate architectural patterns and tactics, the interactions between quality attributes, tactics and patterns should be analyzed and quantified and the results should be considered as decision criteria within a quality-driven architectural design process. In this paper, we propose an approach for a quantitative evaluation of the support provided by a pattern for a given targeted set of quality attributes.

Keywords

architectural patterns architectural tactics quality requirements architectural design 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jansen, J., van der Ven, J., Avgeriou, P., Hammer, D.K.: Tool Support for using Architectural Decisions. In: Proceedings of the 6th Working IEEE/IFIP Conference on Software Architecture (WICSA 2007), Mumbai, India (2007)Google Scholar
  2. 2.
    Microsoft Application Architecture Guide: Patterns & Practices, 2nd edn., http://msdn.microsoft.com/en-us/library/ff650706.aspx
  3. 3.
    Garlan, D., Shaw, M.: An Introduction to Software Architecture, Technical Report, CMU, Pittsburgh, PA, USA (1994)Google Scholar
  4. 4.
    Avgeriou, P., Zdun, U.: Architectural Patterns Revisited– a Pattern Language. In: Proceedings of 10th European Conference on Pattern Languages of Programs (EuroPLoP 2005), pp. 1–39 (2005)Google Scholar
  5. 5.
    Garcia, A.F., Rubira, C.M.F.: An architectural-based reflective approach to incorporating exception handling into dependable software. In: Romanovsky, A., Cheraghchi, H.S., Lee, S.H., Babu, C. S. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 189–206. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Garcia, A.F., Rubira, C.M.F., Romanovsky, A.B., Xu, J.A.: A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software. Journal of Systems and Software 59(2), 197–222 (2001)CrossRefGoogle Scholar
  7. 7.
    Issarny, V., Benatre, J.-P.: Architecture-based Exception Handling. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences, Hicss-34 (2001)Google Scholar
  8. 8.
    Bachmann, F., Bass, L., Nord, R.: Modifiability Tactics, Technical Report, SEI, CMU/SEI 2007-TR-002 (September 2007)Google Scholar
  9. 9.
    Harrison, N., Avgeriou, P., Zdun, U.: On the Impact of Fault Tolerance Tactics on Architecture Patterns. In: Proceedings of 2nd International Workshop on Software Engineering for Resilient Systems (SERENE 2010), London, UK (2010)Google Scholar
  10. 10.
    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
  11. 11.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software systems. Addison-Wesley, Reading (1994)Google Scholar
  12. 12.
    International Standard ISO/IEC 9126-1, Software engineering – Product quality – Part 1: Quality model. ISO/IEC 9126-1:2001, 200 (2001)Google Scholar
  13. 13.
    Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Addison-Wesley, Reading (2003)Google Scholar
  14. 14.
    Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Nonfunctional Requirements in Software Engineering. Kluwer Academic Publishing, Dordrecht (2000)Google Scholar
  15. 15.
    Harrison, N.B., Avgeriou, P.: How do architecture patterns and tactics interact? A model and annotation. Journal of Systems and Software 83(10), 1735–1758 (2010)CrossRefGoogle Scholar
  16. 16.
    Gröne, B., Keller, F.: Conceptual architecture patterns. FMC-based representation. Univ.-Verl, Potsdam (2004)Google Scholar
  17. 17.
    Bode, S., Riebisch, M.: Impact Evaluation for Quality-Oriented Architectural Decisions Regarding Evolvability. In: The 4th European Conference on Software Architecture, pp. 182–197 (2010)Google Scholar
  18. 18.
    Wood, W.G.: A Practical Example of Applying Attribute-Driven Design (ADD), Version 2.0, Technical report CMU/SEI-2007-TR-005 ESC-TR-2007-005 (February 2007)Google Scholar
  19. 19.
    Völter, M., Kircher, M., Zdun, U.: Remoting Patterns: Foundations of Enterprise. In: Internet and Realtime Distributed Object Middleware, Wiley, Chichester (2005)Google Scholar
  20. 20.
    Shaw, M., Garlan, D.: Software Architecture: perspectives on an emerging discipline. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  21. 21.
    Yoder, J., Barcalow, J.: Architectural Patterns for Enabling Application Security. In: Proceedings of Pattern Language of Programs Conference, Allerton Park, Illinois, U.S.A (1997)Google Scholar
  22. 22.
    Boehm, B.W., Brown, J.R., Lipow, M.: Quantitative Evaluation of Software Quality. In: The 2nd International Conference on Software Engineering, pp. 592–605. IEEE Computer Society, Los Alamitos (1967)Google Scholar
  23. 23.
    Kassab, M.: Non-Functional Requirements: Modeling and Assessment. VDM Verlag Dr. Mueller (2009), ISBN 978-3-639-20617-3Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.École de Technologie SupérieureMontrealCanada
  2. 2.Université du Québec à MontréalMontrealCanada

Personalised recommendations