written 8.4 years ago by |
Constructive Cost Model (COCOMO)
- COCOMO is one of the most widely used software estimation models in the world.
- This model is developed in 1981 by Barry Boehm to give estimation of number of man-months it will take to develop a software product.
- COCOMO predicts the efforts and schedule of software product based on size of software.
- COCOMO has three different models that reflect complexity
- Basic Model
- Intermediate Model
- Detailed Model
- Similarly, there are three classes of software projects.
Organic mode In this mode, relatively simple, small software projects with a small team are handled. Such team should have good application experience to less rigid requirements.
Semi-detached projects In this class intermediate project in which team with mixed experience level are handled. Such project may have mix of rigid and less than rigid requirements.
Embedded projects In this class, project with tight hardware, software and operational constraints are handled.
Each Model in detail
1. Basic Model
The basic COCOMO model estimate the software development effort using only Lines of code
Various equations in this model are
$$E = a_b KLOC^b_b \\ D = c_b E^d_b$$
Where, E is the effort applied in person-months,
D is the development time in chronological months and
KLOC is the estimated number of delivered lines of code for the project
2. Intermediate Model
This is extension of COCOMO model.
This estimation model makes use of set of “Cost Driver Attributes” to compute the cost of software.
I. Product attributes
a. required software reliability
b. size of application data base
c. complexity of the product
II. Hardware attributes
a. run-time performance constraints
b. memory constraints
c. volatility of the virtual machine environment
d. required turnaround time
III. Personnel attributes
a. analyst capability
b. software engineer capability
c. applications experience
d. virtual machine experience
e. programming language experience
IV. Project attributes
a. use of software tools
b. application of software engineering methods
c. required development schedule
Each of the 15 attributes is rated on a 6 point scale that ranges from "very low" to "extra high" (in importance or value).
The intermediate COCOMO model takes the form
$$E = a_i KLOC^ b_i \times EAF$$
Where, E is the effort applied in person-months and
KLOC is the estimated number of delivered lines of code for the project
3. Detailed COCOMO Model
The detailed model uses the same equation for estimation as the intermediate Model.
But detailed model can estimate the effort (E), duration (D), and person (P) of each of development phases, subsystem and models.
cocomo model : video