ISO9126 BASED SOFTWARE QUALITY EVALUATION

13 downloads 37220 Views 159KB Size Report
A decision of selecting the best software based on quality attributes is ... during the development process as it let developers to deliver high qualified software product. ... (CI) into the MCDM problem of evaluating quality of e-learning websites.
International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.1, January 2015

ISO9126 BASED SOFTWARE QUALITY EVALUATION USING CHOQUET INTEGRAL Abdelkareem M. Alashqar1, Ahmad Abo Elfetouh2 and Hazem M. El-Bakry3 1,2,3

Information Systems Dept., Faculty of Computer and Information Sciences, Mansoura University, EGYPT

ABSTRACT Evaluating software quality is an important and essential issue in the development process because it helps to deliver a competitive software product. A decision of selecting the best software based on quality attributes is a type of multi-criteria decision-making (MCDM) processes where interactions among criteria should be considered. This paper presents and develops quantitative evaluations by considering interactions among criteria in the MCDM problems. The aggregator methods such as Arithmetic Mean (AM) and Weighted Arithmetic Mean (WAM) are introduced, described and compared to Choquet Integral (CI) approach which is a type of fuzzy measure used as a new method for MCDM. The comparisons are shown by evaluating and ranking software alternatives based on six main quality attributes as identified by the ISO 9126-1 standard. The evaluation experiments depend on real data collected from case studies.

KEYWORDS Software Quality, Fuzzy Measure, Choquet Integral, Criteria Interaction, Multi Criteria Decision Making, Aggregation Function, ISO9126.

1. INTRODUCTION Software quality is an important and essential issue especially in current rapid change in the software development industry. The process of evaluating software quality offers various benefits during the development process as it let developers to deliver high qualified software product. Quality is a relative term which differs with viewpoints transcendental view, product view, manufacturing view, user view and value-based View [17]. Several models have been proposed like ISO/IEC 9126 Model [16], McCall model [20], Boehm model [6], FURPS model [15], Dromey [9] model , and FURPS model [14], to evaluate generic software application. A comparative study of software quality models is found in [1] [26] [31]. Quality models define software product qualities as a hierarchy of factors, criteria and metrics. A quality factor represents behavioral characteristics of the system; a quality criterion is an attribute of a quality factor that is related to software production and design; while a quality metrics is a measure that captures some aspect of a quality criterion [32]. Most of the works that focus on software quality evaluation do not reference the aggregation methods used to calculate the values of the different element of the model. Sometimes a simple weighted average is used to summaries the various quality measurements into a single score as proposed in [3] and [23]. Over the past decade, fuzzy decision support has emerged as a means of providing effective tools and techniques for solving MCDM problems. The authors in [11] used the aggregation function, a fuzzy decision-support technique, to support the MCDM process in a game theory context. An MCDM approach based on ordered weighted averaging (OWA) operators was proposed in [8] which permits a DOI : 10.5121/ijsea.2015.6110

111

International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.1, January 2015

sophisticated aggregation of measured atomic quality values using linguistic criteria to express human expert’s evaluations. Recent studies as in [21] and [32], also adopts MCDM approach based on fuzzy measures to evaluate software quality. In this study, we introduce a relatively fuzzy decision support technique based on an aggregation function named the Choquet Integral (CI) into the MCDM problem of evaluating quality of e-learning websites. The evaluation depend on the main quality attributes defined in ISO/IEC 9126 standard, and take into account the interactions between these quality attributes. In addition to that, the evaluations utilize real empirical data collected from previous studies. The rest of this paper in organized as follows: Section 2 mentions related work. Section 3 explains the proposed method that emphasizes the aggregations methods especially CI. Section 4 presents the experimental results, and Section 5 provides the conclusion and future work.

