Abstract
As the complexity of software increases, the choice of the appropriate software architecture becomes a critical task. This paper provides a guideline for selecting the appropriate software architecture based on pertinent ISO 25010 quality characteristics. The guideline was established through an analytical survey of 113 papers published from 2010 to 2014. Through this survey, we first identified a set of commonly used software architectures in the software engineering literature. Secondly, we applied the Formal Concept Analysis technique to classify each one of these architectures according to ISO 25010 quality characteristics. Finally, we identified the relationships among ISO 25010 quality characteristics, which in turn helped us to develop a guideline on how to select the appropriate software architecture with respect to ISO 25010 quality characteristics. In order to make sure about the validation of the proposed guideline, a survey with industrial experts is in progress. Data were collected from two companies working in the software development field (ST2i and Telnet).
Similar content being viewed by others
References
Abdellatif T (2012) Building reliable security systems: the case of an e-voting system. In: The international conference on information technology and e-Services, IEEE, Sousse Tunisia
Abdelmoez W, Khater H, El-shoafy N (2012) Comparing maintainability evolution of object-oriented and aspect-oriented software product lines. In: The 8th international conference on informatics and systems, IEEE, Cairo Egypt
Acheson P (2010) Methodology for object-oriented system architecture development. In: The 4th annual IEEE systems conference, IEEE, San Diego CA
Ahmed W, Wu YW (2013) Reliability prediction model for SOA using Hidden Markov Model. In: The 8th China grid annual conference, IEEE, Changchun
Akiki PA, Bandara AK, Yu Y (2015) Adaptive model-driven user interface development systems. ACM Comput Surv J 47(1):9
Al Helal H, Gamble R (2014) Introducing replaceability into web service composition, IEEE Trans Serv Comput
Al-Daajeh SH, Al-Qutaish RE, Al-Qirem F (2012) A tactic-based framework to evaluate the relationships between the software product quality attributes, Int J Softw Eng 5(1)5–26
Aleti A, Buhnova B, Grunske L, Koziolek A, Meedeniya I (2013) Software architecture optimization methods: a systematic literature review. IEEE Trans Softw Eng 39:658–683
Alferez GH, Pelechano V (2011) Systematic reuse of web services through software product line engineering. In: The 9th European conference on web services, IEEE, Lugano
Babamir SM, Arabfard M (2012) Improving service accessibility in service-oriented HIS. J Med Syst 36:4021–4030
Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley Professional, Salt Lake
Biggs G, Ando N, Kotoku T (2010) Native robot software framework inter-operation. In: The 2nd international conference on simulation, modeling, and programming for autonomous robots, Darmstadt Germany, Springer, Berlin Heidelberg
Bispo CP, Maciel RSP, David JMN, Ribeiro Í, Conceição R (2010) Applying a model-driven process for a collaborative service-oriented architecture. In: The 14th international conference on computer supported cooperative work in design, IEEE, Shanghai China
Bocciarelli P, D’Ambrogio A (2014) A Model-driven method for enacting the design-time QoS analysis of business processes. Softw Syst Model J 13:573–598
Boehm BW (1978) Characteristics of software quality
Borek M, Moebius N, Stenzel K, Reif W (2012) Model-driven development of secure service applications. In: The 35th software engineering workshop, IEEE, Greece
Boukhedouma S, Oussalah M, Alimazighi Z, Tamzalit D (2013) Adaptation patterns for service based inter-organizational workflows. In: The 7th international conference on research challenges in information science, IEEE, Paris
Brada P (2011) Enhanced type-based component compatibility using deployment context information. Electron Notes Theor Comput Sci J 279:17–31
Brosch F, Koziolek H, Buhnova B, Reussner R (2010) Parameterized reliability prediction for component-based software architectures. In: The 6th international conference on the quality of software architectures, Prague Czech Republic, Springer, Berlin Heidelberg
Bures T, Jezek, Pavel, Malohlava M, Poch T, Sery O (2011) Strengthening component architectures by modeling fine-grained entities. In: The 37th EUROMICRO conference on software engineering and advanced applications, IEEE, Oulu
Cheaito M, Laborde R, Barrère F, Benzekri A (2010) A deployment framework for self-contained policies. In: The international conference on network and service management, IEEE, Niagara Falls ON
Chen J, Tang T (2013) Research on distributed simulation framework of train control system based on SOA. In: The international conference on intelligent rail transportation, IEEE, Beijing
Chen Y, Li X, Yi L, Liu D (2010) A ten-year survey of software architecture. In: The international conference on software engineering and service sciences, IEEE, Beijing
Cheng F (2010) MDA Implementation based on patterns and action semantics. In: The 3rd international conference on information and computing, IEEE, Wuxi Jiang Su
COSMIC (2015) Guideline on Non-Functional and project requirements: How to consider non-functional and project requirements in software project performance measurement, benchmarking and estimating
Couto L, Oliveira JeN, Ferreira M, Bouwers E (2011) Preparing for a literature survey of software architecture using formal concept analysis. In: The 5th international workshop on software quality and maintainability, Oldenburg Germany
de Oliveira KS, Soares MS (2012) A systematic review on aspects in software architecture design. In: The 31st international conference of the Chilean computer science society, IEEE, Valparaiso
de Oliveira KS, Franca JMS, Soares MS (2013) Extensions of SysML for modeling an aspect oriented software architecture with multiple views. In: The 3rd international conference on information technology: new Generations, IEEE, Las Vegas NV
Dehaghani SMH, Hajrahimi N (2013) Which factors affect software projects maintenance cost more? Acta Informatica Medica 21(1):63–66
Delač G (2012) Reliability modeling for SOA systems. In: The 35th international convention MIPRO, IEEEE, Opatija, pp 847–852
Dormoy J, Kouchnarenko O, Lanoix A (2012) Using temporal logic for dynamic reconfigurations of components. In: The 7th international conference on formal aspects of component software, Guimarães Portugal. Springer, Berlin Heidelberg
Dromey RG (1996) Cornering the Chimera [software quality]. IEEE Softw 13:33–43
Du C, Li X, Shi H, Hu J, Feng R, Feng Z (2013) Architecture security evaluation method based on security of the components. In: The 20th Asia-Pacific software engineering conference, IEEE, Bangkok
Dwornikowski D, Kobusińska A, Kobusiński J (2011) Failure detection in a RESTful way. In: The 9th international conference on parallel processing and applied mathematics, Torun Poland. Springer, Berlin Heidelberg
Eler MM, Delamaro ME, Maldonado JC, Masiero PC (2010) Built-In structural testing of web services. In: The Brazilian symposium on software engineering, IEEE, Salvador Bahia
Espinha T, Chen C, Zaidman A, Gross H-G (2012) Maintenance research in SOA-towards a standard case study. In: The 16th European conference on software maintenance and reengineering, IEEE, Szeged. pp 391–396
Fan Y-H, Wu J-O, Wang S-F (2012) Software synthesis of middleware for heterogeneous embedded systems. In: The 2nd international conference on consumer electronics, communications and networks, IEEE, Yichang
Fang Yq, Wang Gd, Ge Jw, Jun X (2010) A model weaver for dynamic evolution base on MDA aspect-oriented software architecture. In: The 3rd international conference on advanced computer theory and engineering, IEEE, Chengdu
Felhi F, Akaichi J (2013) Pervasive e-healthcare system based on selfadaptability of SOA to the context. In: The 3rd international conference on information technology and e-Services, IEEE, Sousse Tunisia
Fuentes-Fernández R, Pavón J, Garijo F (2012) A model-driven process for the modernization of component-based systems. Sci Comput Program J 77:247–269
Gao B, Ban X, Lv Q, Li X (2010) A component-based method for software architecture refinement. In: The international conference on intelligent control and information processing, IEEE, Dalian
Garlan D (2003) Formal modeling and analysis of software architecture: Components, connectors, and events. In: The 3rd international school on formal methods for the design of computer, communication and software systems: software architectures, Bertinoro Italy. Springer, Berlin Heidelberg, pp 1–24
Georgieva J, Goranova M (2011) Security as a service model in SOA. In: The 11th international conference on applied informatics and communications, Florence Italy
Ghosh S, Kumar S, Rana A (2011) Comparative study of the factors that affect maintainability. Int J Comput Sci Eng 3(12):37–63
Grady RB (1992) Practical software metrics for project management and process improvement. Prentice-Hall, Englewood Cliffs
Gui S, Luo L (2012) Reliability analysis of task model in real-time fault-tolerant systems. In: The 12th international conference on computer and information technology, IEEE, Chengdu
HaiTao W, Wei C (2010) Research on modeling and model converting approaches based on MDA. In: The 2nd world congress on software engineering, IEEE, Wuhan
Hammami A, Simoni N, Salman R (2012) Ubiquity and QoS for cloud security. In: The 41st international conference on parallel processing workshops, IEEE, Pittsburgh PA
He R, Lacoste M, Leneutre J (2010) Virtual security kernel: a component-based OS architecture for self-protection. In: The international conference on computer and information technology, IEEE, Bradford United Kingdom
Hebiri H, Laabidi M, Jemni M (2010) User centered model to provide accessible e-Learning systems. In: The 10th international conference on advanced learning technologies, Sousse Tunisia
Hesse W, Tilley T (2005) Formal concept analysis used for software analysis and modelling. In: The formal concept analysis, foundations and applications. Springer, Berlin Heidelberg
Hoisl B, Sobernig S, Strembeck M (2014) Modeling and enforcing secure object flows in process-driven SOAs: an integrated model-driven approach. Softw Syst Model 13:513–548
Hu J, Khalil I, Han S, Mahmood A (2011) Seamless integration of dependability and security concepts in SOA: a feedback control system based framework and taxonomy. J Netw Comput Appl 34:1150–1159
Immonen A, Niemelä E (2008) Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw Syst Model 7:49–65
ISO/IEC 25010 (2011) Systems and software engineering: Systems and software Quality Requirements and Evaluation (SQuaRE)—System and software quality models. International Organization for Standardization, Geneva
ISO/IEC 9126-1 (2001) Software product evaluation-quality characteristics and guidelines for their use. International Organization for Standardization, Geneva
ISO/IEC/IEEE 42010 (2011) Systems and software engineering: Architecture description
Jehan S, Pill I, Wotawa F (2013) SOA grey box testing: A constraint-based approach. In: The 6th international conference on software testing, verification and validation workshops, IEEE
Jurado F, Redondo MA, Ortega M (2012) Blackboard architecture to integrate components and agents in heterogeneous distributed eLearning systems: an application for learning to program. J Syst Softw 85:1621–1636
Kang W, Liang Y (2013) A Security ontology with MDA for software development. In: The international conference on cyber-enabled distributed computing and knowledge discovery, IEEE, Beijing
Kang W, Kapitanova K, Son SH (2011) Semantics-aware communication in sensor network applications. In: The international conference on service-oriented computing and applications, IEEE, Irvine CA
Klatt B, Rathfelder C, Kounev S (2011) Integration of event-based communication in the palladio software quality prediction framework. In: The Joint ACM SIGSOFT conference—QoSA and ACM SIGSOFT Symposium—ISARCS on Quality of Software Architectures—QoSA and Architecting Critical Systems—ISARCS, ACM, Boulder, Colorado, USA
Kounev S, Rathfelder C, Klatt B (2013) Modeling of event-based communication in component-based architectures: state-of-the-art and future directions. Electron Notes Theor Comput Sci J 295:3–9
Laabidi M, Jemni M (2010) Personalizing accessibility to e-Learning environments. In: The 10th international conference on advanced learning technologies, IEEE, Sousse, Tunisia
Labejof J, Leger A, Merle P, Seinturier L, Vincent H R-MOM (2012) A component-based framework for interoperable and adaptive asynchronous middleware systems. In: The 16th international enterprise distributed object computing conference workshops, IEEE, Beijing
Lee JY, Kim SD (2010) Software approaches to assuring high scalability in cloud computing. In: The 7th international conference on e-business engineering, IEEE, Shanghai
Lee T-Y, Seo H-R, Lee B-H, Shin D-R (2010) A software component model and middleware architecture for intelligent mobile robot. In: The 2nd international conference on computer and automation engineering, Singapore
Leger M, Ledoux T, Coupaye T (2010) Reliable dynamic reconfigurations in a reflective component model. In: The 13th international conference on component-based software engineering, Prague Czech Republic. Springer-Verlag
Li X, Huang L (2013) Evaluation of software architectures reliability based on hypergraph grammar. In: The 37th annual computer software and applications conference, IEEE, Kyoto
Li C, Zhao C, Yan H, Zhang J (2013) Event-driven fault tolerance for building nonstop active message programs. In: The 10th international conference on high performance computing and communications and the international conference on embedded and ubiquitous computing, IEEE, Zhangjiajie
Linehan E, Clarke S (2012) An aspect-oriented, model-driven approach to functional hardware verification, J Syst Architect
Loganathan MK, Gandhi OP (2015) Maintenance cost minimization of manufacturing systems using PSO under reliability constraint. Int J Syst Assur Eng Manag 7:47–61
Losavio F, Chirinos L, Lévy N, Ramdane-Cherif A (2003) Quality characteristics for software architecture. J Object Technol 2:133–150
Lüders F (2003) Use of component-based software architectures in industrial control systems. Mälardalen University, Västerås
Magableh B, AlBeiruti N (2012) Detecting the onset of dementia using context-oriented architecture. In: The international conference on next generation mobile applications, services and technologies, Paris France
Mahrin M, Carrington D, Strooper P (2008) Investigating factors affecting the usability of software process descriptions, international conference on software process, ICSP, Leipzig, Germany
Majidi E, Alemi M, Rashidi H (2010) Software architecture: a survey and classification. In: The 2nd international conference on communication software and networks, IEEE, Singapore
Massoud A, Dumke R (2012) Efficient reference architecture for integrated legacy applications based‐SOA. In: The joint conference of the 22nd international workshop on software measurement and the 7th international conference on software process and product measurement, IEEE, Assisi
Matković J, Fertalj K (2012) Models for the development of web service orchestrations. In: The 35th international convention, IEEE, MIPRO Opatija
McCall JA, Richards PK, Walters GF (1977) Factors in software quality. US Rome Air Development Center Reports, US Department of Commerce
Mezghani E, Ben Halima R (2012) DRF4SOA: A dynamic reconfigurable framework for designing autonomic application based on SOA. In: The 21st international workshop on enabling technologies: infrastructure for collaborative enterprises, IEEE, Toulouse
Microsoft (2009) Microsoft application architecture guide (patterns and practices). Microsoft Press
Minguez J, Zor S, Reimann P (2011) Event-driven business process management in engineer-to-order supply chains. In: The 15th international conference on computer supported cooperative work in design, IEEE, Lausanne
Mircea M (2011) SOA adoption in higher education: a practical guide to service- oriented virtual learning environment procedia: social and behavioral sciences. World Confer Learn Teach Admin 31:218–223
Mnkandla E, Dwolatzky B (2006) Defining agile software quality assurance, international conference on software engineering advances, pp. 36–36
Molesini A, Garcia A, Chavez CVFG, Batista TV (2010) Stability assessment of aspect-oriented software architectures: a quantitative study. J Syst Softw 83:711–722
Nguyen D, Thoai N (2012) EBC: Application-level migration on multi-site cloud. In: The international conference on systems and informatics, IEEE, Yantai
Northrop L (2003) The importance of software architecture. Software Engineering Institute Carnegie Mellon University, Pittsburgh
O’Brien L, Bass L, Merson P (2005) Quality attributes and service-oriented architectures. Carnegie Mellon University, Pittsburgh
O’Brien L, Merson P, Bass L (2007) Quality attributes for service-oriented architectures. In: The international workshop on systems development in SOA environments, IEEE, Minneapolis, MN
Oster ZJ (2013) Reasoning with qualitative preferences to develop optimal component-based systems. In: The international conference on software engineering, IEEE, San Francisco CA USA
Ozkaya I, Diaz-Pace A, Gurfinkel A, Chaki S (2010) Using architecturally significant requirements for guiding system evolution. In: The 14th European conference on software maintenance and reengineering, IEEE, Madrid
Pang C, Yan J, Vyatkin V (2014) Time-complemented event-driven architecture for distributed automation systems transactions on systems, man, and cybernetics: Systems 45: 1165–1177
Pham T-T, Defago X (2013) Reliability prediction for component-based software systems with architectural-level fault tolerance mechanisms. In: The 8th international conference on availability, reliability and security, IEEE, Regensburg
Poelmans J, Dedene G, Snoeck M, Viaene S (2010) Using formal concept analysis for verification of process-data matrices in conceptual domain models, Software engineering
Pordel M, Khalilzad NM, Yekeh F, Asplund L (2011) A component based architecture to improve testability,targeted FPGA-based vision systems. In: The 3rd international conference on communication software and networks, IEEE, Xi’an
Potena P (2013) Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff. J Syst Softw 86:624–648
Qazi A, Shamim A, Bano H (2013) Model driven architecture with encapsulated quality check and enhancement feature. In: The 3rd international conference on innovative computing technology, IEEE, London
Quintero R, Zepeda L, Vega L (2010) Model driven software development of applications based on web services, Int J Web Grid Serv
Raafat T, Cecelja F (2011) An ontological approach to inter-operation of mobile services. In: The 4th IFIP international conference on new technologies, mobility and security, IEEE, Paris
Rafea V, Mahdianb F (2011) Style-based modeling and verification of fault tolerance service oriented architectures Procedia Computer Science. World Conf Inf Technol 3:972–976
Ren Y (2011) A dynamic comprehensive web service for content management. In: The 3rd international conference on communication software and networks, IEEE, Xi’an
Saaty TL (2008) Decision making with the analytic hierarchy process. Int J Serv Sci 1:83–98
Salva S, Rabhi I (2010) A preliminary study on BPEL process testability. In: The 3rd international conference on software testing, verification, and validation workshops, IEEE, Paris
Shanmugasundaram G, Prasanna Venkatesan V, Punitha Devi C (2012) Research opportunities in service reusability of service oriented architecture. In: The international conference on emerging trends in science, engineering and technology, IEEE, Tiruchirappalli, Tamilnadu India
Sirer EG, de Bruijn W, Reynolds P, Shieh A, Walsh K, Williams D, Schneider FB (2011)Logical attestation: an authorization architecture for trustworthy computing. In: The 23rd ACM symposium on operating systems principles, ACM, Cascais Portugal
Smith CU, Llado CM (2011) Model interoperability for performance engineering: survey of milestones and evolution. In: performance evaluation of computer and communication systems. milestones and future challenges, Vienna Austria. Springer, Berlin Heidelberg
Snajberk J, Holy L, Brada P (2013) Visualization of Component-based applications structure using AIVA. In: The 17th European conference on software maintenance and reengineering, IEEE, Genova
Sneed HM, Verhoef C, Sneed SH (2013) Reusing existing object-oriented code as web services in a SOA. In: The 7th international symposium on the maintenance and evolution of service-oriented and cloud-based systems, IEEE, Eindhoven
Staroswiecki M (2010) On reconfiguration-based fault tolerance. In: The 18th Mediterranean conference on control and automation Marrakech, IEEE
Sun C-A, Wang G, Mu B, Liu H, Wang Z, Chen TY (2011) Metamorphic testing for web services: framework and a case study. In: The international conference on web services, IEEE, Washington DC
Tielin Q, Yafen L, Pu W (2010) A model transformation platform design based on model driven architecture. In: The International Conference on Intelligent Computation Technology and Automation, IEEE, Changsha
Tizzei LP, Dias M, Rubira CMF, Garcia A, Lee J (2011) Components meet aspects: assessing design stability of a software product line. Inf Softw Technol J 53:121–136
Tragatschnig S, Zdun U (2013) Enterprise integration using event actor based event transformations. In: The 28th annual ACM symposium on applied computing, ACM Coimbra Portugal
Tran N-L, Skhiri S, Zimanyi E (2011) EQS: an elastic and scalable message queue for the cloud. In: The 3rd international conference on cloud computing technology and science, IEEE, Athens
Trilles S, Juan P, Díaz L, Aragó P, Huerta J (2013) Integration of environmental models in spatial data infrastructures: a use case in wildfire risk prediction. IEEE J Select Top Appl Earth Observ Remote Sens 6:128–138
Trinugroho YBD, Gerdes M, Amjad MMM, Reichert F, Fensli R (2013) A REST-based publish/subscribe platform to support things-to-services communications. In: The 19th Asia-Pacific conference on communications, IEEE, Denpasar
Tyagia K, Sharmab A (2014) An adaptive neuro fuzzy model for estimating the reliability of component-based software systems. Appl Comput Inf 10:38–51
Wallis M, Henskens F, Hannaford M (2010) Expanding the Cloud: A component-based architecture to application deployment on the Internet. In: The 10th IEEE/ACM international conference on cluster, cloud and grid computing, IEEE, Melbourne, Australia
Wang Q, Yang Z (2012) A method of selecting appropriate software architecture styles: quality Attributes and analytic hierarchy process. University of Gothenburg, Chalmers University of Technology, Göteborg
Wang B, Wei Z, Jinfang S (2010) Holographic view language hvl4dcam for aspectual middleware platform. In: The 2nd international conference on computer engineering and technology, Chengdu, China 16–18 April 2010. IEEE
Wang S, Wainer G, Goldstein R, Khan A (2013) Solutions for scalability in building information modeling and simulation-based design. In: the symposium on simulation for architecture and urban design, San Diego California
Waris M, Khan SA, Fakhar MZ (2013) Factors Effecting service oriented architecture implementation. In: The science and information conference, IEEE, London
Weini Z, Yongquan L, Pengdong G, Chu Q, Quan Q (2012) A new software architecture for ultra-large-scale rendering cloud. In: The 11th international symposium on distributed computing and applications to business, engineering and science, IEEE, Guilin
Welke R, Hirschheim R, Schwarz A (2011) Service-oriented architecture maturity computer 44:61–67
Wen X, Yu H, Zheng H (2013) Aspect-oriented design method for embedded systems based on timed statecharts China Communications
White L, Wilde N, Reichherzer T, Baskin A, Hartmann B, Manea M (2012) Understanding interoperable systems: challenges for the maintenance of SOA applications. In: The 45th Hawaii international conference on system science, IEEE, Maui HI
Wolf F, Balasubramanian J, Tambe S, Gokhale A, Schmidt DC (2011) Supporting component-based failover units in middleware for distributed real-time and embedded systems. J Syst Arch: EUROMICRO J 57:597–613
Wu Y, Huang G, Song H, Zhang Y (2012) Model driven configuration of fault tolerance solutions for component-based software system. In: The 15th international conference on model driven engineering languages and systems, Innsbruck Austria. Springer, Berlin Heidelberg
Yamany HFEL, Capretz MAM, Allison DS (2010) Intelligent security and access control framework for service-oriented architecture. Inf Softw Technol J 52:220–236
Yang D, Liu M, Wang S (2012) Object-oriented methodology meets MDA software paradigm. In: The 3rd international conference on software engineering and service science, IEEE, Beijing
Yang Z-X, Ning H-Y, Sun J-Q, Yang J-B (2013) Service portfolio optimization algorithm based on value model and graph theory in SOA. In: The 4th international conference on software engineering and service science, IEEE, Beijing
Yuan ED, Watton M (2012) An event-driven service oriented architecture for space command and control decision making. In: The Aerospace Conference, IEEE, Big Sky MT
Yue H, Tao X (2012) Web services security problem in service-oriented architecture. In: International conference on applied physics and industrial engineering
Yue D, Li CC, Liu WJ, Feng WX (2010) Based on SOA architecture and component software reuse architecture research. In: The 2nd international conference on information management and engineering, IEEE, Chengdu
Zappia I, Paganelli F, Parlanti D (2012) A lightweight and extensible complex event processing system for sense and respond applications, Expert Systems with Applications
Zhang X, Pham H, (2000) An analysis of factors affecting software reliability. In: Journal of Systems and Software, 43–56
Zhang J, Ban X, Lv Q, Chen J, Wu D (2010) A component-based method for software architecture refinement. In: The 29th Chinese control conference, IEEE, Beijing
Zheng Z, Lyu MR (2010) Collaborative Reliability prediction of service-oriented systems. In: The 32nd international conference on software engineering, IEEE, Cape Town
Zhou N, Zhang L-J, Chee Y-M, Chen L (2010) Legacy asset analysis and integration in model-driven SOA solution. In: International Conference on Services Computing, IEEE, Miami FL
Acknowledgements
We would like to record our thanks to the companies: Telnet in Sfax-Tunisia and ST2i in Tunis-Tunisia, for their participation in the investigation and for sharing their perspectives and experiences.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1
Table 5 presents the classification of the selected papers for this study in respect to the software architecture type and the ISO 25010 quality characteristics.
Appendix 2
Table 6 identifies the usability of the sub-characteristics of “Functional suitability” which is being the most rarely used quality characteristic.
Table 7 presents the classification of the sub-characteristics of the quality characteristic “performance efficiency”. “Capacity” is the widely used sub-characteristic, whereas “time behaviour” is the rarely used sub-characteristic.
Table 8 provides a classification of sub-characteristics of the quality characteristic “Usability”. Most of the sub-characteristics of “Usability” are rarely used in the. “Accessibility” is the most used sub-characteristic.
Table 9 identifies the usefulness of the sub-characteristics of the “Compatibility” quality characteristic. “Interoperability” is one of the important advantages of SOA. This is why most researches focused on “Interoperability” used by SOA.
As presented in Table 10, the sub-characteristics of “Reliability” have been widely used in the literature especially for SOA, and “Availability” is the most used sub-characteristic. In addition, many researchers mentioned that “SOA introduces more challenges to achieve: data availability and reliability”. This is especially the case for the availability of complex services in environment where concurrent requests should be satisfied.
Table 11 presents the interest of the selected papers in the “Portability” sub-characteristics. Most of the selected papers focused on the “Adaptability” sub-characteristic used by SOA.
Table 12 presents the classification of the selected papers based on the “Security” sub-characteristic which, as expected, has been widely used with SOA because “Security” is a critical problem in SOA. Researchers proposed the use of “application-independent protocols to develop a secure SOA” (e.g. Transport Layer Security “TLS” or Web service security protocols). These protocols can guarantee two sub-characteristics: “Confidentiality” and “Integrity”.
As shown in Table 13, the sub-characteristics for “Maintainability” have been widely discussed in the literature in comparison with other sub-characteristics. In addition, most of the SOA-based papers focused on Reusability and Testability. In fact, Reusability is a main advantage of SOA due to the independence between the various services, which makes the modification or the replacement of a service by another an easy task. However, testing SOA applications is a challenging task due to the high dynamism, the low coupling and the low testability of services in isolation. This in fact prompted some approaches to investigate how to improve SOA testability.
Table 14 presents the interest of the selected papers on other quality attributes un-supported by ISO 25010 such as scalability, flexibility, etc.
Rights and permissions
About this article
Cite this article
Haoues, M., Sellami, A., Ben-Abdallah, H. et al. A guideline for software architecture selection based on ISO 25010 quality related characteristics. Int J Syst Assur Eng Manag 8 (Suppl 2), 886–909 (2017). https://doi.org/10.1007/s13198-016-0546-8
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-016-0546-8