Skip to main content
Log in

A fuzzy-AHP-based approach to select software architecture based on quality attributes (FASSA)

  • Regular Paper
  • Published:
Knowledge and Information Systems Aims and scope Submit manuscript

Abstract

The software system design phase has recently received increasing attention due to continuous growth in both the size and complexity of software systems. As a key concept of this phase, software architecture plays an important role in the software extension cycle to the extent that the success of a software project is often determined by the degree of its design efficiency. In addition, software architecture evaluation is a fundamental step toward its subsequent validation. This paper is an attempt to propose an innovative method, based on fuzzy logic, to evaluate software architecture that addresses the inherent problems of existing methods found in the literature. The method can be used for complete design or even reconstruction of the architecture. Given the multi-faceted nature of the problem of evaluation and selection of an optimal architecture, we have employed a multi-objective decision technique, namely fuzzy hierarchical analysis process, which solves the problems associated with uncertainties and inaccuracies by incorporating fuzzy logic.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Abowd G, Bass L, Clements P, Kazman R, Northrop L (1997) Recommended best industrial practice for software architecture evaluation (No. CMU/SEI-96-TR-025). Carnegie-Mellon University, Pittsburgh PA, Software Engineering Institute

  2. Abrahão S, Insfran E (2017) Evaluating Software Architecture Evaluation Methods: An Internal Replication. In: Proceedings of the 21st international conference on evaluation and assessment in software engineering. ACM, pp 144–153

  3. Babu KD, Govindaraju P, Reddy AR (2011) ANP-GP approach for selection of software architecture styles. Int J Softw Eng 1(5):91–104

    Google Scholar 

  4. Babu K, Rajulu PG, Reddy AR, Kumari AN (2010) Selection of architecture styles using analytic network process for the optimization of software architecture. arXiv preprint arXiv:1005.4271

  5. Bass L, Clements P, Kazman R (2003) Software architecture in practice. Addison-Wesley Professional, New York

    Google Scholar 

  6. Bengtsson P (2002) Architecture-level modifiability analysis. Doctoral dissertation, Free University of Amsterdam

  7. Binns P, Englehart M, Jackson M, Vestal S (1996) Domain-specific software architectures for guidance, navigation and control. Int J Softw Eng Knowl Eng 6(02):201–227

    Article  Google Scholar 

  8. Chang DY (1996) Applications of the extent analysis method on fuzzy AHP. Eur J Oper Res 95(3):649–655

    Article  MathSciNet  MATH  Google Scholar 

  9. Chang CW, Wu CR, Lin HL (2009) Applying fuzzy hierarchy multiple attributes to construct an expert decision making process. Expert Syst Appl 36(4):7363–7368

    Article  Google Scholar 

  10. Clements P, Garlan D, Bass L, Stafford J, Nord R, Ivers J, Little R (2002) Documenting software architectures: views and beyond. Pearson Education, London

    Google Scholar 

  11. Dasanayake, S., Markkula, J., Aaramaa, S., & Oivo, M. (2015, September). Software architecture decision-making practices and challenges: an industrial case study. In: 2015 24th Australasian software engineering conference (ASWEC). IEEE, pp. 88–97

  12. Dhaya C, Zayaraz G (2012) Fuzzy based quantitative evaluation of architectures using architectural knowledge. Int J Adv Sci Technol 49:137–154

    Google Scholar 

  13. Dwivedi AK, Rath SK (2014) Selecting and formalizing an architectural style. In: 2014 seventh international conference on contemporary computing (IC3). IEEE, pp 364–369

  14. Galster M, Eberlein A, Moussavi M (2010) Systematic selection of software architecture styles. IET Softw 4(5):349–360

    Article  Google Scholar 

  15. Garlan D, Allen R, Ockerbloom J (1994) Exploiting style in architectural design environments. ACM SIGSOFT Softw Eng Notes 19(5):175–188

    Article  Google Scholar 

  16. Garlan D, Monroe R, Wile D (2010) ACME: an architecture description interchange language. In: CASCON first decade high impact papers. IBM Corp., pp 159–173

  17. Gorton I (2006) Essential software architecture. Springer, Berlin

    MATH  Google Scholar 

  18. Harker PT, Vargas LG (1987) The theory of ratio scale estimation: Saaty’s analytic hierarchy process. Manag Sci 33(11):1383–1403

    Article  MathSciNet  Google Scholar 

  19. Hämäläinen N (2008) Evaluation and measurement in enterprise and software architecture management. Jyväskylä studies in computing 88

  20. ISO/IEC, ISO/IEC CD 25010.3 (2009) Systems, software engineering - Software product Quality Requirements and Evaluation (SQuaRE) Software product quality, and system quality in use models, ISO

  21. Kazman R, Bass L, Abowd G, Webb M (1994) SAAM: a method for analyzing the properties of software architectures. In: 16th international conference on software engineering, 1994. Proceedings. ICSE-16. IEEE, pp 81–90

  22. Kazman R, Klein M, Clements P (2002) ATAM: method for architecture evaluation: ATAM—architecture trade-off analysis method report

  23. Klein MH, Kazman R, Bass L, Carriere J, Barbacci M, Lipson H (1999) Attribute-based architecture styles. In: Software architecture. Springer Berlin, pp 225–243

  24. Van Laarhoven PJM, Pedrycz W (1983) A fuzzy extension of Saaty’s priority theory. Fuzzy Sets Syst 11(1–3):229–241

    Article  MathSciNet  MATH  Google Scholar 

  25. Lassing N (2002) Architecture-level modifiability analysis. Doctoral dissertation, Free University of Amsterdam

  26. Luckham DC, Kenney JJ, Augustin LM, Vera J, Bryan D, Mann W (1995) Specification and analysis of system architecture using Rapide. IEEE Trans Softw Eng 21(4):336–354

    Article  Google Scholar 

  27. Magee J, Dulay N, Eisenbach S, Kramer J (1995) Specifying distributed software architectures. In: Software engineering—ESEC’95, pp 137–153

  28. Mahdavi-Hezavehi S, Durelli VH, Weyns D, Avgeriou P (2017) A systematic literature review on methods that handle multiple quality attributes in architecture-based self-adaptive systems. Inf Softw Technol 90:1–26

    Article  Google Scholar 

  29. Maranzano J (1993) Best current practices: software architecture validation. AT&T Report

  30. Medvidovic N, Oreizy P, Robbins JE, Taylor RN (1996) Using object-oriented typing to support architectural design in the C2 style. ACM SIGSOFT Softw Eng Notes 21(6):24–32

    Article  Google Scholar 

  31. Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93

    Article  Google Scholar 

  32. Moaven S, Habibi J, Alidoosti R, Mosaed AP (2015) Towards a knowledge based approach to style driven architecture design. Procedia Comput Sci 62:236–244

    Article  Google Scholar 

  33. Moaven S, Habibi J, Ahmadi H, Kamandi A (2008) A decision support system for software architecture-style selection. In: Sixth international conference on software engineering research, management and applications, 2008. SERA’08. IEEE, pp 213–220

  34. Moaven S, Habibi J, Ahmadi H, Kamandi A (2008) A fuzzy model for solving architecture styles selection multi-criteria problem. In: Second UKSIM European symposium on computer modeling and simulation, 2008. EMS’08. IEEE, pp 388–393

  35. Moaven S, Kamandi A, Habibi J, Ahmadi H (2009) Toward a framework for evaluating heterogeneous architecture styles. In: First Asian conference on intelligent information and database systems, 2009. ACIIDS 2009. IEEE, pp 155–160

  36. Montagud S, Abrahão S, Insfran E (2012) A systematic review of quality attributes and measures for software product lines. Softw Quality J 20(3–4):425–486

    Article  Google Scholar 

  37. Nord RL, Barbacci MR, Clements P, Kazman R, Klein M (2003) Integrating the Architecture Tradeoff Analysis Method (ATAM) with the cost benefit analysis method (CBAM). Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst

  38. Paul C, Kazman R, Klein M (2002) Evaluating software architectures: methods and case studies. AddisonÇęWesley, Boston, MA

  39. Saaty TL (1977) A scaling method for priorities in hierarchical structures. J Math Psychol 15(3):234–281

    Article  MathSciNet  MATH  Google Scholar 

  40. Saaty TL (1990) How to make a decision: the analytic hierarchy process. Euro J Oper Res 48(1):9–26

    Article  MATH  Google Scholar 

  41. Saaty TL (1980) The analytic hierarchy process, paperback edition. RWS Publications, Pittsburgh (First appeared)

  42. Schmidt D, Stal M, Rohnert H, Buschmann F (1996) Pattern-oriented software architecture, volume 1: a system of patterns

  43. Shaw M, DeLine R, Klein DV, Ross TL, Young DM, Zelesnik G (1995) Abstractions for software architecture and tools to support them. IEEE Trans Softw Eng 21(4):314–335

    Article  Google Scholar 

  44. Svahnberg M (2003) Supporting software architecture evolution Doctoral dissertation, Blekinge Institute of Technology

  45. Tahmasebipour S, Babamir SM (2014) Ranking of common architectural styles based on availability, security and performance quality attributes. J Comput Secur 1(2):83–93

    Google Scholar 

  46. Tan C, Chen X (2010) Intuitionistic fuzzy Choquet integral operator for multi-criteria decision making. Expert Syst Appl 37(1):149–157

    Article  Google Scholar 

  47. Thomas J (2002) Architecture assessment of information-system families. Doctoral dissertation, Eindhoven University of Technology

  48. Wohlin C, Höst M, Henningsson K (2003) Empirical research methods in software engineering. In: Empirical methods and studies in software engineering. Springer, Berlin, pp 7–23

  49. Zadeh LA (1965) Fuzzy sets. Inf Control 8(3):338–353

    Article  MATH  Google Scholar 

  50. Zaki MZ, Jawawi DN, Hamdan NM, Halim SA, Mamat R, Mahat FS, Omar NA (2013) Multi-criteria architecture style selection for precision farming software product lines using fuzzy AHP. Int J Adv Soft Comput Appl 5(3):85

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shahrouz Moaven.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Moaven, S., Habibi, J. A fuzzy-AHP-based approach to select software architecture based on quality attributes (FASSA). Knowl Inf Syst 62, 4569–4597 (2020). https://doi.org/10.1007/s10115-020-01496-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10115-020-01496-7

Keywords

Navigation