SlideShare a Scribd company logo
Prepared by :
Haitham Abdel-atty.
Fourat Adel
Supervised by :
Prof. Dr : Zaki Taha
Agenda
 Objectives
 Introduction
 Software productivity
 Estimation techniques
 Algorithmic cost modelling
 The COCOMO model
 Project duration and staffing
 Recent Trends
 References
Objectives
 Understanding the fundamentals of software
costing and reasons why the price of the software
may not be directly related to its development
cost.
 Understanding the three metrics that are used for
software productivity assessment .
 Understanding why different techniques should
be used for software estimation.
 Understanding the principles of the COCOMO 2
algorithmic cost estimation model.
Introduction
 Fundamental estimation questions
 How much effort is required to complete an
activity?
 How much calendar time is needed to complete an
activity?
 What is the total cost of each activity?
Introduction (Cont.)
 Computing the total cost of the software
development project involved :
 Hardware and software costs.
 Travel and training costs.
 Effort costs.
For most projects, the dominant cost is the effort cost. Computers
that are powerful enough for software development are relatively
cheap. Using electronic communications systems such as e-mail,
shared web sites and videoconferencing can significantly reduce
the travel required.
Introduction (Cont.)
 Effort costs
 Are not just the salaries of the software engineers who are involved in
the project , also include :
• Costs of providing, heating and lighting office space.
• Costs of support staff such as accountants, administrators, system
managers, cleaners and technicians.
• Costs of networking and communications.
• Costs of central facilities such as a library or recreational facilities.
• Costs of Social Security and employee benefits such as pensions
and health insurance.
Introduction (Cont.)
 Effort costs
 So that, organizations compute effort costs in terms of overhead
costs where they take the total cost of running the organization
and divide this by the number of productive staff.
 This overhead factor is usually at least twice the software
engineer’s salary, depending on the size of the organizations and
its associated overheads. Therefore, if a company pays a software
engineer $90,000 per year, its total costs are at least $180,000 per
year
 Pricing
 Classically, price is simply cost plus profit. However, the
relationship between the project cost and the price to the
customer is not usually so simple.
 Software pricing must take into account group of factors as
Market opportunity, Cost estimate uncertainty, Contractual
terms, Requirements volatility, Requirements volatility, and
Financial health
Introduction (Cont.)
 Software pricing factors
Introduction (Cont.)
 Software pricing factors
Introduction (Cont.)
Software productivity
 Productivity can be expressed as the ratio of output
to inputs used in the production process, i.e. output
per unit of input.
 Essentially, we want to measure useful functionality
produced per time unit.
 Productivity estimates are usually based on measuring attributes
of the software and dividing this by the total effort required for
development.
 There are two types of metric that have been used :
 Size-related metrics
 These are related to the size of some output from an activity. The
most commonly used size-related metric is lines of delivered
source code.
 Function-related metrics
 These are related to the overall functionality of the delivered
software. Function points and object points are the best-known
metrics of this type.
Software productivity (Cont.)
 Lines of code
 Lines of source code per programmer-month (LOC/pm) is a
widely used software productivity metric. You can compute
LOC/pm by counting the total number of lines of source code
that are delivered, then divide the count by the total time in
programmer-months required to complete the project.
 Lines of code metric is a programming language dependent ,
i.e. The lower level the language, the more productive the
programmer.
Software productivity (Cont.)
 For example, consider a software project that might be coded in
5,000 lines of assembly code or 1,500 lines of C. The assembler
programmer has a productivity higher than the high-level
language programmer.
Software productivity (Cont.)
 Function points
 Productivity is expressed as the number of function points
that are implemented per person-month.
 Function points can be computed by by measuring or
estimating the following program features :
 External inputs and outputs.
 User interactions.
 External interfaces.
 Files used by the system.
Software productivity (Cont.)
Software productivity (Cont.)
 Function points
 Some inputs and outputs, interactions. and so on are more
