Fuzzy Based Software Cost Estimation Methods: A Comparative Study

Page 1

IJIRST –International Journal for Innovative Research in Science & Technology| Volume 1 | Issue 7 | December 2014 ISSN (online): 2349-6010

Fuzzy Based Software Cost Estimation Methods: A Comparative Study Mizbah Fatima Lecturer Faculty of Computer Science and Information Technology Integral University, Lucknow, India

Sheikh Fahad Ahmad Assistant Professor Faculty of Computer Science and Information Technology Integral University, Lucknow, India

Mustafa Hasan Software Engineer Aricent Pvt Ltd, Gurgaon, India

Abstract Software cost estimation is the process of predicting the effort required to develop a software system. Many estimation models have been proposed over the last 30 years. With the development of software engineering, estimation of project cost and duration has been a very important work. It plays an important role in project bid and project planning. Many papers have been published regarding this topic, which aims at predicting costs of projects to a tolerable degree of accuracy at the early stage. In this paper, several existing fuzzy logic methods for software cost estimation are illustrated and they are compared with the intermediate COCOMO model. Comparing the features of the methods, it could be applied for clustering based on abilities and is also useful for selecting the special method for each project. Keywords: Cost Estimation, COCOMO, Fuzzy Logic, Membership Functions, Software Effort Estimation Models. _______________________________________________________________________________________________________

I. INTRODUCTION It has been surveyed that nearly 25% projects overrun their budget and delivered late and around 60% of many major projects substantially overrun their original estimates. Software development starts with the requirement phase and these requirements are very uncertain [10] due to which the software cost estimation becomes a hectic task. Without reasonably accurate cost estimation capability, project managers are not able to determine how much time and manpower cost the project should take which means the software portion of the project is out of control from its beginning [1]. There are aspects of the process that are peculiar to software estimation. Some of the unique aspects of software estimation are driven by the nature of software as a product. Many software managers struggle with estimating their projects. The inherent problem with estimation is that small projects can be estimated easily, but the required accuracy is not important. On the other hand, large projects are very difficult to estimate, but the required accuracy is extremely important [16]. A. Intermediate COCOMO The Basic COCOMO model [4] [15] is based on the relationship: Development Effort, DE =a*(SIZE) b; where SIZE is measured in thousand delivered source instructions. The constants a, b depends upon the „mode‟ of development of projects. DE is measured in man-months. The accuracy of Basic COCOMO [6] is limited as it does not consider the factors like personnel, use of modern tools, hardware and other attributes that affect the project cost. Later, Boehm proposed the Intermediate COCOMO [4] [11] which adds accuracy to the Basic COCOMO by adding „Cost Drivers‟ into the equation with a new variable: EAF (Effort Adjustment Factor). The development effort is now calculated as: If development mode is Organic, then DE =EAF * 3.2 * (SIZE) 1.05 If development mode is Semi-detached, then DE =EAF * 3.0 * (SIZE) 1.12 If development mode is Embedded, then DE = EAF * 2.8 * (SIZE) 1.2 The Effort Adjustment Factor (EAF) is the product of 15 Cost Drivers [12] [13]. There are also six multipliers for the cost drivers. These are Very Low, Low, Nominal, High, Very High and Extra High. For example, in a project, if DATA is High, RELY is Low, TIME is Very High, STOR is High, CPLX is extra high and the remaining parameters are nominal then EAF = 0.75 *1.08 *1.65 *1.30 *1.06 *1.0. If the values of all the 15 cost drivers are “Nominal”, then EAF is equal to 1.

II. FUZZY BASED ESTIMATION TECHNIQUE All the systems whose work is based on fuzzy logic try to embed reasoning in human behavior. In many of the problems where the decision making tends to be difficult where the conditions being uncertain and vague [10], fuzzy systems act as an efficient tool. This technique always keeps in mind the facts which may be ignored [5].

All rights reserved by www.ijirst.org

287


Fuzzy Based Software Cost Estimation Methods: A Comparative Study (IJIRST/ Volume 1 / Issue 7 / 055)

A. Fuzzy Membership Functions A fuzzy set is characterized by a membership function [9] [10], which associates a real number in the interval (0, 1) with each point in the fuzzy set, called degree or grade of the membership. The membership function may be triangular, trapezoidal, Gaussian etc. B. Triangular Membership Function Triangular membership can be defined using a triplet (α, β, γ), where „β‟ is the modal value, „α‟ is the right boundary and „γ‟ is the left boundary. The triangular membership function with straight lines can formally be described as follows: Λ(u:α,β,γ) = 0 u<α = (u - α) / (β-α) α<=u<=β = (α - u) / (β-α) β<=u<=γ =0 u>γ

