0% found this document useful (0 votes)
181 views6 pages

Software Cost Estimation PDF

This document discusses software cost estimation techniques. It provides an overview of several popular techniques for estimating the effort and cost of software development projects, including algorithmic methods like COCOMO, non-algorithmic methods like expert judgment, and machine learning models like neural networks. The document analyzes the advantages and limitations of different approaches and emphasizes that accurate estimation requires understanding the project requirements and using a combination of techniques. Overall, the document serves as a review of common software cost estimation methods.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
181 views6 pages

Software Cost Estimation PDF

This document discusses software cost estimation techniques. It provides an overview of several popular techniques for estimating the effort and cost of software development projects, including algorithmic methods like COCOMO, non-algorithmic methods like expert judgment, and machine learning models like neural networks. The document analyzes the advantages and limitations of different approaches and emphasizes that accurate estimation requires understanding the project requirements and using a combination of techniques. Overall, the document serves as a review of common software cost estimation methods.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856

National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

A Study On Software Cost Estimation


Josephin.M.Baby Anusha M.E , Rajeswari Mukesh M.E, Ph.d
Hindustan Institute of Technology and Science,
[email protected], [email protected]

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

ISBN NO: 978-93-80609-14-0


International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856
National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

estimation model, which integrates valuable expert expert.


knowledge. Understanding the adversity in applying neural ii. Each expert presents his own estimation (without
networks, Nasser Tadayon has proposed a dynamic neural discussing with others)
network that will initially use COCOMO II Model. iii. The coordinator gathers all forms and sums up them
COCOMO, however, has some limitations. It cannot (including mean or median) on a form and asks
effectively deal with imprecise and uncertain information, experts to start iteration.
and calibration of COCOMO is one of the most important iv. Steps (ii-iii) are repeated until an approval is
tasks that need to be done in order to get accurate gained.
estimations. So, there is always scope for developing effort 3) Machine learning Models
estimation models with better predictive accuracy. Most techniques about software cost estimation use
The rest of this paper is organized as follows: statistical methods, which are not able to present reason and
Section 3 describes the Software Cost Estimation strong results. Machine learning approaches could be
Techniques, Section 4 introduces the comparison of the appropriate at this filed because they can increase the
Estimation methods, Section 5 Future Work and finally accuracy of estimation by training rules of estimation and
section 6 includes conclusion. repeating the run cycles. Machine learning methods could
be categorized into two main methods, which are explained
3.1 ESTIMATION TECHNIQUES in the next subsections.
Generally, there are many methods for software cost a) Neural networks
estimation, which are divided into two groups: Algorithmic Neural networks include several layers which each layer is
and Non-algorithmic. Using of the both groups is required composed of several elements called neuron. Neurons, by
for performing the accurate estimation. If the requirements investigating the weights defined for inputs, produce the
are known better, their performance will be better. In this outputs. Outputs will be the actual effort, which is the main
section, some popular estimation methods are discussed. goal of estimation.
Back propagation neural network is the best
a. Non Algorithmic Methods(NA)
selection for software estimation problem because it adjusts
Contrary to the Algorithmic methods, methods of this
the weights by comparing the network outputs and actual
group are based on analytical comparisons and inferences.
results. In addition, training is done effectively. Majority of
For using the Non Algorithmic methods some information researches on using the neural networks for software cost
about the previous projects which are similar the under estimation.
estimate project is required and usually estimation process
in these methods is done according to the analysis of the b) Fuzzy Method
previous datasets. Here, three methods have been selected All systems, which work based on the fuzzy logic try to
for the assessing because these methods are more popular simulate human behavior and reasoning. In many problems,
than the other None Algorithmic methods and many papers which decision making is very difficult and conditions are
about their usage have been published in the recent years.. vague, fuzzy systems are an efficient tool in such situations.
1. Estimation By Analogy This technique always supports the facts that may be
In this method, several similar completed software ignored. There are four stages in the fuzzy approach:
projects are noticed and estimation of effort and cost are Stage 1: Fuzzification: to produce trapezoidal numbers for
done according to their actual cost and effort. Estimation the linguistic terms.
based on analogy is accomplished at the total system Stage 2: to develop the complexity matrix by producing a
levels and subsystem levels. By assessing the results of new linguistic term.
previous actual projects, we can estimate the cost and Stage 3: to determine the productivity rate and the attempt
effort of a similar project. The steps of this method are for the new linguistic terms.
considered as: Stage 4: Defuzzification: to determine the effort required to
i. Choosing of analogy complete a task and to compare the existing method.
ii. Investigating similarities and differences
iii. Examining of analogy quality b. Algorithmic Models(A)
iv. Providing the estimation To date most work carried out in the software cost
estimation field has focused on algorithmic cost modeling.
2) Expert judgment In this process costs, are analyzed using mathematical
Estimation based on Expert judgment is done by getting formulae linking costs or inputs with metrics to produce an
advices from experts who have extensive experiences in estimated output. The formulae used in a formal model arise
similar projects. This method is usually used when there is from the analysis of historical data. The accuracy of the
limitation in finding data and gathering requirements. model can be improved by calibrating the model to your
Consultation is the basic issue in this method. One of the specific development environment, which basically involves
most common methods which works according to this adjusting the weightings of the metrics. There are a variety
technique, is Delphi. Delphi arranges an especial meeting of different models available, the best known are
among the project experts and tries to achieve the true Boehm's COCOMO [BOEHM-81], Putman's SLIM, and
information about the project from their debates. Delphi Albrecht's' function points [ALBR-83]. In terms of the
includes some steps: estimation process, nearly all algorithmic models deviate
i. The coordinator gives an estimation form to each from the classical view of the cost estimation process.
ISBN NO: 978-93-80609-14-0
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856
National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

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.

