Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3. RESEARCH METHODOLOGY
3.1. Formulation of the Problem
Experiments have been conducted on the the dataset of NASA Projects [9] to develop an
effort estimation model. In this dataset, there is empirical data in terms of KLOC,
Methodology and Measured Effort values of 18 projects as shown in Table I.
Measured
Project ID KLOC Methodology Effort
1 90.2000 30.0000 115.8000
2 46.2000 20.0000 96.0000
3 46.5000 19.0000 79.0000
4 54.5000 20.0000 90.8000
5 31.1000 35.0000 39.6000
6 67.5000 29.0000 98.4000
7 12.8000 26.0000 18.9000
8 10.5000 34.0000 10.3000
9 21.5000 31.0000 28.5000
10 3.1000 26.0000 7.0000
11 4.2000 19.0000 9.0000
12 7.8000 31.0000 7.3000
13 2.1000 28.0000 5.0000
14 5.0000 29.0000 8.4000
15 78.6000 35.0000 98.7000
16 9.7000 27.0000 15.6000
17 12.5000 27.0000 23.9000
100.800
18 0 34.0000 138.3000
The data of first 13 projects is used as training data for the Neural Network and data of last 5
projects is used as testing data of the trained Neural Network. The neural network used is
Feed Forward Backpropagation based Neural Network that consists of two neurons in input
layer, two neurons in the hidden layer and one neuron in the output layer. In the testing
phase the calculated efforts and errors using different models is shown in Table II and
Table III respectively. The dataset consist of two variables namely KLOC and Methodology
respectively and third field is the Measured Effort for each project.
3.2 Evaluation Criterion
i) MRE, the Magnitude of Relative Error is defined as:
MRE = |(Effortactual – Effortestimated ) / Effortactual |
By averaging MREi over multiple projects n, Mean Magnitude of Relative Error (MMRE) is
obtained:
As MMRE is sensitive to individual predictions with excessively large MREs and a higher
score means worse prediction accuracy.
ii) In addition we used the measure prediction level Pred. This measure is often used in
literature. It is defined by:
Pred(p) = k/N;
Where, k is the number of observations with an MRE less than or equal to p and N is the total
number of observations. A common value of p is 0.25.
5. EXPERIMENTAL RESULTS
This section presents the results obtained when applying the FFBNN to the NASA
Projects dataset as given in the Table I. The experiment used the NASA Project dataset for
training and testing the neural network. Using MATLAB Neural Network Toolbox the
neural network model is created, trained with first 13 project data from Table I and remaining
5 project data were used to simulate and test the trained network. The reults obtained are
shown in the Table II.
3. CONCLUSION
This paper has presented an overview of a variety of software estimation techniques. It can be
concluded that today, almost no model can estimate the cost of software with a high degree of
accuracy due to the following reasons:
(1) A large number of interrelated factors influence the software
development process of a given development team and a large number of project
attributes, such as number of user screens, volatility of system requirements and the use
of reusable software components.
(2) Development environment is evolving continuously.
(3) Lack of measurement truly reflects the complexity of a software system.
To produce a better estimate, we must improve our understanding of these project attributes
and their causal relationships, model the impact of evolving environment, and develop
effective ways of measuring software complexity. Experience to date indicates that neural-net
and dynamics-based techniques are less mature than the other classes of techniques,
but that all classes of techniques are challenged by the rapid pace of change in software
technology. No one method or model should be preferred over all others. The key to arriving
at sound estimates is to a combination of different methods for accurately estimating software
costs and development time. A careful comparison of the results of several approaches helps
us in choosing the best one and produce realistic estimates.
4. REFERENCES
[1] J. W. Park R, W. Goethert, “Software cost and schedule esti-mating: A process
improvement initiative,” tech. rep., 1994.
[2] M. Shepper and C. Schofield, “Estimating software project effort using analogies,” IEEE
Tran. Software Engineering, vol. 23,pp. 736–743, 1997.
[3] T. S. Group, CHAOS Chronicles. PhD thesis, Standish Group Internet Report, 1995.
[4] M. Boraso, C. Montangero, and H. Sedehi, “Software cost estimation: An experimental
study of model performances,” tech. rep., 1996.
[5] O. Benediktsson, D. Dalcher, K. Reed, and M. Woodman, “COCOMO based effort
estimation for iterative and incremental software development,” Software Quality Journal,
vol. 11, pp. 265–281, 2003.
[6] T. Menzies, D. Port, Z. Chen, J. Hihn, and S. Stukes, “Validation methods for
calibrating software effort models,” in ICSE’05: Proceedings of the 27th international
conference on Software engineering, (New York, NY, USA), pp. 587–595, ACM Press,
2005.
[7] K. Pillai and S. Nair, “A model for software development effort and cost estimation,”
IEEE Trans. on Software Engineering, vol. 23, p. 485497, 1997.
[8] K. Peters, “Software project estimation,” Methods and Tools, vol. 8, no. 2, 2000.
[9] J. W. Bailey and V. R. Basili, “A meta model for software development resource
expenditure,” in Proceedings of the International Conference on Software Engineering, pp.
107–115, 1981.
[10] M. Shin and A. L. Goel, “Emprirical data modeling in software engineering using radial
basis functions,” IEEE Trans. on Software Engineering, pp. 567–576, 2000.