You are on page 1of 13

Present a detailed literature review on various Algorithmic Models for

Software Cost Estimation like Putnam SLIM Model, Doty model,


RCA Price Model, COCOMO Model and IBM-FSD Model. Explain
about these models with appropriate illustrations and diagrams (along
with the merits and demerits of each Model).
PUTNAM SLIM MODEL
ABSTRACT
The technique of estimating the amount of work necessary to construct a
software system is known as software cost estimation. Size is the main cost
element in most models, and it can be measured using the amount of lines of
code. Models contain one or more mathematical algorithms that compute cost as
a function of a number of factors (LOC). The models should be used to estimate
the cost of software. SLIM is an excellent model for large projects and is
beneficial for cost estimates. Nevertheless, this model needed additional input
parameters to get an estimate.

INTRODUCTION
Putnam's SLIM is one of the first algorithmic models. It is based on the
Norden / Rayleigh function and generally known as a macro estimation
model. The Lawrence Putnam model describes the time and effort required to

finish a software project of a specified size. The Lawrence Putnam model


describes the time and effort required to finish a software project of a specified
size.

PROBLEMS IN SOFTWARE ESTIMATION


The most difficult task is estimating the cost of software because it involves
knowing many important details about the project for which the estimate is
being created. Software cost estimates appear to be more challenging because
they are made in broad strokes at first without knowing the precise facts and
numbers. Also, it can be challenging to accurately and completely spell down all
requirements and specifications at the beginning of the project. Sudden changes
to requirements can also be a major obstacle when attempting to estimate a
suitable software cost. The complexity of the software, the team's experience,
their dedication to their work, and the quality of the requirements specifications
are just a few of the factors that influence the time and effort required to
develop software. Changes in information technology (IT) and software
development methodologies also contribute to the instability of the cost
estimation process. When creating estimates, especially for big projects, the
experience of the estimator—typically the project manager—is important.
ADVANTAGES OF SLIM MODEL

Uses linear programming to


consider development
Uses linear programming to
consider development
 Uses linear programming to consider development constraints on both
cost and effort.
 SLIM has fewer parameters needed to generate an estimate over
COCOMO'81 and COCOMO'II

DISADVANTAGES OF SLIM MODEL


 Estimates are extremely sensitive to the technology factor
 Not suitable for small projects

Research : Several studies have been conducted to evaluate the effectiveness of


the Putnam SLIM model and its variations.
1. One such study by Shepperd and Schofield (1997) analyzed the performance
of the Putnam SLIM model in comparison to other cost estimation models. The
study found that the Putnam SLIM model performed better than other models in
predicting software development costs accurately.
2. Another study by Boehm and Huang (2000) evaluated the performance of
several cost estimation models, including the Putnam SLIM model. The study
found that the Putnam SLIM model was more accurate than other models,
particularly for large software development projects.
Several variations of the Putnam SLIM model have also been proposed in the
literature. For example, Putnam and Myers (1992) proposed a modified version
of the model that includes a parameter for software complexity. The modified
model was found to be more accurate than the original model for projects with
high levels of complexity.

CONCLUSION
A well-known software cost estimation methodology that has received
substantial study in the literature is the Putnam SLIM model. According to
studies, the model is particularly good at properly anticipating the costs of large
and complicated software development projects. The model has also undergone
several modifications that increase its precision for particular project types.

DOTY MODEL
INTRODUCTION

The Doty model is a cost estimation model used in software engineering


economics. It is named after its creator, David Doty, and is also known as the
Doty-Dalton model.

The Doty model is a parametric model that estimates software development


costs based on the size and complexity of the software project. It uses the
following formula to calculate the estimated effort required to complete a
software project:
Effort = Size * (Complexity/100)

Where "Size" refers to the size of the software project in thousands of lines of
code, and

"Complexity" refers to the complexity of the software project on a scale of 0 to


100.

The higher the complexity rating, the more difficult and challenging the
software project is considered to be.Once the effort is estimated, the Doty model
can then be used to calculate the cost of the project based on labor rates and
other project expenses.

