21-09-2013, 04:14 PM
Seminar on Software Cost Estimation
Software Cost Estimation.pdf (Size: 548.13 KB / Downloads: 161)
ABSTRACT
The original COCOMO stands for Constructive Cost Model. The word "constructive" implies that the complexity
of the model can be understood because of the openness of the model, which permits exactly to know WHY
the model gives the estimates it does. The model was first published by Dr. Barry Boehm in 1981, and
reflected the software development practices of these days. Since this time many efforts were done in the
improvement of the software development techniques. Some of the changes were moving away from
mainframe overnight batch processing to real time applications, strenuousness in effort in building software
for reusing, new kind of system development in including off-the-shelf software components (COTS) and
spending as much effort on designing and managing the software development process as was once spent
creating the software product.
These changes urged to revise the existing model. By the joint efforts of USC-CSE (University of California,
Center for Software Engineering) and the COCOMO II Project Affiliate Organizations the COCOMO II model was
presented, which should remedy all deficiencies. This new, improved COCOMO (COCOMO II) is now ready to
assist professional software cost estimators.
OVERVIEW
The paper gives an overview of COCOMO. It is structured in two parts.
Part 1 (section 1) introduces COCOMO I or COCOMO '81 from Dr. Barry Boehm. This part is hold very short. It
summarizes only the most important issues. Because of the up-to-dateness more attention is given to part 2
(see below). COCOMO I provides a well-defined, open engineering basis for reasoning about the cost and
schedule implications of a software solution. Three levels are discussed and a conclusion shows the
advantages and drawbacks of the model. The detailed information about ratings and cost drivers can be found
in [Boehm 81].
Part 2 (section 2 to 10) deals with COCOMO II. At the beginning an overall context is given. The Model
Definition then presents the specific definitions of COCOMO II. The three-stage model is introduced followed by
the explanation of its quantities, estimating equations, scale factors, cost drivers and rating scales. The rating
scales themselves won't be discussed in this paper.
The section about the Bayesian approach gives a brief overview about this calibration process and summarizes
its results.
The emerging extensions are described in section 6. At the beginning of this section a status quo summarizes
the current state of these extensions as most of them are still experimental (the calibration and counting rules
aren't yet robust).
INTERMEDIATE COCOMO
The same basic equation for the model is used, but fifteen cost drivers are rated on a scale of 'very low' to 'very
high' to calculate the specific effort multiplier and each of them returns an adjustment factor which multiplied
yields in the total EAF (Effort Adjustment Factor). The adjustment factor is 1 for a cost driver that's judged as
normal.
In addition to the EAF, the model parameter "a" is slightly different in Intermediate COCOMO from the basic
model. The parameter "b" remains the same in both models.
ADA COCOMO
COCOMO has been continued to evolve and improve since its introduction. Beneath the "ADA COCOMO" model:
The model named "ADA_87" assumes that the ADA programming language is being used. The use of ADA made
it easier to develop highly reliable systems and to manage complex applications. The APM_88 model is based
upon a different "process model" called the ADA Process Model. Among the assumptions are:
§ ADA is used to produce compiler checked package specifications by the Product Design Review (PDR)
§ Small design teams are used
§ More effort is spent in requirements analysis and design
§ Less effort is spent in coding, integration, and testing
The APM_88 model incorporates changes to the equations, several cost drivers, and a variety of other tables.
For further information please contact [Boehm 81].
THE SCALE FACTORS
Most significant input to the COCOMO II model is size. Size is treated as a special cost driver in that it has an
exponential factor, E. This exponent is an aggregation of five scale factors. They are only used at the project
level for both the Early Design and the Post-Architecture model. All scale factors have qualitative rating levels
('extra low' to 'extra high'). Each scale factor is the subjective weighted average of its characteristics. The
ratings can be fount at [Boehm et. al 2000a].
COST DRIVERS
COCOMO II has 7 to 17 multiplicative factors that determine the effort required to complete a software project.
All cost drivers have qualitative rating levels ('extra low' to 'extra high') that express the impact of the driver and
a corresponding set of effort multiplier. The nominal level always has an effort multiplier (EM) of 1.00, which
does not change the estimated effort. So a cost driver's qualitative rating is translated into a quantitative one
for use in the model. The COCOMO II model can be used to estimate effort and schedule for the whole project
or for a project that consists of multiple modules. The size and cost driver ratings can be different for each
module, with the exception of the Required Development Schedule (SCED) cost driver and the scale factors.
In the Early Design model a reduced set of multiplicative cost drivers is used as shown in Table 6. The early
cost drivers are obtained by combining the Post-Architecture model cost drivers.
For example, if a project will develop software that controls an airplane's flight, the Required Software
Reliability (RELY) cost driver would be set to 'very high'. That rating corresponds to an effort multiplier of 1.26,
meaning that the project will require 26% more effort than a typical software project.