Optimization Criteria for Effort Estimation using Fuzzy Technique Abstract

Effective cost estimation is the most challenging activity in software development. Software cost estimation is not an exact science. Cost estimation process involves a series of systematic steps that provide estimate with acceptable risk. Some prevalent LOC based models areBailey Basili model, Alaa F. Sheta G.E. Model, and Alaa F. Sheta, Model 2 [1] .Two new models, based on fuzzy logic sizing, are presented in this paper. Rather than using a single number, the software size is regarded as a triangular fuzzy number. We can optimize the estimated effort for any application by varying arbitrary constants for these models. The developed models are tested on 10 NASA software projects [2], on the basis of four criterions for assessment of software cost estimation models. Comparison of all the models, cited above, is done and it is found that the developed models provide better estimation.


INTRODUCTION
Out of the three principal components of cost i.e., hardware costs, travel and training costs, and effort costs, the effort cost is dominant.Software cost estimation starts at the proposal state and continues throughout the life time of a project.There are seven techniques of software cost estimation: • Algorithm Cost Model Algorithm model, also called parametric model, and is designed to provide some mathematical equations to provide software estimation.LOC-based models are algorithm models [3,12,13,14] .
Ali Idri and Laila Kjjri [7] proposed the use of fuzzy sets in the COCOMO, 81 model [3].Musilek, P., Pedrycz, W. and others [10] proposed f-COCOMO model, using fuzzy sets.The methodology of fuzzy sets giving rise to f-COCOMO is sufficiently general to be applied to other models of software cost estimation such as function point method [9].W.Pedrycz, J.F.Peters, S. Ramanna [11] found that the concept of CLEI ELECTRONIC JOURNAL, VOLUME 10, NUMBER 1, PAPER 2, JUNE 2007 information granularity and fuzzy sets, in particular, plays an important role in making software cost estimation models more user friendly.
To apply fuzzy logic first fuzzification is done using triangular fuzzy number and extension principle [4].
Fuzzy output is evaluated and then estimation is done by defuzzification technique given in this paper.
Comparison of all the models, cited above, is done, in the experimental study section, and it is found that the developed models provide better estimation.
The paper is divided into five sections.Section 2 introduces related terms used to develop the new models.
In section 3, the proposed models are presented, section 4 belongs to experimental study and the last section 5 is referred to conclusions and future research.In many respects fuzzy numbers depict the physical world more realistically than single valued numbers.

Related Terms
Suppose that we are driving along a highway where the speed limit is 80km/hr, we try to hold the speed at exactly 80km/hr, but our car lacks cruise control, so the speed varies from moment to moment.If we note the instantaneous speed over a period of several minutes and then plot the result in rectangular coordinates, we may get a curve that looks like one of the curves shown below, however there is no restriction on the shape of the curve.The curve in figure 1 is a triangular fuzzy number, the curve in figure 2 is a trapezoidal fuzzy number, and the curve in figure 3 is bell shaped fuzzy number.

(c) Fuzziness
Fuzziness of a TFN (α,m,β) is defined as: The higher the value of fuzziness, the more fuzzy is TFN.The value of fuzziness to be taken depends upon the confidence of the estimator.A confident estimator can take smaller values of F.

(d)Fuzzy Effort Estimation (i) Fuzzification:
We take the input as size S, output as effort E, then a triangular fuzzy number, K(S), is defined as follows: As by definition of fuzziness and Similarly, the TFN µ(E) is defined as, Table 1, gives values of α and β for F=0.1, 0.2 and 0.3 for various values of k using equations ( 4) and ( 5), where m, size estimate in KDLOC.(ii) Defuzzification: The single output, fuzzy estimate of E, can be computed as a weighted average of the optimistic (aα b ), most likely (a m b ) and pessimistic estimate (a β b ) [6] Fuzzy estimate of E = Where, w 1, w 2 and w 3 are weights of the optimistic, most likely and pessimistic estimate respectively.Maximum weight should be given to the most expected estimate.

Prediction (n)
Prediction at level n is defined as the % of projects that have absolute relative error less than n [8]. Where, A model which gives higher VAF is better than that which gives lower VAF.A model which gives higher pred (n) is better than that which gives lower pred(n).A model which gives lower Mean absolute Relative Error is better than that which gives higher Mean absolute Relative Error.A model which gives lower Variance Absolute Relative Error is better than that which gives higher Variance Absolute Relative Error.

Proposed Models Model 1
Effort (E) = The effort is obtained in Man Months (MM).Optimization of effort for an application is done by a suitable choice of arbitrary constants.

ME is methodology of the project.
The effort is obtained in Man Months.Optimization of effort for an application can be done by a suitable choice of arbitrary constants.

Experimental Study
For this study we have taken data of 10 projects of NASA [2], given in Table 2 We have taken w 1 =1, w 2 =10 and w 3 =10 for Model 1.For Model 2, w 1 =1, w 2 =10 and w 3 =10, when we take c=-0.55 and d=13.3 Experimental Results are given in Table3.Following graphic show comparison of experimental results and measured Efforts.Comparison of various models on the basis of various criterion is given in Table 4.

Conclusions and Future Research
The proposed study gives better results as compared to some earlier models.Proposed Model 2 is the best as per the above experimental study, on the basis of VAF, Mean Absolute Relative Error, Variance Absolute Relative error and Pred (25).It is not possible to evolve a method, which can give VAF (%) equal to 100.By suitably adjusting the values of the arbitrary constants we can optimise the estimated effort.The methodology of fuzzy sets used for developing the two new models is sufficiently general and can be applied to other models of software cost estimation models based on function point methods and to other areas of quantitative software engineering

•
Expert Judgments • Estimation by Analogy • Parkinson's Law • Pricing to win • Top-down estimation • Bottom-up estimation If these predict radically different costs, more estimation should be sought and the costing process repeated.
(a) Fuzzy Number (b) Fuzzy Logic (c) Fuzziness (d) Fuzzy Effort Estimation (i) Fuzzification (ii) Defuzzification (e) Various criterions for Assessment of Software Cost Estimation Models (a) Fuzzy Number A fuzzy number is a quantity whose value is imprecise, rather than exact as in the case of ordinary single valued numbers.Any fuzzy number can be thought of as a function, called membership function, whose domain is specified, usually the set of real numbers, and whose range is the span of positive numbers in the closed interval [0, 1].Each numerical value of the domain is assigned a specific value and 0 represents the smallest possible value of the membership function, while the largest possible value is 1.

Fig 4a :
Fig 4a: Representation of K(S) 0 a α b a m b a β b ,w 1 ,w 2 and w 3 are arbitrary constants.

Fig 7 :
Fig 7: Effort from various models versus measured effort.

Table 1 :
Values of α and β for different values of F and k.

Table 1 ,
.α=0.9m and β=1.1mSuitable values of w i (i=1,2,3) can be obtained by optimising effort on the basis of any one of the criteria, using algorithm given in appendix, for the application under study.

Table 3 :
Estimated Efforts in Man Months of Various Models

Table 4 :
Comparison of various models