complex than others and take longer to implement. The
function-point metric takes this into account by multiplying the
initial function-point estimate by a complexity-weighting factor.
You should assess each of these features for complexity and
then assign the weighting factor that varies from 3 (for simple
external inputs) to 15 for complex internal files.
Software productivity (Cont.)
 Function points
 Unadjusted function-point count (UFC) can be computed by
multiplying each initial count by the estimated weight and summing
all values.
 Then modify UFC by multiply it by additional complexity factors
(degree of distributed processing, the amount of reuse, and so on.)
that are related to the complexity of the system as a whole to
produce a final function-point count for the overall system.
Software productivity (Cont.)
 Function points
 The advantage compared to size measurement (LOC/pm) is
that the complexity of the project is considered.
 The problem around function counting is that function-point
count in a program depends on the estimator. Different people
have different notions of complexity.
 Object points
 Are an alternative to function points. They can be used
with languages such as database programming languages
 Object points are not object classes that may be produced
when an object-oriented approach is taken to software
development.
Software productivity (Cont.)
 Object points
 The number of object points in a program is a weighted
estimate of :
 The number of separate screens that are displayed Simple screens
count as 1 object point, moderately complex screens count as 2,
and very complex screens count as 3 object points.
 The number of reports that are produced For simple reports,
count 2 object points, for moderately complex reports, count 5,
and difficult reports to produce , count 8 object points.
 The number of modules in programming languages such as Java
or C++ that must be developed to supplement the database
programming code Each of these modules counts as 10 object
points.
Software productivity (Cont.)
 Object points
 The advantage of object points over function points is that
they are easier to estimate from a high-level software
specification.
 Object points are only concerned with screens, reports and
modules. They are not concerned with implementation
details, and the complexity factor estimation is much
simpler.
Software productivity (Cont.)
 Factors affecting software engineering productivity
Software productivity (Cont.)
 Factors affecting software engineering productivity
Software productivity (Cont.)
 Algorithmic cost modelling.
 Expert judgement.
 Estimation by analogy.
 Parkinson's Law.
 Pricing to win.
Estimation techniques
 Algorithmic cost modelling :
 A model is developed using historical cost information
that relates some software metric (like its size) to the
project cost. An estimate is made of that metric and the
model predicts the effort required.
Estimation techniques (Cont.)
 Expert judgement :
 Several experts on the proposed software development
techniques and the application domain are consulted. They
each estimate the project cost. These estimates are
compared and discussed. The estimation process iterates
until an agreed estimate is reached.
Estimation techniques (Cont.)
 Estimation by analogy :
 This technique is applicable when other projects in the
same application domain have been completed. The cost
of a new project is estimated by analogy with these
completed projects.
Estimation techniques (Cont.)
 Parkinson's Law :
 Parkinson’s Law states that work expands to fill the time
available. The cost is determined by available resources
rather than by objective assessment. If the software has to
be delivered in 12 months and 5 people are available, the
effort required is estimated to be 60 person-months.
Estimation techniques (Cont.)
 Pricing to win :
 The software cost is estimated to be whatever the customer
has available to spend on the project. The estimated effort
depends on the customer’s budget and not on the software
functionality.
Estimation techniques (Cont.)
Algorithmic cost modelling
 Uses a mathematical formula to predict project costs
based on estimates of the project size, the number of
software engineers, and other process and product
factors.
 An algorithmic cost model can be built by analysing the
costs and attributes of completed projects and finding
the closest fit formula to actual experience.
Algorithmic cost modelling
 Effort in terms of person-months.
 A is a constant factor that depends on local
organizational practices and the type of software that is
developed.
 Size may be either an assessment of the code size of the
software or a functionality estimate.
 B usually lies between 1 and 1.5 (associated with the
size estimate).
 M is a multiplier made by combining process, product
and development attributes
i
Example:
Algorithmic models difficulties
1. It is often difficult to estimate Size at an early stage,
when only a specification is available.
2. The estimates of the factors contributing to B and M
are subjective. Estimates vary from one person to
another, depending on their background and experience
with the type of system that is being developed.
 Depends on the system information that is
