Intermediate COCOMO
|
The Intermediate COCOMO is an extension of the Basic COCOMO to consider a set of "cost driver attributes" that can be grouped into four major categories, each with a number of subcategories:
- Product attributes
- Required software reliability
- Size of application database
- Complexity of the product
- Hardware attributes
- Run-time performance constraints
- Memory constraints
- Volatility of the virtual machine environment
- Required turnabout time
- Personnel attributes
- Analyst capability
- Software engineer capability
- Applications experience
- Virtual machine experience
- Programming language experience
- Project attributes
- Use of software tools
- Application of software engineering methods
- 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). Based on the rating, an effort multiplier is determined from the table below. The product of all effort multipliers results in an 'effort adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.
Ratings Very Very Extra Cost Drivers Low Low Nominal High High High Product attributes Required software reliability 0.75 0.88 1.00 1.15 1.40 Size of application database 0.94 1.00 1.08 1.16 Complexity of the product 0.70 0.85 1.00 1.15 1.30 1.65 Hardware attributes Run-time performance constraints 1.00 1.11 1.30 1.66 Memory constraints 1.00 1.06 1.21 1.56 Volatility of the virtual machine envionment 0.87 1.00 1.15 1.30 Required turnabout time 0.87 1.00 1.07 1.15 Personnel attributes Analyst capability 1.46 1.19 1.00 0.86 0.71 Software engineer capability 1.29 1.13 1.00 0.91 0.82 Applications experience 1.42 1.17 1.00 0.86 0.70 Virtual machine experience 1.21 1.10 1.00 0.90 Programming language experience 1.14 1.07 1.00 0.95 Project attributes Use of software tools 1.24 1.10 1.00 0.91 0.82 Application of software engineering methods 1.24 1.10 1.00 0.91 0.83 Required development schedule 1.23 1.08 1.00 1.04 1.10
The Intermediate Cocomo formula now takes the form...
- E=ai(LOC)(bi).EAF
where E is the effort applied in person-months, LOC is the estimated number of delivered lines of code for the project and EAF is the factor calculated above. The coefficient ai and the exponent bi are given in the next table.
Software project ai bi Organic 3.2 1.05 Semi-detached 3.0 1.12 Embedded 2.8 1.20
The Development time D is calculated from E in the same way as with Basic COCOMO.