Lecture 5 ISE
Lecture 5 ISE
Estimation Techniques
Organizations need to make software effort and cost
estimates.
There are two types of technique that can be used to do
this:
Experience-based techniques
The estimate of future effort requirements is based on the
manager’s experience of past projects and the application domain.
Essentially, the manager makes an informed judgment of what the
effort requirements are likely to be.
Embedded
The major distinguishing factor of an embedded-mode
software project is a need to operate within tight
constraints. The product must operate within (is embedded
in) a strongly coupled complex of hardware, software,
regulations, and operational procedures such as an electronic
funds transfer system or an air traffic control system.
Estimation Techniques:
Algorithmic Cost Modeling
COCOMO
COCOMO II
OBJECT POINT ORIENTED
FUNCTION POINT ORIENTED
ESTIMATION COST MODELLING
Why Cost Estimation?
Cost Estimation is needed early for software pricing
Software Project
Category 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
Basic COCOMOModel: Equation
Basic COCOMOModel: Example
COCOMOII
COCOMO 81 was developed with the assumption that a
waterfall process would be used and that all software
would be developed from scratch.
39
14 Complexity Adjustment Factors (Cont’)
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the
design?
13. Is the system designed for multiple installations in
different organizations?
14. Is the application designed to facilitate change and
ease of use by the user?
40
Function Points (FP) and LOC
FPs can be used to estimate LOC depending
on the average number of LOC per FP for a
given language
LOC = AVC * number of function points
AVC is a language-dependent factor varying from
approximately 300 for assemble language to 12-40 for a
4GL
Relation Between FP& LOC
Software Information Domain Values
Number of files:
43
Steps In Calculating FP
1.Count the information domain values.
2. Assess the complexity of the values.
3. Calculate the raw FP (see table 1-2).
4. Rate the complexity factors to produce the complexity
adjustment value (CAV)
5. Calculate the adjusted FP as follows:
44
Function Point Metrics
Weighting Factor
Inputs x3 4 6 =
Outputs x4 5 7 =
Inquiries x3 4 6 =
Files x7 10 15 =
Interfaces x5 7 10 =
46
Complexity Adjustment Value
47
Example: Function Point -Oriented Metrics
If you were given, the information as below and
using table 1-3, assume that the weighting factor is
average, calculate what is the function point.
Number of files : 3
Number of external interfaces : 3
48
Example: Function Point -Oriented Metrics
Weighting Factor
49
Example: Function Point-Oriented Metrics
Assume that you were given that the complexity adjustment factor as
below:
Factor Value
1. Backup and recovery 0
2. Data communications 0
3. Distributed processing 0
4. Performance critical 3
5. Existing operating environment 0
6. On-line data entry 4
7. Input transaction over multiple screens 2
8. Master files updated on-line 0
9. Information domain values complex 2
10. Internal processing complex 2
11. Code designed for reuse 2
12. Conversion / installation in design 0
13. Multiple installations 0
14. Application designed for change 2
Sum of Complexity Factors: 17
Table 1-3
Example: Function Point -Oriented Metrics
Result :
51
Example: Function Point -Oriented Metrics
If the project involves 5 workers per month, calculate
the productivity.
Thus,
productivity = 111.52/5
= 22.30
52
Example: Function Point -Oriented Metrics
Cost = $ / FP
Documentation = pages / FP
53
Function Point Analysis
Because function point analysis is independent of
language used, development platform, etc. it can be
used to identify the productivity benefits of . . .
One programming language over another
One development platform over another
One development methodology over another
One programming department over another
Before-and-after gains in investing in programmer
training
And so forth …….
Function Point Characteristics
Advantages:
language independent, based on data known early in
project, good for estimation
Disadvantages:
calculation complexity, subjective assessments
55
Expected Software Size
Based on three-point factor
Compute Expected Software Size (S) as weighted
average of:
Optimistic estimate: S(opt)
Most likely estimate: S(ml)
Pessimistic estimate: S(pess)
S = {S(opt) +4S(ml) +S(pess) }/ 6
Beta probability distribution
Example 1: LOCApproach
A system is composed of 7 subsystems as below:
Given for each subsystem:
size in LOC
productivity metric: LOC/pm (pm: person month),
Cost metric: $/LOC
Calculate the system total cost in $ and effort in months
Example 1 – LOCApproach
Example 2: LOCApproach
Assuming
Estimated project LOC =33200
Organizational productivity (similar project type) =
620 LOC/p-m
Burdened labor rate = 8000 $/p-m
Then
Effort = 33200/620 = (53.6) = 54 p-m
Cost per LOC = 8000/620 = (12.9) = 13$/LOC
Project total Cost = 8000 * 54 = 432000$
Example 3: FPApproach
Example 3: FPApproach
Complexity Factor(cont…)
Example 3: FPApproach (cont…)
Example 4: FPApproach (cont.)
Assuming
Estimated FP = 400
Organization average productivity (similar project
type) = 6.5 FP/p-m (person-month)
Burdened labor rate = 8000 $/p-m
Then
Estimated effort = 400/6.5 = (61.53) = 62 p-m
Cost per FP = 8000/6.5 = 1231$/FP
Project cost = 8000 * 62 = 496000 $
Empirical Estimation Models -
Estimation Cost Modelling
Function Point Table
Example of FPA
Object Point Analysis - Screen
Object Point Analysis :
Complexity Weighting
Object Point Analysis –
Productivity Rate
Estimation Cost Modelling
A is an organization-dependent constant
B reflects the nonlinearity(disproportionate) effort for large projects
M is a multiplier reflecting product, process and people attributes