Ch6 Estimation Techniques COCOMO
Ch6 Estimation Techniques COCOMO
Estimation techniques
Algorithmic cost models are systematic ways to estimate the effort required
to develop a system.
However, these models are complex and difficult to use.
There are many attributes and considerable scope for uncertainty in
estimating their values.
An algorithmic model is:
2. Computer attributes
a. Execution time constraint (TIME)
b. Main store constraint (STOR)
c. Virtual machine volatility (VIRT)
d. Computer turnaround time (TURN)
The cost drivers are grouped into 4 categories:
3. Personnel attributes
a. System Analyst capability (ACAP)
b. Application experience (AEXP)
c. Programmer capability (PCAP)
d. Virtual machine experience (VEXP)
e. Programming Language experience (LEXP)
4. Project attributes
a. Morden programming practices (MODP)
b. Use of software tool (TOOL)
c. Required development schedule (SCED)
Ratings of the cost drivers
• Each cost driver is rated for a given project environment.
• The rating uses a scale; very low, low, nominal, high, very high, extra
high
which describes to what extent the cost driver applies to the project
being estimated.
Intermediate
Model
Equations
Example
of
Intermediate
Model
COCOMO
Detailed COCOMO Model
• A large amount of research is done by Boehm to define all significant aspects
of a software development.
• This model is a tool for processing all the project characteristics to perform a
software estimation.
Phase-Sensitive Effort Multipliers
• Some phases (design, programming, integration/test) are more affected
than other stages by factors defined in the cost drivers.
• This model helps in determining the man power allocation (MM) of each
phase for the project.
1. Planning/requirements:
• This is the first phase of the development cycle.
• The requirement is analyzed, the product plan is set up and a full
product specification is generated.
• This phase consumes from 6% to 8% of the effort and can take 10% to
40% of the total time required.
2. Product Design:
• The second phase of the COCOMO development cycle is concerned with
the determination of the architecture and the specification of the
subsystems.
• This phase requires from 16% to 18% of the effort and can take the 19%
to 38% of total time required.
Development Phase
3. Programming/Module Code-Test:
• The third phase of the COCOMO development cycle is divided into two
sub phases: detailed design and module code/unit test.
• This phase requires from 48% to 68% of the effort and can take 24%
to 64% of total time required.
4. Integration/test :
• This phase of the COCOMO development cycle occurs before delivery.
• This mainly consist of putting the tested parts together and then
testing the final product.
• This phase requires from 16% to 34% of the effort and can take from
18% to 34% of total time required.
Detailed COCOMO
Effort and
Schedule
ratings for
each phase of
SDLC
Advanced
COCOMO
Equations
SOLUTION
CONTINUE
If you don’t know KLOC?
COCOMO estimation models
Cost Estimation Process based on
Functional Point
Effort
Size Table
Development Time
Lines of Code
Estimation Process
Number of Use Case Number of Personnel
This table will give you a total Unadjusted Function Points (UFP) value
Unadjusted Function Point (UFP)
• STEP 3: Calculate the total UFP (Unadjusted Function Points)
• STEP 4: Calculate the total TCF (Technical Complexity Factor)
TCF=0.65+0.01*DI
• To calculate TCF, you have to calculate DI first from the
following points given.
•
Summarizes the complexity characteristics of the software system – assign grades (0 to 5) to
the 14 subjects that significantly affect the effort:
Importance of Factors
• 2. Distributed Data Processing
• 3. Performance Criteria
Each is a value
• 4. Heavily Utilized Hardware between 0 and 5
• 5. High Transaction Rates 0: No influence
• 6. Online Data Entry 1: Incidental
• 7. Online Updating 2: Moderate
• 8. End-user Efficiency 3: Average
• 9. Complex Computations 4: Significant
• 10. Reusability 5. Essential
• 11. Ease of Installation
• 12. Ease of Operation
• 13. Portability
• 14. Maintainability
Function Points(.....)
• STEP 5: Sum the resulting numbers to obtain DI (degree of influence)
• STEP 6: TCF (Technical Complexity Factor) by given by the formula
TCF=0.65+0.01*DI
• STEP 7: Function Points can be calculated by the formula
FP=UFP*TCF
or,
FP=UFP*[0.65+0.01*DI]
TCF
COCOMO EXAMPLE
EXAMPLE: Compute the FP for a SW project with the following information domain characteristics?
Number of user inputs: 30 (Simple)
Number of user outputs: 60 (Avg) ∑(Fi)Assume that all
Number of user inquiries: 24 (Complex) complexity adjustment values
Number of files: 8 (Avg) are “AVERAGE”.
Number of external interfaces: 2 (Avg) FP=UFP*[0.65+0.01*DI]
UFP
Complexity Factors ∑(Fi)Assume that all
complexity
• Technical Complexity Factors: adjustment values are
• 1. Data Communication “AVERAGE”.
• 2. Distributed Data Processing
• 3. Performance Criteria
• 4. Heavily Utilized Hardware
• 5. High Transaction Rates
• 6. Online Data Entry Each is a value between 0 and 5
• 7. Online Updating
•
•
8.
9.
End-user Efficiency
Complex Computations
0: No influence
• 10. Reusability 1: Incidental
•
•
11.
12.
Ease of Installation
Ease of Operation 2: Moderate
•
•
13.
14.
Portability
Maintainability
3: Average
DI=3x14=42 4: Significant
5. Essential
FP=UFP*[0.65+0.01*DI]
AFTER FINDING FP
YOU NEED TO CONVERT IT TO KLOC
Conversion FP <-> KLOC
ANSWER:
KLOC = 671x53
= 35563 LOC
= 35.5 KLOC
Assume that Intermediate COCOMO
Model is used…
Calculate Unadjusted Effort values EO, ES, and EE, according to INTERMEDIATE MODEL?
KLOC=35.5
Organic mode (EO = 3.2 * 35.51.05)= 136 PM
Semi-detached mode (ES = 3.0 * 35.51.12)= 163 PM
Embedded mode (EE = 2.8 * 35.51.20)= 202 PM
EAF=?
Calculate the EAF value according to the following cost-drivers:
ATTRIBUTE RATING
Realiability V high
Complexity V high
Memory Constarints V high
Tool Use Low
Schedule V Low
Cost Driver Very Low Nominal High Very Extra
Low High High
Required Reliability .75 .88 1.00 1.15 1.40 1.40
EAF
Execution Time Constraint 1.00 1.00 1.00 1.11 1.30 1.66
Comp Turn Around Time .87 .87 1.00 1.07 1.15 1.15
SSo=401/24=16.7 Man
SSs=480/21.7= 22.1 Man
SSE=596/19.3=30.8 Man