1. Putnam Resource allocation model
• Putnam studied the problem of staffing of software projects
and found that the software development has characteristics
very similar to other R & D projects studied by Norden and
that the Rayleigh-Norden curve can be used to relate the
number of delivered lines of code to the effort and the time
required to develop the project.
• analyzing a large number of army projects, Putnam derived
the following expression:
3. • K is the total effort expended (in PM) in the product
development and L is the product size in KLOC.
• td corresponds to the time of system and integration
testing. Therefore, td can be approximately
considered as the time required to develop the
software.
• Ck is the state of technology constant and reflects
constraints that impede the progress of the
programmer.
4. • Typical values of Ck = 2 for poor development environment
(no methodology, poor documentation, and review, etc.),
• Ck = 8 for good software development environment (software
engineering principles are adhered to),
• Ck = 11 for an excellent environment (in addition to following
software engineering principles, automated tools and
techniques are used). The exact value of Ck for a specific
project can be computed from the historical data of the
organization developing it.
5. For example, if the estimated development time is 1 year, then in order to
develop the product in 6 months, the total effort required to develop the
product (and hence the project cost) increases 16 times.
6.
7. Basic COCOMO
• Basic model aim at estimating ,in a quick and rough
fashion ,most of the small to medium sized software
projects
• These models of software development are
considered in this model: organic, semi -detected
and embedded
• KLOC (thousands of lines of code) is a traditional
measure of how large a computer program is or how
long or how many people it will take to write it.
8.
9. Organic:
A development project can be considered of organic type, if
the project deals with developing a well understood
application program, the size of the development team is
reasonably small, and the team members are experienced in
developing similar types of projects.
Semidetached:
A development project can be considered of semidetached
type, if the development consists of a mixture of experienced
and inexperienced staff. Team members may have limited
experience on related systems but may be unfamiliar with
some aspects of the system being developed.
10. Embedded:
A development project is considered to be of
embedded type, if the software being
developed is strongly coupled to complex
hardware, or if the stringent regulations on
the operational procedures exist.
11.
12.
13. Basic COCOMO model
• The basic COCOMO model gives an approximate estimate of
the project parameters. The basic COCOMO estimation model
is given by the following expressions:
14.
15. Example
• A project size of 200 KLOC is to be developed.
Software development team has average
experience on similar type of projects. The
project schedule is not very tight. Calculate
the effort, development time, average staff
size and productivity of the project.
17. Example
• Assume that the size of software project has
been estimated to be 32,000 lines of code.
Determine the effort required to develop the
software product and nominal development
time.
18. Example
• Suppose that a project was estimated to be
400 KLOC. Calculate the effort and
development time for each of the three
modes i.e., organic, semidetached and
embedded.
19.
20. Intermediate Model
• Basic model allowed for quick and rough estimate
but it resulted in lack of accuracy
• So Bohem introduced an additional set of 15
predictors called cost drivers in intermediate model
to take account of the software development
environment
• Cost drivers are used to adjust the normal cost of the
project to the actual project environment, hence
increasing the accuracy of the estimate.
• These cost drivers grouped in to four categories:-
29. Detailed COCOMO Model
• Large amount of work has been done by
Bohem to capture all significant aspects of
software development
• It offers a means for processing all the project
characteristics to construct software estimate.
30. COCOMO-II
• Revised version of the original COCOMO
• It provide quantitative analytic framework and
set of tools and techniques for evaluating the
effect of software technology improvement on
software development life cycle cost and
schedule.