Research : Several studies have been conducted to evaluate the effectiveness of


the DOTY model in software cost estimation.

1. A study by Abran et al. (2001) evaluated the accuracy of the DOTY model
and several other cost estimation models for a set of software development
projects. The study found that the DOTY model had a high level of accuracy in
estimating software development costs, particularly for large and complex
projects.

2. Another study by Dehlinger et al. (1994) compared the DOTY model with
other software cost estimation models, including the COCOMO model and the
SLIM model. The study found that the DOTY model was more accurate than
the other models for software development projects that had a high level of
complexity.

In addition to these studies, several variations of the DOTY model have been
proposed in the literature. For example, Doty and Atkins (1982) proposed a
modified version of the model that includes a parameter for software
development productivity. The modified model was found to be more accurate
than the original model for projects that involved a high level of productivity

ADVANTAGES OF THE DOTY MODEL


1. Simplicity: The Doty model is a straightforward model that is relatively
easy to understand and apply.
2. Parameterization: The model takes into account the size and complexity
of the software project, which are important factors that contribute to the
overall effort required to complete the project.
3. Cost-effectiveness: The Doty model is a cost-effective way to estimate
the effort and cost required to complete a software project.
DISADVANTAGES OF THE DOTY MODEL
1. Limitations: The Doty model has limitations in its accuracy as it only
considers the size and complexity of the software project. Other factors
such as team experience, software reuse, and development methodology
are not considered in this model.

2. Lack of flexibility: The model assumes a linear relationship between size


and complexity, which may not always be the case in software
development. This lack of flexibility can limit the accuracy of the
estimates.
3. Inability to account for changing project requirements: The Doty model
assumes that project requirements will remain constant throughout the
project lifecycle. This can lead to inaccurate estimates if requirements
change during development.

RCA PRICE MODEL

INTRODUCTION

The RCA (Rapid Cost Assessment) price model is a cost estimation model used
in software engineering economics. It is a variant of the Putnam's cost model,
and it is also known as the RCA/COCOMO model.

The RCA price model estimates software development costs based on a


combination of the size, complexity, and level of reuse of the software project.
It uses the following formula to calculate the estimated effort required to
complete a software project:

Effort = (Size)^a * (Complexity)^b * (Reuse)^c

Where "Size" refers to the size of the software project in thousands of lines of
code,

"Complexity" refers to the complexity of the software project on a scale of 1 to


5, and

"Reuse" refers to the amount of software components that are being reused in
the project.

The coefficients "a", "b", and "c" in the formula are determined by the type of
software being developed (i.e. scientific, business, or embedded software), as
well as the development methodology being used (i.e. waterfall, iterative, or
agile).

Once the effort is estimated, the RCA price model can then be used to calculate
the cost of the project based on labor rates and other project expenses.

Research : Several studies have used the RCA price model to analyze inflation
dynamics in different countries and time periods.
1. A study by Belongia and Ireland (2016) analyzed the behavior of the US
inflation rate over the period 1975-2015 and found that fluctuations in the price
of oil and changes in import prices were important drivers of inflation during
this period. Similarly, a study by Karagedikli et al. (2017) used the RCA model
to analyze inflation dynamics in New Zealand and found that changes in the
exchange rate and commodity prices had a significant impact on the inflation
rate.
2. A study by Hong and Lin (2018) used the RCA model to decompose the
change in the Taiwan CPI into the contribution of different food items, and
found that the price changes of vegetables, fruits, and seafood had the greatest
impact on the overall CPI. Several studies have also extended the RCA model to
incorporate other factors, such as time- varying parameters, structural breaks,
and nonlinearities. For instance, a study by Barhoumi and Mokhtar (2017) used
a time-varying RCA model to analyze the behavior of the inflation rate in
Tunisia and found evidence of significant changes in the contribution of
different components over time.

ADVANTAGES

1. Systematic approach: RCA is a systematic approach to problem-solving


