Effort Estimation
Effort Estimation
Effort Estimation
Effort Estimation
Estimating
Types
of Estimates
Macro Estimates
X
Micro Estimates
X
X
X
X
X
X
Develop
Make
the WBS/OBS.
bottom-up estimates.
Develop
Reconcile
2.
3.
4.
5.
6.
7.
Refining Estimates
Reasons
Adjusting
Estimates
Changing
(Top-down) Approaches
Consensus methods
Ratio methods
Apportion method
Learning curves
Project Estimate
Times
Costs
(Bottom-up)
Approaches
Template method
algorithmic
expert judgement
similar, completed projects
equate to available resources
Price-to-win
Top-down (global estimate)
Bottom-up (each component separately estimated)
Algorithmic
Models
COCOMO
ESTIMACS
ESTIPLAN
FAST
FUNCTION
POINTS
MAINSTAY
PRICE
SLIM
SOFTCOST-R
SPQR
TRW (Boehm)
Computer Associates (Rubin)
AGS Management Systems
Freiman Parametric Systems (Freiman)
IBM (Albrecht)
Mainstay Software Corporation
RCA
QSM (Putnam)
Reifer Consultants (Tausworthe)
Software Productivity Research (Jones)
lines of code
new versus old lines of code
function points
Why used?
early systems emphasis on coding
Criticisms
cross-language inconsistencies
within language counting variations
change in program structure can affect count
stimulates programmers to write lots of code
system-oriented, not user-oriented
{
int fahr;
for (fahr=LOWER; fahr <= UPPER; fahr=fahr+STEP)
printf(%4d %6.1f\n, fahr, (5.0/9.0)*(fahr-32));
}
Inputs
Internal
Files
Queries
Outputs
Function
Points
History
Non-code oriented size measure
Developed by IBM (A. Albrecht) in 1979, 1983
Now in use by more than 500 organizations
world-wide
What are they?
5 weighted functionality types
14 complexity factors
Functionality Types
EXTERNAL USER
input
type
output
type
inquiry
type
Internal
Logical File
External
Interface File
input type
output type
inquiry type
Application Boundary
Other Applications
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
data communications
distributed functions
performance
heavily used configuration
transaction rate
on-line data entry
end user efficiency
on-line update
complex processing
reusability
installation ease
operational ease
multiple sites
facilitates change
=0
=1
=2
=3
=4
=5
Function Point
Calculation
5
Function Counts = FC x w j
i
i 1 j 1
14
Function Points =FP FC .65 .01 ck
k 1
where
xi
wj
ck
= function i
= weight j
= complexity factor
- entity type
- Job name
- Job number
- Pay grade
Job Assignment - entity type
- Effective Date
- Salary
- Performance Rating
- Job Number (foreign key)
- Employee SSN (foreign key)
Job Description
- Job Number (foreign key)
- Line number (not known to users)
- Description line
Location Name
Address
Employee SSN (foreign key)
COUNTING STEPS:
-
Three ILFs:
- Employee
- Job
- Job Assignment
- not Job Description (logically part of Job)
- not Location (an EIF)
- not Salaried Employee (a Record Element Type)
- not Hourly Employee (a Record Element Type)
One EIF:
- Location
Record
Element
RecordTypes
Element
(RETs)
Types
Data Element
Data Types (DETs)
Element
Types
1-19 (DETs)
20-50
51+
(RETs)
51+
<2 1-19 Low 20-50
Low
Average
<2
Low
2-5 LowLow
Average Average
High
2-5
Low
Average
High
>5 Average
Average High
High
High
>5
High
Three ILFs:
Employee - 8 DETs and 2 RETs
Job - 4 DETs and 1 RET
Job Assignment - 5 DETs and 1 RET
One EIF: Location - 3 DETs and 1 RET
Low
External
Input
External
Output
Logical
Internal
File
External
Interface
File
External
Inquiry
Average
High
x3
x4
x6
x4
x5
x7
3 x7
x10
x15
1 x5
x7
x10
x3
x4
x6
Employee
Add,
Maintenance
File Types
File Types
Referenced
Referenced
(FTRs)
(FTRs)
<2
2
>2
<2
2
>2
DataTypes (DETs)
Data Element
Element
Types
1-4
5-15
+15
(DETs)
Low
Low
Average
1-4
5-15
15+
Low
Average
High
Low
Low
Average
Average Average
High
High
Low
High
Average
High
High
External
Input
External
Output
Logical
Internal
File
External
Interface
File
External
Inquiry
Low
Average
High
6 x3
2 x4
2 x6
x4
x5
x7
x7
x10
x15
x5
x7
x10
x3
x4
x6
Add,
Maintenance
Average
High
x3
x4
x6
1 x4
3 x5
x7
x7
x10
x15
x5
x7
x10
x3
x4
x6
Maintenance
Employee Inquiry- 2 FTRs and 9 DETs (output)
Job Maintenance
Job Inquiry - 1 FTR and 4 DETs (output)
Job Assignment Maintenance
Job Assignment Inquiry- 1 FTR and 5 DETs (output)
Location Reporting
Location Inquiry - 2 FTRs and 5 DETs (output)
EQ Unadjusted FPs
Low
External
Input
External
Output
Logical
Internal
File
External
Interface
File
External
Inquiry
Average
High
x3
x4
x6
x4
x5
x7
x7
x10
x15
x5
x7
x10
3 x3
1 x4
x6
Low
Average High
6 x3
2 x4
2 x6
1 x4
3 x5
x7
3 x7
x10
x15
1 x5
x7
x10
3 x3
1 x4
x6
Rule
Rule