available.
 If the initial estimate of effort required is x
months of effort, this range may be from 0.25x
to 4x when the system is first proposed.
The accuracy af the estimates
Fig1: Estimate uncertainty
 The COCOMO model is an empirical model that was
derived by collecting data from a large number of
software projects.
 These data were analyzed to discover formulae that
were the best fit to the observations.
 These formulae link the size of the system and product,
project and team factors to the effort to develop the
system.
The COCOMO model
 It is well documented, available in the public domain.
 It has been widely used and evaluated in a range of
organisations.
 It has a long pedigree from its first instantiation in 1981
Reasons to choose COCOMO model
 Three-level model where the levels corresponded to the
detail of the analysis of the cost estimate.
 The first level (basic) provided an initial rough
estimate.
 The second level modified this using a number of
project and process multipliers;
 The third level and the most detailed level produced
estimates for different phases of the project.
 Supports waterfall model of development
COCOMO I
 There have been radical changes to software development
since this initial version was proposed (ex:Prototyping and
incremental development)
 To take these changes into account, the COCOMO II model
recognises different approaches to software development.
 It supports a spiral model of development and embeds
several sub-models that produce increasingly detailed
estimates.
 An application-composition model
 An early design model
 A reuse model
 A post-architecture model
COCOMO II
COCOMO II Models
 It was introduced to support the estimation of effort
required for prototyping projects and for projects where
the software is developed by composing existing
components.
 PM is the effort estimate in person-months.
 NAP is the total number of application points in the delivered
system.
 %reuse is an estimate of the amount of reused code in the
development.
 PROD is the object-point productivity.
An application-composition model
 This model is used during early stages of the system
design after the requirements have been established.
 A should be 2.94 (Boehm)
 The size of the system is expressed in KSLOC, which is
the number of thousands of lines of source code.
 B reflects the increased effort required as the size of the
project increases
 M is based on a simplified set of seven project and
process characteristics that influence the estimate.
An early design model
 These characteristics used in the early design
model are
 Personnel capability (PERS)
 Product reliability and complexity (RCPX),
 Reuse required (RUSE),
 Platform difficulty(PDIF),
 Personnel experience (PREX),
 Schedule (SCED) and support facilities (FCIL).
An early design model (2)
i
Example:
 Is used to compute the effort required to integrate reusable
components and/or program code that is automatically generated by
design or program translation tools.
 For code that is automatically generated, the model estimates the
number of personmonths required to integrate this code.
 AT is the percentage of adapted code that is automatically generated
 ATPROD is the productivity of engineers in integrating such code
(2400 )
 Ex: if there is a total of 20,000 lines of white-box reused code in a
system and 30% of this is automatically generated, then the effort
required to integrate this generated code is: (20,000 * 30/100) /
2400 = 2.5 person months
A reuse model
 Once the system architecture has been designed, a more accurate
estimate of the software size can be made.
 The size estimate for the software should be more accurate by this
stage in the estimation process
 The estimate of the code size in the post-architecture model is
computed using three components:
1. An estimate of the total number of lines of new code to be
developed.
2. An estimate of the equivalent number of source lines of code
(ESLOC) calculated using the reuse model
3. An estimate of the number of lines of code that have to be
modified because of changes to the requirements.
A post-architecture model
 The relationship between the number of staff working
on a project, the total effort required and the
development time is not linear. (Why?)
 The time computation formula is the same for all
COCOMO levels:
 PM is the effort computation
 B is the exponent computed as discussed above
 (B is 1 for the early prototyping model).
Project duration and staffing
 Example: assume that 60 months of effort are
estimated to develop a software system Assume
that the value of exponent B is 1.17. From the
schedule equation, the time required to complete
the project is:
Project duration and staffing
 Learning Oriented Techniques
 It use prior and current knowledge to develop a software
estimation model. Neural network and analogy estimation
are examples.
 The neural network is trained with a series of inputs and
the correct output from the training data so as to minimize
the prediction error.
 Analogy Based Estimation is simple when provided a new
