Cost Estimation
Cost Estimation
6
Software Cost Estimation Techniques
• Empirical techniques:
– an educated guess based on past experience.
• Heuristic techniques:
– assume that the characteristics to be estimated can
be expressed in terms of some mathematical
expression.
• Analytical techniques:
– derive the required results starting from certain
simple assumptions.
7
Software Size Metrics
• LOC (Lines of Code):
– Declarations ,Actual code including logic and
computations
– Blank lines : Include to improve readability
– Comments: Include to help in code understanding
as well as during maintenance.
12
for(i=0;i<10;i++) int a; // declaration
cout<<i; code comment
15
Function Point Metric
• Internal logical files
– The control information or logically related data that is present within system
• External Input:
– Data/control information that comes from outside our system.
• External Output:
– Data/control information that goes out of system after generation.
• External Inquiries:
– Combination of input and output resulting
16
Function Point Metric (CONT.)
17
Function Point Metric (CONT.)
• Proponents claim:
– FP is language independent.
– Size can be easily derived from problem
description
• Opponents claim:
– it is subjective --- Different people can come
up with different estimates for the same
problem.
18
• Step 1:
• Each function is ranked accordingly the complexity (low,
average, high)
• These are predefined weight for each FP in category
EI 3 4 6
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
ELF 5 7 10
Table A
• Step 2:
– Calculate unadjusted functions points by multiplying each FP
by its corresponding weight factors
UFP )
Example : 5EI=LOW
6EO=HIGH
UFP= (5*3+6*7)
= 57
• Step 3: calculate final functional point
• Final FP = UFP* CAF
28
COCOMO Model
• COCOMO (Constructive Cost MOdel) proposed by
Boehm.
• It is hierarchy of software cost estimation model
• It is classified into basic, Intermediate and detailed .
• Basic model :-
• Estimate cost in rough and quick manner
• Mostly used for small and medium size software.
• Three modes of development i.e. organic ,semidetached, embedded
• Organic:
» Relatively small groups
» working to develop well-understood applications.
• Semidetached:
» Project team consists of a mixture of experienced and inexperienced
staff.
• Embedded:
» The software is strongly coupled to complex hardware, or real-time
systems.
29
Organic Semidatached Embeded
33