Fig. 1: Triangular Membership Function

C. Trapezoidal Membership Function Trapezoidal Membership Function furnished in Fig. 2 is defined as follows: f(x, a, b, c, d) = 0 when x < a and x > d = (x - a) / (b - a) when a <= x <= b =1 when b <= x <= c = (d - x) / (d - c) when c <= x <= d

Fig. 2: A Typical Form of The Trapezoidal Membership Function

D. Gaussian Membership Function Gaussian membership function is often used to represent vague, linguistic terms and is defined as: G(u: m,σ)=exp[-{(u-m)/√2σ}2 ] Where the parameters m and σ are used to control the center and width of the membership function.

Fig. 3: A Typical Form of The Gaussian Function

III. FUZZY RULES The rules based on the fuzzy sets [14] of MODE, SIZE and EFFORT appears in the following form: For organic MODE and SIZE = S1, EFFORT is EF1 For semidetached MODE and SIZE = S, EFFORT is EF2 For embedded MODE and SIZE =S1, EFFORT is EF3 For organic MODE and SIZE=S2, EFFORT is EF4 For semidetached MODE and SIZE =S2, EFFORT is EF5 For embedded MODE and SIZE =S3, EFFORT is EF5 For embedded MODE and SIZE =S4, EFFORT is EF3 For organic MODE and SIZE=S3, EFFORT is EF4 For embedded MODE and SIZE =S5, EFFORT is EF6 For organic MODE and SIZE=S4, EFFORT is EF4.

IV. CRITERIA FOR SOFTWARE EFFORT ASSESSMENT (1) Balance Relative Error (BRE)

All rights reserved by www.ijirst.org

288


Fuzzy Based Software Cost Estimation Methods: A Comparative Study (IJIRST/ Volume 1 / Issue 7 / 055)

BRE

̂ ̂

(2) Prediction (n) Prediction at level n is defined as the % of projects that have absolute relative error less than n [2]. (3) Variance Absolute Relative Error (VARE) VARE(%)= ∑f(RE – meanRE)2 * 100 …[8] ∑f

(4) Mean Absolute Relative Error (MARE) MARE(%)=

…[7]