project for estimation, compare it with historical projects
to obtain the nearest project to estimate development cost
of the new project.
RECENT TRENDS
RECENT TRENDS
 Fuzzy Based Software Cost Estimation
 The effort is estimated using different
memberships function such as the Triangular
Membership Function, Gaussian Membership
Function and Trapezoidal Membership.
 Meta-heuristic and Genetic Algorithms
 are used for tuning parameters of COCOMO model
 It was observed that the model we proposed gives better
results when compared with the standard COCOMO
model.
RECENT TRENDS
 Bayesian Belief Network (BBNs)
 They are compact networks of probabilities that capture
the probabilistic relationship between variables, as well as
historical information about their relation ships.
 BBNs are very effective for modeling situations where
some information is already known and incoming data is
uncertain or partially unavailable.
 BBNs combine visual representation with a strong
mathematical background
 BBN may not cover all the cases that can appear.
RECENT TRENDS
References
1. Mukherjee, S., Bhattacharya, B., & Mandal, S. A SURVEY ON METRICS,
MODELS & TOOLS OF SOFTWARE COST ESTIMATION.
2. Waghmode, Swati, and Kishor Kolhe. "A Novel Way of Cost Estimation in
Software Project Development Based on Clustering Techniques.”
3. Bibi, S., I. Stamelos, and L. Angelis. "Bayesian belief networks as a software
productivity estimation tool." In 1st Balkan Conference in Informatics,
Thessaloniki, Greece. 2003.
4. Maleki, I., Ebrahimi, L., Jodati, S., & Ramesh, I. (2014). Analysis of Software Cost
Estimation Using Fuzzy Logic. International Journal in Foundations of Computer
Science & Technology (IJFCST), 4(3), 27-41.
5. Milos Hauskrecht, Bayesian belief networks Lecture, X4-8845, The University of
Pittsburgh
6. Hjalmarsson, Alexander, Matus Korman, and Robert Lagerström. "Software
Migration Project Cost Estimation using COCOMO II and Enterprise Architecture
Modeling." PoEM (Short Papers). 2013.
7. Odeh, Ayman Hussein. "Software Effort and Cost Estimation using Software
Requirement Specification." Science 2: 3.
8. Ian Sommerville,"Software Engineering",Addison-Wesley Longman Publishing
Co, England,8th ed,2007
9. Mizbah Fatima, “Fuzzy Based Software Cost Estimation Methods: A
Comparative Study”, International Journal for Innovative Research in Science,vol
1,dec 2014

More Related Content

What's hot

Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Dr. C.V. Suresh Babu
 
COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2
Awais Siddique
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Saurabh Bilgaiyan
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
Gagan Deep
 
Software review
Software reviewSoftware review
Software review
amjad_09
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
umair khan
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
NayyabMirTahir
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
Seema Kamble
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
ShudipPal
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05
Shahid Riaz
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
ShudipPal
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
rrajeeapec
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project Management
Syed Hassan Ali
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
Fáber D. Giraldo
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
NoorHameed6
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
Kanchana Devi
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
THARUNS44
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
Hoa Le
 

What's hot (20)

Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
Software review
Software reviewSoftware review
Software review
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project Management
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
 

Viewers also liked

Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
despicable me
 
Estimation techniques and software metrics
Estimation techniques and software metricsEstimation techniques and software metrics
Estimation techniques and software metrics
Mae Abigail Banquil
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
Indu Sharma Bhardwaj
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Massimo Felici
 
13 software metrics
13 software metrics13 software metrics
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
djview
 

Viewers also liked (6)

Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Estimation techniques and software metrics
Estimation techniques and software metricsEstimation techniques and software metrics
Estimation techniques and software metrics
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 

Similar to Software cost estimation

spm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.pptspm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.ppt
RidyaGupta1
 
cost factor.ppt
cost factor.pptcost factor.ppt
cost factor.ppt
AVUDAI1
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Ashis Kumar Chanda
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
PerumalPitchandi
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
ssuser7f90ae
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
SIMONTHOMAS S
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23koolkampus
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimationNur Islam
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
lokareminakshi
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
Bilal Hassan
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
lojob95766
 