Personnel factors: analyst capability; application 5) Seer-Sem


experience; programming capability; platform experience;
language and tool experience; personnel continuity; SEER-SEM model has been proposed in 1980 by Galorath
Project factors: multisite development; use of software tool; Inc (Galorath, 2006). Most parameters in this method are
required development schedule. commercial and, business projects usually use SEER-SEM
as their main estimation method. Size of the software is
1) Linear Models the most important feature in this method and a parameter
namely Se is defined as effective size. Se is computed by
Commonly linear models have the simple structure and determining the five indicators: newsize, existingsize,
trace a clear equation as shown in equation 1 below: reimp and retest . The effective size (Se) is calculated
n
Effort  a0   ai xi (1) using the equation 3 as shown below:
i 1
Se=Newsize+ExistingSize(0.4Redesign+0.25reimp+0.35
Where,a1,a2..,an are selected according to the project
information. Retest) (3)
2) Multiplicative models After computing the Se the estimated effort is calculated as
The form of the multiplicative model can be represented by shown in equation 4:
using the below equation 2: 0.4
n  S 
Effort  a0  a
0.2
xi
(2) Effort  td  D X e  (4)
i 1  Cte 
where, a1, …, an are selected according to the project Where D is relevant to the staffing aspects; it is
information . In this formula, only allowed values for x i determined based on the complexity degree in staffs
are -1,0 and +1. structure. Cte is computed according to productivity and
efficiency of the project method is used widely in
3) Source Line of Code commercial projects.

SLOC is an estimation parameter that illustrates the number 6) COCOMO


of all commands and data definition but it does not include
instructions such as comments, blanks, and continuation The COCOMO cost estimation model is used by thousands
lines. This parameter is usually used as an analogy based on of software project managers, and is based on a study of
an approach for the estimation. After computing the SLOC hundreds of software projects. Unlike other cost estimation
for software, its amount is compared with other projects models, COCOMO is an open model, so all of the details are
which their SLOC has been computed before, and the size of published
project is estimated. SLOC measures the size of project COCOMO-II is the latest version of COCOMO that
easily. After completing the project, all estimations are predicts the amount of effort based on Person-Month
compared with the actual ones. (PM) in the software projects. It uses function point or
line of code as the size metrics, Effort Multipliers and
Thousand Lines of Code (KSLOC) are used for estimation scale factors . Some rating levels are defined for scale
in large scale. Using this metric is common in many factors including very low, low, nominal, high, very high
estimation methods. SLOC Measuring seems very difficult and extra high. A quantitative value is assigned to each
at the early stages of the project because of the lack of rating level as its weight.
information about requirements. Since SLOC is computed

ISBN NO: 978-93-80609-14-0


International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856
National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

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

ISBN NO: 978-93-80609-14-0


International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856
National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

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.

ISBN NO: 978-93-80609-14-0


International Journal of Emerging Trends & Technology in Computer Science (IJETTCS) -Special Issue ISSN 2278-6856
National Conference on Architecture, Software systems and Green computing-2013(NCASG2013)

[30] Yinhuan, Z., W. Beizhan, et al. "Estimation of software


projects effort based on function point". Computer
Science & Education. ICCSE. 4th International
Conference on,2009.
[31] Moløkken, K., & Jørgensen, M.” A review of surveys on
software effort estimation. International Symposium on
Empirical Software Engineering”, 223-231. Retrieved
from ACM Digital Library database,2003.
AUTHOR

Josephin Anusha received BE.degree in


Computer Science and Engineering from St.Xaviers College of
Engineering and ME degree in Computer Science and Engineering
from Noorul Islam College of Engineering in 2003 and 2005,
respectively. During 2005-2007, she worked as a Lecturer in
Vemana Institute of Technology, Bangalore . During 2007 – Till
Date she is working in Software Industry.

ISBN NO: 978-93-80609-14-0

You might also like