In on the waterfall model of software development which

In todays’ scenario the number of large-scale
software projects are increasing day by day. Estimating or defining the size of
the software, the development time or the budget accurately is becoming more
and more difficult as the requirements, architecture and techniques are
becoming more complex. Hence, there is a need to identify the amount of effort
correctly. Software researchers and practitioners have been
addressing the problems of effort estimation for software development projects
since at least the 1960s.

Software development effort estimation is process of predicting the most realistic amount of effort
(expressed in terms of person-hours or money) required to develop or
maintain software based
on incomplete, uncertain and noisy input. Effort estimates helps in project
plans, iteration plans, budgets, investment analyses, pricing processes and
bidding rounds. Researchers have been
focusing on deducing an optimized software effort estimation models. The
early models were typically based on regression analysis or mathematically
derived from theories from other domains. Since then a high number of model
building approaches have been evaluated, such as approaches founded on case-based reasoning, classification and
regression tree simul-ation neural
networks, Bayesian statistics, lexical analy-sis of
requirement specifications, genetic programm-ing, linear programming, economic production mo-dels, soft
computing, fuzzy logic modelling, statistic-al bootstrapping,
and combinations of two or more of these models. The perhaps most common
estimation methods today are the parametric estimation models COCOMO,

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

The Constructive
Cost Model was developed by Barry W. Boehm in the late 1970s as a model
for estimating effort, cost, and schedule for software projects. It drew on a
study of 63 projects. The study examined projects ranging in size from 2,000 to
100,000 lines of code, and programming languages ranging from assembly to PL/I. These
projects were based on the waterfall model of
software development which was the prevalent software development process in
1981.COCOMO consists of a hierarchy of three increasingly detailed and accurate
forms. The first level, Basic
COCOMO is good for quick, early, rough order of magnitude estimates
of software costs, but its accuracy is limited due to its lack of factors to
account for difference in project attributes (Cost Drivers). Intermediate
COCOMO takes these Cost Drivers into account and Detailed COCOMO additionally
accounts for the influence of individual project phases.

In this
project we are trying to optimize the COCOMO model using genetic algorithms.
A genetic algorithm (GA) is a metaheuristic inspired by the
process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to
generate high-quality solutions to optimization and search problems by relying on
bio-inspired operators such as mutation, cross-over and selection. In a genetic algorithm, a pop-ulation of candidate solutions (called individuals, creatures, or phenotypes) to an optimization
problem is evolved toward better solutions. Each candidate solution has a set
of properties (its chromosomes or genotype) which can be mutated
and altered; traditionally, solutions are represented in binary as strings of
0s and 1s, but other encodings are also possible. We are trying to use this
algorithm to optimize the parameters of the COCOMO model so that more realistic
effort can be estimated. 


I'm Jamie!

Would you like to get a custom essay? How about receiving a customized one?

Check it out