Software Cost Estimation PDF
Software Cost Estimation PDF
Abstract: Software Cost Estimation is one of the most other hand, uses formulae based on global assumptions,
important part in software development. It involves in such as the rate at which developer solves problems and the
estimating the effort and cost in terms of money to complete the number of problems available. Most cost models are based
software development. Software Cost Estimation is very on the size measure, such as Lines of Code and Function
important when lines of code for the particular project exceeds
certain limit, also when the software deployed with too many
Points, obtained from size estimation. The accuracy of size
bugs and uncovered requirements the project will go incomplete. estimation directly impacts the accuracy of cost estimation.
Software cost estimation of a project plays a vital role in But none of the above leads to an accurate estimate.
acceptance or rejection of its development. There have been lot
of Software cost estimation models in use. Appropriate cost 2. RELATED WORK
estimation guarantees software to finish on budget and time.
The conclusion is that there is no technique available that is best In current situation of software industries, successful project
for all projects in every kind of scenarios. Hence a thorough completion within time is most important task for any
understand and a careful analysis is required for the industry. The management point of view effort prediction is
comparison of all methods in order to come up with best complicated task. Report says that around 65-80 per cent of
possible method which may lead to the most accurate and the project faces overrun of delivery date. Effort overrun
realistic estimates. This paper deals with the progress of finding directly proportional to cost overrun, so accurate effort
out best Software Cost Estimation method to give better prediction is also important. There are a lot many models
accuracy on Software Cost Estimation. available for prediction of software development effort and
cost. COCOMO (COnstructive COst MOdel)[27] is most
Keywords: project estimation, effort estimation, cost commonly used model. But machine learning methods for
estimation, COCOMO software prediction are more appropriate, because they are
more adaptable. When we are talking about specifically
1. INTRODUCTION software development effort prediction problem, the output
In the Competitive environment of Software Industry, the (effort value) of the system is very complexly dependent on
victorious organization will be the one, which the capability input parameters, such as size of the problem, experience
to develop and deliver the software product to the customers and many other. Now this complex relationship cannot be
or end-users within the promised period of time while described or expressed using simple mathematical
staying in financial budgetary boundaries. Hence proper equations. In such situations neural network is more suitable
estimates are the drivers which may steer to achieve the to use, the reason can easily understand if we see at
milestones. In other words it may be said it is quiet architecture of neural networks.
necessary to understand and control the cost by proper Many researchers have applied the neural networks
estimation for the proper management, enhanced quality approach to estimate software development effort. Many
and better understanding of the software project. The overall different models of neural networks have been proposed.
process of developing a cost estimate for software is not They may be grouped in two major categories. First one is
different from the process for estimating any other element feed forward networks where no loops in the network path
of cost. There are, however, aspects of the process that are occur. Another one is feedback networks that have
peculiar to software estimating. Some of the unique aspects recursive loops. The feed forward multilayer perceptron
of software estimating are driven by the nature of software with back propagation learning algorithm are the most
as a product. Other problems are created by the nature of the commonly used in the cost estimation field. Another study
estimating methodologies. Software cost estimation is a by Samson et al, uses an albus multilayer perceptron in
continuing activity which starts at the proposal stage and order to predict software effort. They use Boehm’s
continues through the lift time of a project. Continual cost COCOMO dataset. Srinivasan and Fisher report the use of
estimation is to ensure that the spending is in line with the a neural network with a back propagation learning
budget. algorithm. They found that the neural network outperformed
other techniques. Some primary work in the use of neural
In the last three decades, many quantitative software cost network in estimating software cost by Karunanithi et al.
Estimation models have been developed. They range model produced very accurate results, but the major setback in
uses data from previous projects to evaluate the current their work was due to the fact the accuracy of the result
project and derives the basic formulae from analysis of the relied heavily on the size of the training set. COCOMO is
particular database available. An analytical model, on the arguably the most popular and widely used software
These models work based on the especial algorithm. They based on language instructions, comparing the size of
usually need data at first and make results by using the software which uses different languages is too hard.
mathematical relations. Nowadays, many software Anyway, SLOC is the base of the estimation models in many
estimation methods use these models. Algorithmic Models complicated software estimation methods.
are classified into some different models. Each algorithmic
model uses an equation to do the estimation: 4) Function Point Size Estimates
The Differences among the existing algorithmic methods
are related to choose the cost factors and function. All cost At first, Albrecht (1983) presented Function Point metric to
factors using in these models are: measure the functionality of project. In this method,
estimation is done by determination of the following
Product factors: required reliability; product complexity; indicators, which are referred as User Inputs, User Outputs,
database size used; required reusability; documentation Logi Files, Inquiries and Interfaces.
match to life-cycle needs;
According to the previous experiences, function point could
Computer factors: execution time constraint; main storage be useful for software estimations because it could be
constraint; computer turnaround constraints; platform computed based on requirement specification in the early
volatility; stages of project.
Adapt to
COCOMO II has some special features, which Judgment on expert, Usually
especial
distinguish it from other ones. The Usage of this method is done incomplete
projects
is very wide and its results usually are accurate.
Language
free,
Equations 5 and 6 are used to estimate the effort and Mechanization is
Its results are
schedule as below: Function A hard to do ,
better than
17 Point quality of output
PM NS A * Size E * EM i
SLOC
(5) are not considered
j 1
Works based
5 on actual A lots of
Where E=B+0.01 SF
j 1
j, A 2.94, B 0.91 experiences, information about
NA
having past projects is
Analogy
TDEV C *( PM ) F
(6) especial
5 expert required, In some
Where F = D+0.2*0.01* SFj =D+0.2*(E-B)
j 1
is not situations there are
important no similar project
C = 3.67 , D = 0.28
There is no
7) Putman’s model Consistent
guideline for
This model has been proposed by Putman according to with unlike
Neural NA designing, The
manpower distribution and the examination of many databases,
Network performance
software projects (Kemerer,2008). The main equation for Power of
s depends on large
Putnam’s model is equation 7 as shown below: reasoning
training data
S EX ( Effort )1/3 td 4/3 (7)
where, E is the environment indicator and demonstrates Hard to use,
Training is Maintaining the
the environment ability. Td is the time of delivery. Effort NA not
and S are expressed by person-year and line of code degree of
Fuzzy required,
respectively. Putnam presented another formula for Effort meaningfulness is
Flexibility
as shown in equation 8: difficult
Effort D0 Xtd 3 (8)
V. FUTURE WORK
Where, D0 is the manpower build-up factor.
SLIM (Software Life Cycle Management) is a tool that We have tried to cover most of the models in our survey and
acts according to the Putnam’s model. for sure there are many remaining but what actually is
IV. COMPARISON OF THE COST ESTIMATION demonstrated through our research paper is that cost
METHODS estimation provide basis for better result in the field if
software development. Estimating the project using good
At this section according to the previous presented subjects, technique and according to the nature of the software, can
it is possible to compare mentioned estimation methods help in achieving better results in term of right allocation
based on advantages and disadvantages of them. This of resources, time and budget. Cost estimation is more
comparison could be useful for choosing an appropriate reliable and sophisticated and it can’t be neglected. For
method in a particular project. On the other hand, selecting proper management of any project, proper measurement
the estimation technique is done based on capabilities of must be adopted. So a deep study and analysis of Software
methods and state of the project. Below table shows a Cost Estimation methods and techniques is required by
comparison of mentioned methods for estimation. For doing estimators (Project Managers) in order to ensure the project
comparison, the popular existing estimation methods have to be completed on time and on budget. Our research is on
been selected. progress for developing a Software Cost Estimation method
TABLE I: Comparison of the existing with better accuracy compared to the above discussed
methods already existing SCE methods.
Method Type Advantages Disadvantages
VI. CONCLUSION
Much data is Finding the most important reason for the software project
required, It ‘s not failures has been the subject of many researches in last
COCOM A Clear results, decade. According to the results of several researches, the
suitable for any
O very common root cause for software project failures is inaccurate
project,
estimation in early stages of the project. So introducing and
Fast focusing on the estimation methods seems necessary for
Expert NA prediction, Its success depend achieving to the accurate and reliable estimations. In current
study most of the present estimation techniques have been Based Software Project Effort Estimation”. Software
illustrated systematically. Since software project managers Engineering Artificial Intelligence Networking and
are used to select the best estimation method based on the Parallel/Distributed Computing (SNPD), 11th ACIS
conditions and status of the project, describing and International Conference on,2010.
comprising of estimation techniques can be useful for [14] Fischman,L, K. McRitchie, and D.D. Galorath,” Inside
decreasing of the project failures. There is no estimation SEER-SEM”, CrossTalk, The Journal of Defense
Software Engineering, 2005.
method which can be present the best estimates in all
[15] Idri, A., S. Mbarki, et al. “ Validating and
various situations and each technique can be suitable in the
understanding software cost estimation models based on
special project. It is necessary understanding the principals neural networks”. Information and Communication
of each estimation method to choose the best. Because Technologies: From Theory to Applications, 2004.
performance of each estimation method depends on several Proceedings. 2004 .
parameters such as complexity of the project , duration of [16] Jørgensen, M.“Practical guidelines for expert-judg
the project, expertise of the staff, development method and ment-based software effort estimation”, IEEE Software,
so on. Some evaluation metrics and an actual estimation 2005.
example have been presented in this paper just for [17] Keung, J. W., B. A. Kitchenham, et al. "Analogy-
describing the performance of an estimation method. Trying Providing Statistical Inference to Analogy-Based
to improve the performance of the existing methods and Software Cost Estimation." Software Engineering,
introducing the new methods for estimation based on IEEE,2008.
today’s software project requirements is the future work of [18] Lavazza, L. and C. Garavaglia “Using function points to
our research. measure and estimate real-time and embedded software:
Experiences and guidelines”. Empirical Software
Engineering and Measurement ESEM 2009. 3rd
References
[1] Boehm, B. W., & Valerdi, R. “Achievements and International Symposium on,2009.
challenges in cocomo-based software resource [19] Li, J., J. Lin, et al.” Development of the Decision
Support System for Software Project Cost Estimation.
estimation”, IEEE Software, ,2008.
Information Science and Engineering”, 2008. ISISE '08.
[2] Jones, C. “Estimating software costs: Bringing realism to
International Symposium on,2008.
estimating (2nd ed.)”. New York, NY: McGraw-Hill,
[20] Li, Y. F., M. Xie, et al. “A study of genetic algorithm for
2007.
project selection for analogy based software cost
[3] Galorath, D. D., & Evans, M. W. “ Software sizing,
estimation. Industrial Engineering and Engineering
estimation, and risk management: When performance is
Management”, IEEE International Conference on,2007
measured performance improves”. Boca Raton, FL:
[21] Mahmud S. Alkoffash, Mohammed J. Bawaneh and
Auerbach,2006.
Adnan I. Al Rabea,”Which Software Cost Estimation
[4] Jianfeng, W., L. Shixian, et al. “ Improve Analogy-Based
Model to Choose in a Particular Project”, Journal of
Software Effort Estimation Using Principal Components
Computer Science, 2008.
Analysis and Correlation Weighting”. Software
[22] Maged A. Yahya, Rodina Ahmad, Sai Peck Lee,” Effects
Engineering Conference, 2009.
[5] Jorgensen, M., B. Boehm, et al. "Software Development of Software Process Maturity on COCOMO II’s Effort
Effort Estimation: Formal Models or Expert Judgment?" Estimation from CMMI Perspective”, IEEE , 2008 .
Software, IEEE,2009. [23] Musilek, P., W. Pedrycz, et al. “On the sensitivity of
[6] Attarzadeh,I. Siew Hock Ow, “Proposing a New COCOMO II software cost estimation model”. Software
Software Cost Estimation Model Based on Artificial Metrics, Proceedings. Eighth IEEE Symposium on,2002.
Neural Networks”,IEEE International Conference on [24] Moløkken, K., & Jørgensen, M.” A review of surveys on
Computer Engineering and Technology (ICCET). software effort estimation. International Symposium on
[7] Kemerer, C. “An empirical validation of software cost Empirical Software Engineering”, 223-231. Retrieved
estimation models”, Communications of the ACM, from ACM Digital Library database,2003.
,1987. [25] Shepperd, M., Schofield, C,” Estimating software project
[8] Albrecht.A.J. and J. E. Gaffney, “Software function, effort using analogies”.IEEE Transactions on Software
source lines of codes, and development effort prediction: Engineering.1997.
a software science validation”, IEEE Trans Software [26] Pressman, Roger S. ” Software Engineering: A
Eng. Practioner's Approach”, 6th Edn., McGraw-Hill New
[9] Attarzadeh, I. Siew Hock Ow,”Improving the accuracy of York, USA., ,2005
software cost estimation model based on a new fuzzy [27] Pahariya, J. S., V. Ravi, et al."Software cost estimation
logic model”. using computational intelligence techniques". Nature &
[10] Braz, M. R. and S. R. Vergilio . “Software Effort Biologically Inspired Computing, NaBIC 2009. World
Estimation Based on Use Cases”. Computer Software Congress on,2009.
and Applications Conference, COMPSAC '06. 30th [28] Sikka, G., A. Kaur, et al. " Estimating function points:
Annual International,2006. Using machine learning and regression models".
[11] Boehm,“Software Engineering Economics”, Prentice Education Technology and Computer (ICETC), 2nd
Hall,1981. International Conference on,2010.
[12] Chiu , N.H., Huang, S.J., “The adjusted analogy-based [29] Yahya, M. A., R. Ahmad, et al." Effects of software
software effort estimation based on similarity process maturity on COCOMO effort estimation from
distances”,2007. CMMI perspective". Research, Innovation and Vision for
[13] Cuadrado-Gallego, J. J., Rodri, et al. “Analogies and the Future, RIVF. IEEE International Conference
Differences between Machine Learning and Expert on,2008.