CONTENTS
CONTENTS
CONTENTS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
SOFTWARE COST ESTIMATION MODEL BASED ON NEURAL NETWORKS 209<br />
based on a type of Mean Square Error [8], or when a certain number of learning<br />
epochs has been performed.<br />
After stopping the learning process we have to measure the quality of the trained<br />
neural network. For this step we will use a validation set from the training set that<br />
was not presented in the learning phase to the neural network. If, the validation phase<br />
is producing an acceptable result, then the neural network can be used in production<br />
for cost estimations of real life software development projects.<br />
Because the COCOMO [18] training data set contains some attributes like person/months<br />
that have a high variation we have applied a logarithmic transformation<br />
in order to normalize such attributes.<br />
4.3. Experiments and simulations. We have implemented a neural network of<br />
Multi Layer Perceptron type with 2 hidden layers and we have applied an enhanced<br />
Back Propagation learning algorithm. Based on this implementation, after the learning<br />
and validation phase, we were able to perform realistic cost estimation for software<br />
development projects. During these experiments and simulation we have varied the<br />
parameters that are influencing the learning process in order to obtain the most efficient<br />
neural network model. The parameters that have been taken into account<br />
where: dimensionality of the training set, learning rate, number of neurons in the<br />
hidden layers, number of epochs [10].<br />
The simulations where performed using the COCOMO [18] dataset as training<br />
set. We have randomly chosen 40 projects to be included in the learning phase and<br />
the rest of 23 projects have been used for validation.<br />
5. Conclusions<br />
We have applied a new model based on neural networks for the cost estimation<br />
of the software development projects. The obtained results are promising and can<br />
be an important tool for project management of software development [14]. Based<br />
on the fundamental ability of the neural networks to learn from a historical training<br />
data set, we can use the experience contained in previously successful or unsuccessful<br />
estimations to make new reliable software cost estimations for software development<br />
projects.<br />
References<br />
[1] Al-Sakran H., Software cost estimation model based on integration of multi-agent and casebased<br />
reasoning. Journal of Computer Science, pag. 276-278, (2006).<br />
[2] Albrecht A., Gaffney J. Jr., Software function, source lines of code, and development effort<br />
prediction: A software science validation. IEEE Trans. Software Eng., vol. 9, pp. 639-648,<br />
(1983).<br />
[3] Boehm B., Software engineering economics, Englewood Cliffs, NJ:Prentice-Hall, ISBN 0-13-<br />
822122-7, (1981).<br />
[4] Boehm B., et al., Software cost estimation with COCOMO II, Englewood Cliffs, NJ:Prentice-<br />
Hall, ISBN 0-13-026692-2, (2000).<br />
[5] Cantone G., Cimitile A., De Carlini U., A comparison of models for software cost estimation<br />
and management of software projects. Computer Systems: Performance and Simulation,<br />
Elsevier Science Publishers B.V., (1986).