Project management
Project managementProject management
Project managementAhmed Said
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
Arti Parab Academics
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
Sharbani Bhattacharya
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
vishal choudhary
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.gupta
yitoxay869
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
kiran Patel
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
YagnaGummadi
 

Similar to Software cost estimation (20)

Ch26
Ch26Ch26
Ch26
 
spm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.pptspm cost estmate slides for bca 4-195245927.ppt
spm cost estmate slides for bca 4-195245927.ppt
 
cost factor.ppt
cost factor.pptcost factor.ppt
cost factor.ppt
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
 
Project management
Project managementProject management
Project management
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.gupta
 
SE_Unit 2.pptx
SE_Unit 2.pptxSE_Unit 2.pptx
SE_Unit 2.pptx
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 

More from Haitham Ahmed

Time series
Time seriesTime series
Time series
Haitham Ahmed
 
Hidden markov model
Hidden markov modelHidden markov model
Hidden markov model
Haitham Ahmed
 
Image denoising
Image denoisingImage denoising
Image denoising
Haitham Ahmed
 
Comparison of image segmentation
Comparison of image segmentationComparison of image segmentation
Comparison of image segmentation
Haitham Ahmed
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
Haitham Ahmed
 
Color models
Color modelsColor models
Color models
Haitham Ahmed
 

More from Haitham Ahmed (6)

Time series
Time seriesTime series
Time series
 
Hidden markov model
Hidden markov modelHidden markov model
Hidden markov model
 
Image denoising
Image denoisingImage denoising
Image denoising
 
Comparison of image segmentation
Comparison of image segmentationComparison of image segmentation
Comparison of image segmentation
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
 
Color models
Color modelsColor models
Color models
 

Recently uploaded

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 

Recently uploaded (20)

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 