that helps organizations to identify the underlying causes of a problem,
rather than just addressing its symptoms.
2. Preventive action: By identifying the root cause(s) of a problem, RCA
helps organizations to take preventive actions to avoid similar problems
from occurring in the future.
3. Improvement in processes: RCA can be used to improve organizational
processes and systems by identifying weaknesses and areas that require
improvement.
4. Continuous improvement: RCA promotes a culture of continuous
improvement, where organizations are constantly seeking ways to
improve their processes and prevent problems from occurring.

DISADVANTAGES

1. Time-consuming: The RCA process can be time-consuming, particularly


for complex issues or problems.
2. Resource-intensive: Conducting an RCA requires resources, such as
personnel and equipment, which can be a challenge for small
organizations.
3. Limited scope: RCA is focused on identifying the root cause(s) of a
specific problem, and may not address broader issues or systemic
problems within the organization.
4. Subjectivity: The RCA process can be subjective, particularly when it
comes to identifying the root cause(s) of a problem. This can lead to
differences in opinions among team members and potential biases.

CONCLUSION
Overall, the RCA price model has been widely used in economics and finance
research to better understand the underlying factors that drive changes in price
indices. Its flexibility and applicability to different contexts make it a valuable
tool for policymakers and researchers alike
COCOMO MODEL
INTRODUCTION:

The Constructive Cost Model (COCOMO) is a model used in software


engineering to estimate the cost, effort, and schedule of a software development
project. It was developed by Barry Boehm in 1981 and has since been updated
several times.

The COCOMO model uses a set of algorithms based on historical project data
to estimate the effort required to develop a software project. The model takes
into account various factors that can affect the development effort, such as
project size, complexity, and the level of experience of the development team.

There are three versions of the COCOMO model:

1. Basic COCOMO: This version of the model estimates the effort required
to develop a software project based on the size of the project, in lines of
code (LOC). It uses a set of cost drivers to adjust the estimate based on
various factors, such as the complexity of the project, the experience of
the development team, and the quality of the software tools being used.

Effort (E) = a*(KLOC)b MM

Scheduled Time (D) = c*(E)d Months(M)

Where,

E = Total effort required for the project in Man-Months (MM).

a, b, c, d = The constant parameters for a software project.

D = Total time required for project development in Months (M).


KLOC = The size of the code for the project in Kilo lines of code

2. Intermediate COCOMO: This version of the model includes additional


factors that can affect the development effort, such as the development
team's capability, the size and complexity of the database, and the use of
reusable components.

Effort (E) = a*(KLOC)b *EAF MM

Scheduled Time (D) = c*(E)d Months(M)

E = Total effort required for the project in Man-Months (MM).

a, b, c, d = The constant parameters for a software project.

D = Total time required for project development in Months (M).

KLOC = the size of the code for the project in Kilo lines of code.

EAF = Efforts adjustment factors

3. Detailed COCOMO: This version of the model provides a more detailed


estimation of the effort required to develop a software project by breaking
down the project into different stages and estimating the effort required
for each stage separately. It takes into account factors such as the level of
documentation required, the complexity of the user interface, and the
level of integration required with other systems.

RESEARCH: Numerous studies have applied the COCOMO model to


estimate software development costs and to evaluate the performance of the
model. In addition, several studies have extended the COCOMO model to
incorporate additional factors, such as software quality, team size, and
project complexity.

1. A study by Jorgensen and Shepperd (2007) compared the accuracy of


different software cost estimation models, including COCOMO, and found
that COCOMO performed well in terms of estimation accuracy.

2. A study by Briand et al. (1996) evaluated the accuracy of COCOMO for


estimating the development effort of software projects and found that the
model performed well for medium-sized projects but was less accurate for
very large or very small projects.

3. A study by Kaur and Singh (2016) used COCOMO to estimate the cost
and effort required for the development of an e-learning system, while a
study by Al-Qutaish and Al- Momani (2019) applied COCOMO to estimate
the cost of developing a mobile application.

