Skip to main content
Log in

An Investigation of a Method for Identifying a Software Architecture Candidate with Respect to Quality Attributes

  • Original Article
  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

To sustain the qualities of a software system during evolution, and to adapt the quality attributes as the requirements evolve, it is necessary to have a clear software architecture that is understood by all developers and to which all changes to the system adheres. This software architecture can be created beforehand, but must also be updated to reflect changes in the domain, and hence the requirements of the software. The choice of which software architecture to use is typically based on informal decisions. There exist, to the best of our knowledge, little factual knowledge of which quality attributes are supported or obstructed by different architecture approaches. In this paper we present an empirical study of a method that enables quantification of the perceived support different software architectures give for different quality attributes. This in turn enables an informed decision of which architecture candidate best fit the mixture of quality attributes required by a system being designed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Anderson, D. R., Sweeney, D. J., and Williams, T. A. 2000. An Introduction to Management Science: Quantitative Approaches to Decision Making. Cincinnati, OH: South Western College Publishing.

    Google Scholar 

  • Bass, L., Clements, P., and Kazman, R. 1998. Software Architecture in Practice. Reading, MA: Addison–Wesley Publishing Co.

    Google Scholar 

  • Bengtsson, P. O. 2002. Architecture-Level Modifiability Analysis, Ph.D. Thesis, Blekinge Institute of Technology, Dissertation Series No 2002-2.

  • Bosch, J. 2000. Design & Use of Software Architectures—Adopting and Evolving a Product Line Approach. Harlow, UK: Addison–Wesley.

    Google Scholar 

  • Buschmann, F., Jäkel, C., Meunier, R., Rohnert, H., and Stahl, M. 1996. Pattern-Oriented Software Architecture—A System of Patterns. Chichester, UK: John Wiley & Sons.

    Google Scholar 

  • Clements, P., Kazman, R., and Klein, M. 2002. Evaluating Software Architectures—Methods and Case Studies. Boston, MA: Addison–Wesley.

    Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison–Wesley Publishing Co.

    Google Scholar 

  • Helmer, O., and Rescher, N. 1959. On the epistemology of the inexact sciences. Management Science 6(1): 25–52; reprinted in L. Krimerman (ed), 1969. The Nature and Scope of Social Science. New York NY: Appleton-Century-Crofts, pp. 181–203.

    Google Scholar 

  • Hofmeister, C., Nord, R., and Soni, D. 2000. Applied Software Architecture. Reading, MA: Addison–Wesley.

    Google Scholar 

  • Johansson, E., Höst, M., Wesslén, A., and Bratthall, L. 2001. The Importance of Quality Requirements in Software Platform Development—A survey. In Proceedings of HICSS-34, Maui, HI, January 2001.

  • Kachigan, S. K. 1986. Statistical AnalysisAn Interdisciplinary Introduction to Univariate & Multivariate Methods, New York, NY: Radius Press.

  • Karlsson, J., Wohlin, C., and Regnell, B. 1998. An evaluation of methods for prioritising software requirements. Information and Software Technology 39: 939–947.

    Google Scholar 

  • Lindvall, M., Tvedt, R. T., and Costa, P. 2003. An empirically-based process for software architecture evaluation. Empirical Software Engineering 8(1): 83–108.

    Google Scholar 

  • Linkman, S., and Rombach, H. D. 1997. Experimentation as a vehicle for software technology transfer—A family of software reading techniques. Information and Software Technology 39(11): 777–780.

    Google Scholar 

  • Lundberg, L., Bosch, J., Häggander, D., and Bengtsson, P. O. 1999. Quality attributes in software architecture design. In Proceedings of the IASTED 3rd International Conference on Software Engineering and Applications, Anaheim, CA: IASTED/Acta Press, pp. 353–362.

  • McCall, J. A. 1994. Quality factors. In: J. L. Marciniak, (ed), Encyclopedia of Software Engineering, New York, NY: John Wiley & Sons, pp. 958–969.

    Google Scholar 

  • Morisio, M., Stamelos, I., and Tsoukiàs, A. 2002. A new method to evaluate software artifacts against predefined profiles. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE 2002), New York, NY: ACM Press, pp. 811–818.

  • Parnas, D. L. 1994. Software aging. In Proceedings of the 16th International Conference on Software Engineering, Los Alamitos, CA: IEEE Computer Society Press, pp. 279–287.

  • Perry, D. E., and Wolf, A. L. 1992. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4): 40–52.

  • Saaty, T. 1980. The Analytic Hierarchy Process, New York, NY: McGraw-Hill.

  • Saaty, T. L., and Vargas, L. G. 2001. Models, Methods, Concepts & Applications of the Analytic Hierarchy Process. Dordrecht, the Netherlands: Kluwer Academic Publishers.

    Google Scholar 

  • Shaw, M., and Garlan, D. 1996. Software Architecture—Perspectives on an Emerging Discipline. Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  • Software Qualities. ISO/IEC FDIS 9126-1:2000(E).

  • Svahnberg, M., Wohlin, C., Lundberg, L., and Mattsson, M. 2002. Quality attribute-driven selection of software architecture structures. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE 2002), New York, NY: ACM Press, pp. 819–826.

  • Wohlin, C., Gustavsson, A., Höst, M., and Mattsson, C. 1996. A framework for technology introduction in software organizations. In Proceedings of Software Process Improvement Conference, Brighton, UK, pp. 167–176.

  • Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. 2000. Experimentation in Software Engineering. Dordrecht, the Netherlands: Kluwer Academic Publishers.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mikael Svahnberg.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Svahnberg, M., Wohlin, C. An Investigation of a Method for Identifying a Software Architecture Candidate with Respect to Quality Attributes. Empir Software Eng 10, 149–181 (2005). https://doi.org/10.1007/s10664-004-6190-y

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-004-6190-y

Keywords

Navigation