2. RELATED WORK Some research studies attempt to evaluate software quality using fuzzy multi criteria approach without considering interaction between criteria as [7] [29] and [30]. The work in [7] provides a method to estimate the software quality criteria using fuzzy multi criteria approach. The method used to quantify software quality for generic applications. The authors in [29] proposed a MCDM approach to software quality assessment using fuzzy measures to model software experts’ decision making processes and help them to predict/evaluate software quality. Their approach helps to predict/evaluate software quality with consistently over 60% accuracy. While the authors in [30] present a software quality prediction model based on a fuzzy neural network. The proposed model is a hybrid model of Artificial Neural Network (ANN) and Fuzzy Logic (FL), which exploits the advantages of ANN and FL while eliminating their limitations. A limited number of attempts apply fuzzy measure techniques to the modeling of MCDM process in evaluating software quality attributes considering the interaction between these quality attributes. In an early study carried out by [32], presents a fuzzy integral approach as an aggregation operator to produce the overall assessment of quality attributes for web-based applications (WBA). Later work [22] proposes a methodology based on fuzzy measure using CI for comparing different software solutions based on the software requirements specification (SRS) to a common problem. Our work is closest to work done in [22] [32] which use CI with fuzzy measure to quantify the interacting software quality parameters and finds the best software among different software and also made analysis of effect of interaction among criteria in finding best alternative. However, it is different in that it uses CI to evaluate specific type of software that is e-learning websites from user perspective depending on empirical collected data from previous studies. Furthermore, our evaluations are based on ISO/IEC 9126 quality model. Furthermore, while [22] assigned different values to ξ (an interaction degree among criteria as proposed by [27]) to show how it affects the evaluation results, we use real interaction values as stated in the literature in our evaluation purposes.

3. RESEARCH METHOD This section presents a description of an aggregation function that is widely used by researchers in quantitative evaluations, followed by a description of fuzzy measure method suing CI as a new approach for evaluation.

112

International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.1, January 2015

3.1 Aggregation Function MCDM is used if there are a set of alternatives and each is evaluated against several criteria. For example, if a user wants to select the best one of several developed websites, it needs to consider the best usability, the best efficiency, and so on. The degree to which an alternative satisfies a criterion corresponds to a utility value [28]. The scores must then be combined in some ways to produce an overall rating for that alternative. Such a process is very similar to an aggregation function or aggregation operator, which combines several inputs into a single representative output. The averaging aggregation is one of the most widely used type of aggregation functions. The term “average” is commonly employed in everyday language when referring to the arithmetic   mean (AM). The AM of n values is the function: AM =  +  + ⋯ +   = ∑    (1) For example for a given input  = 0.5,0.2,0.7, the AM = 0.5 + 0.2 + 0.7/3 = 0.47. In case some criteria are considered as more important than others, it is common to consider the aggregation function to be additive and to take the form of a weighted arithmetic mean (WAM). WAM is a linear function with respect to a positive valued weighting vector  with ∑   = 1:   =   +   + ⋯ +   = ∑   

(2)

For example if a given input  = 0.5,0.2,0.7 has corresponding weights  = 0.5,0.3,0.2, then the   = 0.50.5 + 0.20.3 + 0.70.2 = 0.25 + 0.06 + 0.14 = 0.45. Although the most often used aggregation operators are the WAM [19], it is not an appropriate method when there is an interaction among the criteria. Therefore, we choose CI aggregation function as a type of fuzzy measure that takes into account the interaction among criteria [28].

3.2 Fuzzy Measures and Choquet Integral A fuzzy measure (also called a capacity) function : 2& → [0,1] satisfying [12][28]:

on a set of input criteria ! = { ,  , …  } is a set

(i) * = 0 and ! = 1 (boundary conditions). (ii) , + ⊆ !  ⊆ + implies  ≤ + (monotonicity). Furthermore a capacity

on ! is said to be [12] :

• Additive if  ∪ + =  + + for all disjoint sunsets , + ⊆ !, and • Cardinality-based if, for any + ⊆ !, + depends only on the cardinality of +. Note that there is only one capacity on ! that is both additive and cardinality-based. It is called the uniform capacity and denote it by ∗ . It is easy to verify that ∗ is given by ∗ +

= 01 , ∀+ ⊆ !

In the framework of aggregation, for each subset of criteria  ⊆ !, the number  can be interpreted as the weight or the importance of . The monotonicity of means that the weight of 113

International Journal of Software Engineering & Applications (IJSEA), Vol.6, No.1, January 2015

a subset of criteria cannot decrease when new criteria are added to it. In the case ! = { ,  , 3 } the representation of fuzzy measures is shown as: {∅} {1} {2} {3} {1,2} {1,3} {2,3} {1,2,3} The discrete CI with respect to a fuzzy measure

is given by:

567  = ∑   8 9:;