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.
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.
Bass, L., Clements, P., and Kazman, R. 1998. Software Architecture in Practice. Reading, MA: Addison–Wesley Publishing Co.
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.
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.
Clements, P., Kazman, R., and Klein, M. 2002. Evaluating Software Architectures—Methods and Case Studies. Boston, MA: Addison–Wesley.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison–Wesley Publishing Co.
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.
Hofmeister, C., Nord, R., and Soni, D. 2000. Applied Software Architecture. Reading, MA: Addison–Wesley.
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 Analysis—An 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.
Lindvall, M., Tvedt, R. T., and Costa, P. 2003. An empirically-based process for software architecture evaluation. Empirical Software Engineering 8(1): 83–108.
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.
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.
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.
Shaw, M., and Garlan, D. 1996. Software Architecture—Perspectives on an Emerging Discipline. Upper Saddle River, NJ: Prentice Hall.
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.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/s10664-004-6190-y