02.04.2013 Views

CONTENTS

CONTENTS

CONTENTS

SHOW MORE
SHOW LESS

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).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!