(5) Variance Accounted For (VAF) ̂ )) * 100 VAR(%) = (1- var( ….[3] varE Where E = estimated effort, Eˆ = actual effort ̂ And Absolute Relative Error (RE) = E Var x = ∑f(x-x‟)2 ∑f x‟= mean of x f = frequency A model which gives higher Variance Accounted For (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 MARE is better than that which gives higher MARE [12]. A model which gives lower VARE is better than that which gives higher VARE [14]. A model which gives lower BRE is better than that which gives higher BRE.

V. EXPERIMENTAL STUDY The COCOMO81 database contains 63 projects data [4] [12], in which 28 are Embedded Mode, 12 are Semi-Detached Mode and 23 are Organic Mode projects. Hence, there is no uniformity for selecting the projects of different modes. For our purpose, we have chosen 15 projects data, with their lines of code to be less than 100KDSI. Further, we have estimated the efforts using Intermediate COCOMO, Triangular Membership Function, Gaussian Membership Function and Trapezoidal Membership Function which are shown in Table 1 whereas the Table 2 shows the comparison of various models based on different criteria. Mode 1.05 1.05 1.05 1.05 1.05 1.2 1.2 1.2 1.2 1.2 1.12 1.12 1.12 1.12 1.12

Table - 1 Estimated Effort of Various Fuzzy Based Models Size EAF Actual Effort COCOMO Effort TMF Effort Gaussian Effort Trapezoidal Effort 46 1.17 240 212 246 252 249 16 0.66 33 39 41 41 40 4 2.22 43 30 34 34 35 6.9 0.4 8 9.8 11 11 11 13 2.81 98 133 143 143 142 22 7.62 1075 869 1078 1116 1098 30 2.39 423 397 484 485 484 18 2.38 321 214 239 231 228 20 2.38 218 243 287 303 270 24 0.85 79 108 138 138 138 3 5.86 73 60 63 62 60 90 0.70 453 326 453 486 475 2.14 1 7.3 7 7 7 6 1.98 0.91 5.9 5.8 6 6 7 12 0.68 55 33 31 31 31 Table - 2 Comparison of Various Models Model VAF(%) MARE(%) VARE(%) Mean BRE Pred(25%) Intermediate COCOMO 87.16 21.41 5.48 0.25 72 Triangular MF 95.83 18.63 4.35 0.23 68 Gaussian MF 92.25 20.35 4.24 0.26 62 Trapezoidal MF 90.15 17.45 4.60 0.27 66

VI. CONCLUSION AND FUTURE WORK This paper has presented an overview of a variety of non-algorithmic software cost estimation techniques. We have observed that no method or any estimation model should be preferred over the others. Referring to Table 2, we have observed that fuzzy

All rights reserved by www.ijirst.org

289


Fuzzy Based Software Cost Estimation Methods: A Comparative Study (IJIRST/ Volume 1 / Issue 7 / 055)

method using Triangular Membership Function yields better results for maximum criteria when compared to other fuzzy logic methods. Based on VAF, MARE & Mean BRE, we have concluded that the Fuzzy method using TMF (triangular membership function) is better when compared to the Gaussian Bell, Trapezoidal or Intermediate COCOMO. There is no estimation method which can present the best estimates in all the various criteria and each technique can be considered as suitable in the especial project. Trying to make the performance of the existing methods better and comparing the results of various fuzzy logic methods with the Detailed COCOMO and also exploring the new methods for software cost estimation based on today‟s software project requirements can be the future works in this area.

REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Attarzadeh, I. Siew Hock Ow, Proposing a New Software Cost Estimation Model Based on Artificial Neural Networks, IEEE International Conference on Computer Engineering and Technology (ICCET) , Volume: 3, Page(s): V3-487 - V3-491 2010. Attarzadeh, I. Siew Hock Ow, Improving the accuracy of software cost estimation model based on a new fuzzy logic model, World Applied science journal 8(2):117-184,2010-10-2. Bailey, J.W. and Basili, A Meta model for software development resource expenditure, Proc. Intl. Conf. Software Engineering, pp: 107-115, 1981. B.W. Boehm, Software Engineering Economics, Prentice-Hall, Englewood Cli4s, NJ, 1981. Xishi Huang, Danny Ho,Jing Ren, Luiz F. Capretz, A soft computing framework for software effort estimation, Springer link, Vol 10, No 2 Jan-2006. Moshood Omolade Saliu, Adaptive Fuzzy Logic Based Framework for Software Development Effort Prediction, King Fahd University of Petroleum & Minerals, April 2003. Vahid Khatibi, Dayang N. A. Jawawi, Software Cost Estimation Methods: A Review, Journal of Emerging Trends in Computing and Information Sciences, January 2011. L.A. ZADEH., From Computing with numbers to computing with words-from manipulation of measurements to manipulation of perceptions, Int. J. Appl. Math. Computer Sci., Vol.12, No.3, 307-324., 2002. J.E. Matson, B.E. Barrett, J.M. Mellichamp, Software Development Cost Estimation Using Function Points, IEEE Trans. on Software Engineering, 20, 4, 275-287, 1994. Kirti Seth, Arun Sharma & Ashish Seth, Component Selection Efforts Estimation– a Fuzzy Logic Based Approach, IJCSS-83, Vol (3), Issue (3) Zhiwei Xu, Taghi M. Khoshgoftaar, Identification of fuzzy models of software cost estimation, Fuzzy Sets and Systems 145 (2004) 141–163 Prasad Reddy P.V.G.D, Sudha K.R , Rama Sree P & Ramesh S.N.S.V.S.C, Software Effort Estimation using Radial Basis and Generalized Regression Neural Networks, Journal of Computing, Vol 2, Issue 5 May 2010, Page 87-92 Iman Attarzadeh and Siew Hock Ow, Software Development Effort Estimation Based on a New Fuzzy Logic Model, IJCTE, Vol. 1, No. 4, October 2009. Harish Mittal, Optimization Criteria for Effort Estimation using Fuzzy Technique, CLEI Electronic Journal, Vol 10, No 1, Paper 2, 2007 Roger S. Pressman, Software Engineering; A Practitioner Approach, Mc Graw-Hill International Edition, Sixth Edition (2005). Mohd. Haleem, Mohd. Rizwan Beg, Sheikh Fahad Ahmad “Overview of Impact of Requirement Metrics in Software Development Environment”, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET), ISSN: 2278 – 1323

All rights reserved by www.ijirst.org

290


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.