Software cost estimation

  • 1. Prepared by : Haitham Abdel-atty. Fourat Adel Supervised by : Prof. Dr : Zaki Taha
  • 2. Agenda  Objectives  Introduction  Software productivity  Estimation techniques  Algorithmic cost modelling  The COCOMO model  Project duration and staffing  Recent Trends  References
  • 3. Objectives  Understanding the fundamentals of software costing and reasons why the price of the software may not be directly related to its development cost.  Understanding the three metrics that are used for software productivity assessment .  Understanding why different techniques should be used for software estimation.  Understanding the principles of the COCOMO 2 algorithmic cost estimation model.
  • 4. Introduction  Fundamental estimation questions  How much effort is required to complete an activity?  How much calendar time is needed to complete an activity?  What is the total cost of each activity?
  • 5. Introduction (Cont.)  Computing the total cost of the software development project involved :  Hardware and software costs.  Travel and training costs.  Effort costs. For most projects, the dominant cost is the effort cost. Computers that are powerful enough for software development are relatively cheap. Using electronic communications systems such as e-mail, shared web sites and videoconferencing can significantly reduce the travel required.
  • 6. Introduction (Cont.)  Effort costs  Are not just the salaries of the software engineers who are involved in the project , also include : • Costs of providing, heating and lighting office space. • Costs of support staff such as accountants, administrators, system managers, cleaners and technicians. • Costs of networking and communications. • Costs of central facilities such as a library or recreational facilities. • Costs of Social Security and employee benefits such as pensions and health insurance.
  • 7. Introduction (Cont.)  Effort costs  So that, organizations compute effort costs in terms of overhead costs where they take the total cost of running the organization and divide this by the number of productive staff.  This overhead factor is usually at least twice the software engineer’s salary, depending on the size of the organizations and its associated overheads. Therefore, if a company pays a software engineer $90,000 per year, its total costs are at least $180,000 per year
  • 8.  Pricing  Classically, price is simply cost plus profit. However, the relationship between the project cost and the price to the customer is not usually so simple.  Software pricing must take into account group of factors as Market opportunity, Cost estimate uncertainty, Contractual terms, Requirements volatility, Requirements volatility, and Financial health Introduction (Cont.)
  • 9.  Software pricing factors Introduction (Cont.)
  • 10.  Software pricing factors Introduction (Cont.)
  • 11. Software productivity  Productivity can be expressed as the ratio of output to inputs used in the production process, i.e. output per unit of input.  Essentially, we want to measure useful functionality produced per time unit.
  • 12.  Productivity estimates are usually based on measuring attributes of the software and dividing this by the total effort required for development.  There are two types of metric that have been used :  Size-related metrics  These are related to the size of some output from an activity. The most commonly used size-related metric is lines of delivered source code.  Function-related metrics  These are related to the overall functionality of the delivered software. Function points and object points are the best-known metrics of this type. Software productivity (Cont.)
  • 13.  Lines of code  Lines of source code per programmer-month (LOC/pm) is a widely used software productivity metric. You can compute LOC/pm by counting the total number of lines of source code that are delivered, then divide the count by the total time in programmer-months required to complete the project.  Lines of code metric is a programming language dependent , i.e. The lower level the language, the more productive the programmer. Software productivity (Cont.)
  • 14.  For example, consider a software project that might be coded in 5,000 lines of assembly code or 1,500 lines of C. The assembler programmer has a productivity higher than the high-level language programmer. Software productivity (Cont.)
  • 15.  Function points  Productivity is expressed as the number of function points that are implemented per person-month.  Function points can be computed by by measuring or estimating the following program features :  External inputs and outputs.  User interactions.  External interfaces.  Files used by the system. Software productivity (Cont.)
  • 16. Software productivity (Cont.)  Function points  Some inputs and outputs, interactions. and so on are more complex than others and take longer to implement. The function-point metric takes this into account by multiplying the initial function-point estimate by a complexity-weighting factor. You should assess each of these features for complexity and then assign the weighting factor that varies from 3 (for simple external inputs) to 15 for complex internal files.
  • 17. Software productivity (Cont.)  Function points  Unadjusted function-point count (UFC) can be computed by multiplying each initial count by the estimated weight and summing all values.  Then modify UFC by multiply it by additional complexity factors (degree of distributed processing, the amount of reuse, and so on.) that are related to the complexity of the system as a whole to produce a final function-point count for the overall system.
  • 18. Software productivity (Cont.)  Function points  The advantage compared to size measurement (LOC/pm) is that the complexity of the project is considered.  The problem around function counting is that function-point count in a program depends on the estimator. Different people have different notions of complexity.
  • 19.  Object points  Are an alternative to function points. They can be used with languages such as database programming languages  Object points are not object classes that may be produced when an object-oriented approach is taken to software development. Software productivity (Cont.)
  • 20.  Object points  The number of object points in a program is a weighted estimate of :  The number of separate screens that are displayed Simple screens count as 1 object point, moderately complex screens count as 2, and very complex screens count as 3 object points.  The number of reports that are produced For simple reports, count 2 object points, for moderately complex reports, count 5, and difficult reports to produce , count 8 object points.  The number of modules in programming languages such as Java or C++ that must be developed to supplement the database programming code Each of these modules counts as 10 object points. Software productivity (Cont.)
  • 21.  Object points  The advantage of object points over function points is that they are easier to estimate from a high-level software specification.  Object points are only concerned with screens, reports and modules. They are not concerned with implementation details, and the complexity factor estimation is much simpler. Software productivity (Cont.)
  • 22.  Factors affecting software engineering productivity Software productivity (Cont.)
  • 23.  Factors affecting software engineering productivity Software productivity (Cont.)
  • 24.  Algorithmic cost modelling.  Expert judgement.  Estimation by analogy.  Parkinson's Law.  Pricing to win. Estimation techniques
  • 25.  Algorithmic cost modelling :  A model is developed using historical cost information that relates some software metric (like its size) to the project cost. An estimate is made of that metric and the model predicts the effort required. Estimation techniques (Cont.)
  • 26.  Expert judgement :  Several experts on the proposed software development techniques and the application domain are consulted. They each estimate the project cost. These estimates are compared and discussed. The estimation process iterates until an agreed estimate is reached. Estimation techniques (Cont.)
  • 27.  Estimation by analogy :  This technique is applicable when other projects in the same application domain have been completed. The cost of a new project is estimated by analogy with these completed projects. Estimation techniques (Cont.)
  • 28.  Parkinson's Law :  Parkinson’s Law states that work expands to fill the time available. The cost is determined by available resources rather than by objective assessment. If the software has to be delivered in 12 months and 5 people are available, the effort required is estimated to be 60 person-months. Estimation techniques (Cont.)
  • 29.  Pricing to win :  The software cost is estimated to be whatever the customer has available to spend on the project. The estimated effort depends on the customer’s budget and not on the software functionality. Estimation techniques (Cont.)
  • 30. Algorithmic cost modelling  Uses a mathematical formula to predict project costs based on estimates of the project size, the number of software engineers, and other process and product factors.  An algorithmic cost model can be built by analysing the costs and attributes of completed projects and finding the closest fit formula to actual experience.
  • 31. Algorithmic cost modelling  Effort in terms of person-months.  A is a constant factor that depends on local organizational practices and the type of software that is developed.  Size may be either an assessment of the code size of the software or a functionality estimate.  B usually lies between 1 and 1.5 (associated with the size estimate).  M is a multiplier made by combining process, product and development attributes
  • 33. Algorithmic models difficulties 1. It is often difficult to estimate Size at an early stage, when only a specification is available. 2. The estimates of the factors contributing to B and M are subjective. Estimates vary from one person to another, depending on their background and experience with the type of system that is being developed.
  • 34.  Depends on the system information that is available.  If the initial estimate of effort required is x months of effort, this range may be from 0.25x to 4x when the system is first proposed. The accuracy af the estimates Fig1: Estimate uncertainty
  • 35.  The COCOMO model is an empirical model that was derived by collecting data from a large number of software projects.  These data were analyzed to discover formulae that were the best fit to the observations.  These formulae link the size of the system and product, project and team factors to the effort to develop the system. The COCOMO model
  • 36.  It is well documented, available in the public domain.  It has been widely used and evaluated in a range of organisations.  It has a long pedigree from its first instantiation in 1981 Reasons to choose COCOMO model
  • 37.  Three-level model where the levels corresponded to the detail of the analysis of the cost estimate.  The first level (basic) provided an initial rough estimate.  The second level modified this using a number of project and process multipliers;  The third level and the most detailed level produced estimates for different phases of the project.  Supports waterfall model of development COCOMO I
  • 38.  There have been radical changes to software development since this initial version was proposed (ex:Prototyping and incremental development)  To take these changes into account, the COCOMO II model recognises different approaches to software development.  It supports a spiral model of development and embeds several sub-models that produce increasingly detailed estimates.  An application-composition model  An early design model  A reuse model  A post-architecture model COCOMO II
  • 40.  It was introduced to support the estimation of effort required for prototyping projects and for projects where the software is developed by composing existing components.  PM is the effort estimate in person-months.  NAP is the total number of application points in the delivered system.  %reuse is an estimate of the amount of reused code in the development.  PROD is the object-point productivity. An application-composition model
  • 41.  This model is used during early stages of the system design after the requirements have been established.  A should be 2.94 (Boehm)  The size of the system is expressed in KSLOC, which is the number of thousands of lines of source code.  B reflects the increased effort required as the size of the project increases  M is based on a simplified set of seven project and process characteristics that influence the estimate. An early design model
  • 42.  These characteristics used in the early design model are  Personnel capability (PERS)  Product reliability and complexity (RCPX),  Reuse required (RUSE),  Platform difficulty(PDIF),  Personnel experience (PREX),  Schedule (SCED) and support facilities (FCIL). An early design model (2)
  • 44.  Is used to compute the effort required to integrate reusable components and/or program code that is automatically generated by design or program translation tools.  For code that is automatically generated, the model estimates the number of personmonths required to integrate this code.  AT is the percentage of adapted code that is automatically generated  ATPROD is the productivity of engineers in integrating such code (2400 )  Ex: if there is a total of 20,000 lines of white-box reused code in a system and 30% of this is automatically generated, then the effort required to integrate this generated code is: (20,000 * 30/100) / 2400 = 2.5 person months A reuse model
  • 45.  Once the system architecture has been designed, a more accurate estimate of the software size can be made.  The size estimate for the software should be more accurate by this stage in the estimation process  The estimate of the code size in the post-architecture model is computed using three components: 1. An estimate of the total number of lines of new code to be developed. 2. An estimate of the equivalent number of source lines of code (ESLOC) calculated using the reuse model 3. An estimate of the number of lines of code that have to be modified because of changes to the requirements. A post-architecture model
  • 46.  The relationship between the number of staff working on a project, the total effort required and the development time is not linear. (Why?)  The time computation formula is the same for all COCOMO levels:  PM is the effort computation  B is the exponent computed as discussed above  (B is 1 for the early prototyping model). Project duration and staffing
  • 47.  Example: assume that 60 months of effort are estimated to develop a software system Assume that the value of exponent B is 1.17. From the schedule equation, the time required to complete the project is: Project duration and staffing
  • 48.  Learning Oriented Techniques  It use prior and current knowledge to develop a software estimation model. Neural network and analogy estimation are examples.  The neural network is trained with a series of inputs and the correct output from the training data so as to minimize the prediction error.  Analogy Based Estimation is simple when provided a new project for estimation, compare it with historical projects to obtain the nearest project to estimate development cost of the new project. RECENT TRENDS
  • 49. RECENT TRENDS  Fuzzy Based Software Cost Estimation  The effort is estimated using different memberships function such as the Triangular Membership Function, Gaussian Membership Function and Trapezoidal Membership.
  • 50.  Meta-heuristic and Genetic Algorithms  are used for tuning parameters of COCOMO model  It was observed that the model we proposed gives better results when compared with the standard COCOMO model. RECENT TRENDS
  • 51.  Bayesian Belief Network (BBNs)  They are compact networks of probabilities that capture the probabilistic relationship between variables, as well as historical information about their relation ships.  BBNs are very effective for modeling situations where some information is already known and incoming data is uncertain or partially unavailable.  BBNs combine visual representation with a strong mathematical background  BBN may not cover all the cases that can appear. RECENT TRENDS
  • 52. References 1. Mukherjee, S., Bhattacharya, B., & Mandal, S. A SURVEY ON METRICS, MODELS & TOOLS OF SOFTWARE COST ESTIMATION. 2. Waghmode, Swati, and Kishor Kolhe. "A Novel Way of Cost Estimation in Software Project Development Based on Clustering Techniques.” 3. Bibi, S., I. Stamelos, and L. Angelis. "Bayesian belief networks as a software productivity estimation tool." In 1st Balkan Conference in Informatics, Thessaloniki, Greece. 2003. 4. Maleki, I., Ebrahimi, L., Jodati, S., & Ramesh, I. (2014). Analysis of Software Cost Estimation Using Fuzzy Logic. International Journal in Foundations of Computer Science & Technology (IJFCST), 4(3), 27-41. 5. Milos Hauskrecht, Bayesian belief networks Lecture, X4-8845, The University of Pittsburgh 6. Hjalmarsson, Alexander, Matus Korman, and Robert Lagerström. "Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling." PoEM (Short Papers). 2013. 7. Odeh, Ayman Hussein. "Software Effort and Cost Estimation using Software Requirement Specification." Science 2: 3. 8. Ian Sommerville,"Software Engineering",Addison-Wesley Longman Publishing Co, England,8th ed,2007 9. Mizbah Fatima, “Fuzzy Based Software Cost Estimation Methods: A Comparative Study”, International Journal for Innovative Research in Science,vol 1,dec 2014