American Journal of Information Systems, 2014, Vol. 2, No. 1, 20-25 Available online at http://pubs.sciepub.com/ajis/2/1/5 © Science and Education Publishing DOI:10.12691/ajis-2-1-5 The Method for Comparative Evaluation of Software Architecture with Accounting of Trade-offs Alexander Kharchenko 1 , Ihor Bodnarchuk 2,* , Vasyl Yatcyshyn 3 1 Department of Computer Informational Technologies, National Aviation University, Kyiv, Ukraine 2 Department of Computer Science, Ternopil Ivan Pul’uj National Technical University, Ternopil, Ukraine 3 Department of Computer Engineering, Ternopil Ivan Pul’uj National Technical University, Ternopil, Ukraine *Corresponding author: bodnarchuk.io@gmail.com Received September 30, 2013; Revised January 17, 2014; Accepted January 22, 2014 Abstract Since growing complexity of software systems it is more difficult to meet demands of quality during the process of their design. To solve this problem with minimal loss this process is transferred onto more early stages of design, particularly onto the design of architecture. The architecture is treated as the set of components that encapsulates the logic of calculations, and connections that ensure the interaction between components and create their configuration. Since the architecture of software system is a high-level abstract model for representation of system structure and key properties, its selection grounds the insurance of quality for software system. In the paper the questions of evaluation of architecture quality on the set of quality attributes with Analytic Hierarchic Process (AHP) with applying of optimization algorithm for estimating of weights of alternatives are discussed. The conflicts between quality indices and trade-offs between them are analyzed. Keywords: Software Architecture, Multivalued Optimization, Quality of Software Architecture, Software Architecture Evaluation Cite This Article: Alexander Kharchenko, Ihor Bodnarchuk, and Vasyl Yatcyshyn, “The Method for Comparative Evaluation of Software Architecture with Accounting of Trade-offs.” American Journal of Information Systems, vol. 2, no. 1 (2014): 20-25. doi: 10.12691/ajis-2-1-5. 1. Introduction The quality of architecture decision is evaluated on the totality of criteria, and its selection always is a trade-off, because for the given set of functional requirements and requirements for quality there is no single best solution, and improving of some criteria leads to deterioration of others and vice versa. So why when selecting the architecture decision for software system it is necessary to apply the methods of multicriteria evaluation with accounting of conflicts between indices of quality and to make trade-offs. There are early and late evaluation of architectures. Early one is based on the experience of designers and logical reasoning because there are not any arte facts that allow to simulate the performance of the software system. Methods that realize early evaluation are based of scenarios. Following methods are belong to this group: SAAM and ATAM [1]. On the base of stakeholder priorities defined quality criteria. A scenario is working out to check the satisfaction for each quality attribute, and assessing the level of satisfaction of the attribute by given architecture alternative is carried out. ATAM method is similar to SAAM, but here for selected architectures the risks of satisfaction of quality attributes are evaluated on the base of analysis of scenarios. Evaluation of risks the group of experts performs, and this group as well ranges alternatives according to the level of risk and defines so called points of sensitivity on the components or connections of architecture, trade-offs between indices of quality are analyzed too. For reasonable selection of decision in the method SAAM/ATAM selected architectures are analyzed on the subject of costs and benefits with applying of method CBAM [2]. This method ensures economic analysis of software system, which are based on the selected on previous methods variants of architecture and scenarios of simulation. Experts assign scores for quality indices from 1 to 100 and range architectures according to scores what these architectural deci ij Cont sions ensure for certain attribute. Evaluation of each architecture alternative is calculated according to the following expression: ( ) ( ) , 1, 1, . i ij j j K BA Cont Q i n = = = (1) Here ij Cont is the weight of i th architecture corresponding to j th attribute; j Q – the priority of j th attribute. This method allows to evaluate cost for realization of each alternative and gives possibility to calculate the index of desirability as relation of benefit to costs. On the base of obtained data the best solution is selected.