Abstract
Accurate software estimation such as cost estimation, quality estimation and risk analysis is a major issue in software project management. In this paper, we present a soft computing framework to tackle this challenging problem. We first use a preprocessing neuro-fuzzy inference system to handle the dependencies among contributing factors and decouple the effects of the contributing factors into individuals. Then we use a neuro-fuzzy bank to calibrate the parameters of contributing factors. In order to extend our framework into fields that lack of an appropriate algorithmic model of their own, we propose a default algorithmic model that can be replaced when a better model is available. One feature of this framework is that the architecture is inherently independent of the choice of algorithmic models or the nature of the estimation problems. By integrating neural networks, fuzzy logic and algorithmic models into one scheme, this framework has learning ability, integration capability of both expert knowledge and project data, good interpretability, and robustness to imprecise and uncertain inputs. Validation using industry project data shows that the framework produces good results when used to predict software cost.
Similar content being viewed by others
Abbreviations
- A ik :
-
Fuzzy set associated with the kth rating level for contributing factor i
- ARF i :
-
Adjusted rating value for contributing factor i
- E :
-
Total weighted squared relative errors for all projects
- EM i :
-
Effort multiplier
- FM i :
-
Numerical value for contributing factor i
- FMP ik :
-
Parameter value associated with the kth rating level for contributing factor i
- IINC(F):
-
Index set of increasing contributing factors
- IDEC(F):
-
Index set of decreasing contributing factors
- M o :
-
Software output metric
- M on :
-
Estimated value of Mo for project n
- M odn :
-
Desired (actual) value of Mo for project n
- N :
-
Number of contributing factors
- N AM2 :
-
Number of non-rating variables in the algorithmic model
- N i :
-
Number of rating levels for contributing factor i
- NN:
-
Total number of project data points
- NFB:
-
Neuro-fuzzy bank
- NFB i :
-
ith element of the neuro-fuzzy bank
- P=(PNFB, PPNF, PAM2):
-
The parameter vector including all adjustable parameters in our soft computing framework
- \( P_{{\text{NFB}}} = ({\text{FMP}}_{11} ,{\text{FMP}}_{12} , \ldots ,{\text{FMP}}_{1N_1 } , \ldots ,{\text{FMP}}_{N1} ,FMP_{N2} , \ldots ,{\text{FMP}}_{{\text{NN}}_N } ) \) :
-
The parameter vector in the neuro-fuzzy bank
- P PNF :
-
Parameter vector in the preprocessing neuro-fuzzy subsystem
- P AM2 :
-
1× NAM2 parameter vector in the algorithmic model
- PFP ik :
-
Parameter value associated with the kth fuzzy if-then rule in PNFIS
- PNF, PNFIS:
-
Preprocessing neuro-fuzzy inference system
- RF i :
-
Rating value for contributing factor i
- SCF:
-
Soft computing framework
- SF i :
-
Scale factor
- Size:
-
The size of software project
- w n :
-
Weight of project n
- \(X = ({\text{RF}}_1 ,{\text{RF}}_{2,} \ldots ,{\text{R}}F_N ,V_1 ,V_2 , \ldots ,V_{N_{{\text{AM}}2} } )\) :
-
Input vector consisting of contributing factors and non-rating variables
- X n :
-
Vector value of X for project n
References
Boehm BW (1981) Software engineering economics. Prentice Hall, Englewood Cliffs
Boehm BW et al (2000) Software cost estimation with COCOMO II. Prentice Hall, Englewood Cliffs
Chulani S (1999) Bayesian analysis of software cost and quality models. Doctoral dissertation, Department Computer Science, University of Southern California
Gray A, MacDonell S (1997) A comparison of techniques for developing predictive models of software metrics. Inf Softw Technol 39(6):425–437
Ho D (1996) Experience report on COCOMO and the costar tool from Nortel’s Toronto laboratory. In: 11th international forum on COCOMO and software cost modeling, Los Angeles
Idri A, Abran A, Kjiri L (2000) COCOMO cost model using fuzzy logic. In: 7th international conference on fuzzy theory and technology
Idri A, Khoshgoftaar TM, Abran A (2002) Can neural networks be easily interpreted in software cost estimation? In: IEEE international conference on fuzzy systems. pp 1162–1167
Jang RJS (1993) ANFIS: adaptive-network-based fuzzy inference system. IEEE Trans Syst Man Cybern 23:665–685
MacDonell S, Gray A (1997) A comparison of modeling techniques for software development effort prediction. In: International conference on neural information processing and intelligent information systems. Springer, pp 869–872
Maxwell KD (2002) Applied statistics for software engineers. Prentice Hall, Englewood cliffs
Maxwell KD, Forselius P (2000) Benchmarking software development productivity. IEEE Softw 17(1):80–88
Panlilio-Yap N, Ho D (1994) Deploying software estimation technology and tools: the IBM SWS Toronto Lab experience. In: 9th international forum on COCOMO and software cost modeling, Los Angeles
Pedrycz W (2002) Computational intelligence and visual computing: an emerging technology for software engineering. Soft Comput 7:33–44
Putnam L, Myers W (1992) Measures for excellence. Yourdon Press, Englewood Cliffs
Ryder J (1998) Fuzzy modeling of software effort prediction. In: IEEE conference on information technology. pp 53–56
Shepperd M, Schofield M (1997) Estimating software project effort using analogies. IEEE Trans Softw Eng 23(12):736–743
Takaki T, Sugeno M (1985) Fuzzy identification of systems and its application to modeling and control. IEEE Trans Syst Man Cybern 15:116–132
Wittig G, Finnie G (1997) Estimating software development effort with connectionist models. Inf Softw Technol 39:469–476
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Huang, X., Ho, D., Ren, J. et al. A soft computing framework for software effort estimation. Soft Comput 10, 170–177 (2006). https://doi.org/10.1007/s00500-004-0442-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-004-0442-z