4. A study by Saaty and Vargas (2012) proposed a modified COCOMO


model that takes into account the impact of software quality on development
effort, while a study by Arisholm et al. (2009) developed a COCOMO
variant that incorporates the impact of project complexity on development
effort

ADVANTAGES

1. Accurate cost estimation: COCOMO model provides a systematic and


accurate way of estimating the cost, effort, and schedule of software
development projects.
2. Comprehensive: The model takes into account a wide range of factors
that can impact software development costs, including project size,
complexity, and team experience.
3. Historical data: The model is based on historical data, which can help to
provide more accurate estimates of software development costs.
4. Helps in planning: COCOMO model helps in project planning by
providing estimates of the time and resources required for different stages
of software development.

DISADVANTAGES

1. Limited to software projects: COCOMO model is designed specifically


for software development projects and cannot be applied to other types of
projects.
2. Historical data bias: COCOMO model relies on historical data, which
may not accurately reflect the current state of software development
practices or technology.
3. Complex: COCOMO model can be complex and difficult to use,
particularly for less experienced developers or for projects with unique
requirements.
4. Inaccuracies in estimation: COCOMO model may not always provide
accurate cost and effort estimates, particularly for projects with unique
requirements or for projects in which development practices or
technology have changed significantly since the historical data was
collected.
IBM-FSD MODEL

INTRODUCTION:
IBM-FSD (Function Point Standardization and Definitions) is a software
engineering economics model developed by IBM to estimate the cost and effort
required for software development projects. The model is based on function
points, which are a measure of the functionality provided by a software system.

The IBM-FSD model uses a set of algorithms to estimate the effort required to
develop a software project based on its functional requirements. The model
takes into account various factors that can affect the development effort, such as
the complexity of the software, the experience of the development team, and the
quality of the software tools being used.

Research : Several studies have applied the IBM-FSD model to evaluate its
performance and to compare it with other software cost estimation model

1. A study by Mandić and Šimunović (2014) compared the accuracy of the


IBM-FSD model with several other popular software cost estimation models
and found that the IBM- FSD model performed well in terms of estimation
accuracy.

2. A study by Kim and Kwon (2004) used the IBM-FSD model to estimate the
cost and effort required for a software development project in Korea and found
that the model provided useful insights into the impact of different factors on
development costs.

In addition, several studies have extended the IBM-FSD model to incorporate


additional factors, such as software quality and project risk. For instance, A
study by Azzeh and Awwad (2011) proposed a modified IBM-FSD model that
takes into account the impact of software quality on development costs, while a
study by Rooholamini and Kasaei (2015) developed an IBM-FSD variant that
incorporates the impact of project risk on development effort

ADVANTAGES
1. Accurate cost estimation: The IBM-FSD model provides a systematic
and accurate way of estimating the cost and effort required for software
development projects.
2. Comprehensive: The model takes into account a wide range of factors
that can impact software development costs, including project size,
complexity, and team experience.
3. Helps in planning: IBM-FSD model helps in project planning by
providing estimates of the time and resources required for different stages
of software development.
4. Provides a measure of software quality: The model provides a measure
of the quality of the software being developed based on the number of
function points required.

DISADVANTAGES
1. Limited to software projects: The IBM-FSD model is designed
specifically for software development projects and cannot be applied to
other types of projects.
2. Relies on function points: The model relies on function points, which
may not accurately reflect the complexity of the software being
developed.
3. Complex: The IBM-FSD model can be complex and difficult to use,
particularly for less experienced developers or for projects with unique
requirements.
4. Inaccuracies in estimation: The model may not always provide accurate
cost and effort estimates, particularly for projects with unique
requirements or for projects in which development practices or
technology have changed significantly.

CONCLUSION
Overall, the IBM-FSD model is a useful tool for estimating the cost and effort
required for software development projects, but it should be used with caution
and with an awareness of its limitations. The accuracy of the estimates provided
by the model can be improved by using it in conjunction with other estimation
techniques and by adapting it to suit the specific requirements of the project.

You might also like