Explain the COCOMO Model & Software Estimation Technique.
Answer:
The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by Barry Boehm. The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics.
Basic COCOMO computes software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (SLOC).
COCOMO FEATURES
COCOMO applies to three classes of software projects:
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.
The basic COCOMO equations take the form:
Detailed COCOMO
The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by Barry Boehm. The model uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics.
Basic COCOMO computes software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (SLOC).
COCOMO FEATURES
- Development cost and schedule estimates
- 3 levels of fidelity
- Macro and micro estimation
- Sensitivity analysis
- Software adaptation, conversion costs
- Software maintenance costs
- Calibration to user environment
COCOMO applies to three classes of software projects:
- Organic projects - "small" teams with "good" experience working with "less than rigid" requirements
- Semi-detached projects - "medium" teams with mixed experience working with a mix of rigid and less than rigid requirements
- Embedded projects - developed within a set of "tight" constraints. It is also combination of organic and semi-detached projects.(hardware, software, operational, ...)
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.
The basic COCOMO equations take the form:
· Effort Applied (E)= ab(KLOC)bb [ man-months ]
· Development Time (D)= cb(Effort Applied)db [months]
· People required (P)= Effort Applied / Development Time [count]
where, KLOC is the estimated number of delivered lines (expressed in thousands ) of code for project. The coefficients ab, bb, cband db are given in the following table:
Software project
|
ab
|
bb
|
cb
|
db
|
Organic
|
2.4
|
1.05
|
2.5
|
0.38
|
Semi-detached
|
3.0
|
1.12
|
2.5
|
0.35
|
Embedded
|
3.6
|
1.20
|
2.5
|
0.32
|
Intermediate COCOMO
Intermediate COCOMO computes software development effort as function of program size and a set of "cost drivers" that include subjective assessment of product, hardware, personnel and project attributes.
The Intermediate Cocomo formula now takes the form:
E=ai(KLoC)(bi).EAF
where E is the effort applied in person-months, KLoC is the estimated number of thousands 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
|
- Detailed COCOMO incorporates all characteristics of the intermediate version with an assessment of the cost driver's impact on each step (analysis, design, etc.) of the software engineering process.
- In detailed COCOMO, the effort is calculated as function of program size and a set of cost drivers given according to each phase of software life cycle. A Detailed project schedule is never static.
- plan and requirement.
- system design.
- detailed design.
- modulecode and test.
- integration and test.
No comments:
Post a Comment