Vous êtes sur la page 1sur 3

A Method of Component Selection within Componentbased Software Development Process

Jun Guo, Bin Zhang, Kening Gao, Hongning Zhu, and Ying Liu
College of Information Science and Engineering,
Northeastern University, Postfach 11 00 04,
Shenyang, China.
boatheader@126.com, zhangbin@mail.neu.edu.cn

Abstract. In the component-based software development process, the component selection is one of the key activities. That is how to choose the most appropriate and suited component from component library effectively. This paper
proposed a new method of evaluating component on the basis of linear comprehensive approach. We analyze a set of factors and their weights, and arrange
components in an order after classifying in the component library.

1 Introduction
CBSD(component-based software development) is generating tremendous interest in
software industry as well as in numerous other sectors and thus it is emerging very
strongly as a coherent engineering practice [1]. Its process includes a set of activities,
such as finding, selecting, adapting, creating, composing and replacing. In this process, the component selection in the component library is very important. We need an
effective selecting method to search eligible component.
In order to analyze the value of component roundly, consulting some research
work in the world [2, 3], we structure comprehensive component evaluating function
on the basis of linear weighting method. We can express the evaluation factors of the
component library using a vector x, and suppose xi is the ith component in component
library, yi is the comprehensive evaluation value of xi ,
xi = ( xi1, xi2,, xin,)T ( i = 1,2,,n) ,

yi = jxij .
j=1

(1)

where, j is weight coefficient. Linear comprehensive method is easy to calculate, but


how to preprocess the evaluation factors, how to distribute the weight and how to
arrange components in an order are problems needed to investigate further.

2 The factors and weights


The choice of the evaluation factors depends on the importance of the factors. These
factors mainly reflect the functional requirements, product quality characteristics,

domain compatibility and architecture compatibility. We can select some factors,


such as reliability, usability, running time, throughput and reusability, and so on [4,5].
The evaluation factors often contain the extremely large-scale data and extremely
small-scale data. So we need uniformization processing before evaluating the components value. As to the extremely minitype factor x, suppose M is the upper boundary
of the factor x, let x*=M-x or x*=1/x, (x>0).
After uniforming the factors, some factors cannot compare with each other because
of the different scales and units. Solving this issue needs standardizing the factors
data through the extreme value processing method:
x mj
(2)
x*ij = ij
, Mj = max{ xij }, mj = min{ xij }
i
Mj mj
i
th
th
*
where, xij is the value of the j factor at the i component. x ij is the result value after
standardizing. In this way, all the factors can be standardized between 0 and 1.
According to the relatively important degree of the evaluation factors, we can calculate the weight coefficient of every factor. First of all, policymakers should confirm
the ordering relation of the set of evaluation factors. It means that the estimators arrange the factors {x1, x2, , xm} in an order, and the result is {x1*, x2*, , xm*}. The
importance of xi* is bigger or equal than xi+1*, where 1i<m. Secondly, after confirming the ordering relation of the factors, we can compare the neighboring factors and
set the value of the relevant relation. The ratio of important degree between xk-1* and
xk* is defined as rk:
rk = k-1/k k=2,3,,m-2,m-1,m.

(3)
xk-1*

and xk are simithe value of rk may adopt the following strategy: when factor
larly important, rk=1.0; when xk-1* and xk* are slightly important, rk=1.2; when xk-1* is
more important than xk* obviously, rk=1.4; analogously, rk=1.6 or rk=1.8, and so on.
k-1 is defined as weight coefficient of the (k-1)th factor:
m m

k-1= rkk , m=(1+ ri) -1 , k=m,m-1,,3,2


k=2 i-k

(4)

3 Arranging components in an order


After confirming the factors and their weights, we pay great attention to the whole
harmony of component evaluation factors, and then consider the partial values of
every factor. First of all, we define
D ={x =(x1, x2, , xm)T | xk [0 , 1 ] }

(5)

as state space, x is called state vector. Suppose


x*= (x1*, x2*,, xm*)TD (xj*>0),

(6)

if xjxj*(j=1,2,,m) and x = (x1, x2, , xm)TDthen x* is called critical effective


point. It was decided in advance. The set made up of the critical effective points is
called critical effective subset, defined as A, the selection value of the point (component) falling in the subset A is high. In a similar way, suppose

x**= (x1**, x2**,, xm**)TD (xj**>0),

(7)

if xj<xj**(j=1,2,,m) and x = (x1, x2, , xm)T D, then x** is called critical noneffective point. x** is the value that was decided in advance as well. The set made up
of the critical non-effective points is called critical non-effective subset, defined as C,
the selection value of the point (component) falling in the subset C is low. Let B=DA-C, then D=ABC, but AB=BC=CA=. The selection value of the point
(component) falling in the subset B is generic.
On the basis of the above subset A, B and C, we can arrange the order of the components. Suppose that there are n points (components) fall in D now. Among them, there
are n1 points in subset A, defined as xi(1)(i=1,2,, n1); there are n2 points in subset B,
defined as xj(2)(j=1,2,, n2); there are n3 points in subset C, defined as xk(3)(k=1,2,, n3);
and n1+ n2+ n3= n. According to formula 1, we can calculate {xi(1)},{xj(2)} and {xk(3)}
separately, and the model is as follows:
m

yi(k)=j(k)xij(k), (i = 1, 2, , nk; k=1,2,3)


j=1

(8)

After arranging the components in subset A, B and C separately in an order from


great to small, the goal of evaluating components has been achieved. According to the
actual requirement, we can use the subset A or AB only.

4 Conclusion
In the component-based software development (CBSD) process, developers need an
effective selecting method to search eligible component. That is how to choose the
most appropriate and suited component from component library effectively. This
paper proposed a new method of evaluating component on the basis of linear comprehensive approach. Our experiment shows the method is better than other methods
such as subjective mind and simple linear weighting method.

References
1. Gill, N. S., Grover, P. S.: Component-Based Measurement: Few Useful Guidelines. ACM
SIGSOFT Software Engineering Notes, Vol. 28. (2003)4-4
2. Cook W,John D, Rodney G and Kress M.: Multi-criteria modeling and ordinal data: evaluation in terms of subsets of criteria. European Journal of Operational research, Vol 98. (1997)
602-609
3. Traintaphyllou E and Sabchez A.: Sensitivity analysis approach for some deterministic
multicriteria decision-making methods. Decision Sciences, Vol. 28. (1997) 151-187
4. Zeng L., Benatallah B., Dumas M.: Quality Driven Web Services Composition. WWW2003,
Budapest, Hungary. May (2003) 411-421
5. Stephen H.Kan: Metrics and Models in Software Quality Engineering, Second Edition.
ISBN 7-302-08839-X. (2004) 359-374

Vous aimerez peut-être aussi