Chap.
5
Software Effort Estimate
From Bob Hughes, Mike
Cotterell, Rajib Mall
5th edition SPM
On time, within budget and with the
required quality
Estimate effort with costs and
activity duration.
Where are estimates done
Strategic Planning
Feasibility study
System specification
Evaluation of suppliers proposal
Project planning
Problems with Over and Under
estimates
Overestimate: may cause the project
to take longer than it would
otherwise
Parkinsons Law: Work expands to fill
the time available
Brooks Law: Putting more people on a
late job makes it better
Basis for Software
Estimation
The need for historical Data : based on
past experience
Measure of Work:
SLOC(Source Lines of Code)
No precise definition
Difficult to estimate at start of the project
Only a code measure(not effort)
Programmer dependent
Does not consider code complexity
FP(Function Point)
Software Estimation
Techniques
Algorithmic Models: (Effort )
Expert Judgment
Analogy
Parkinsons: Staff effort available to do
the(Scope) project
Price to Win: Predict to (Price)cost require.
Top down: Overall estimate is broken down
onto effort required for component tasks
Bottom-up: Component tasks and individual
estimates are aggregated
A procedural code oriented
approach
Bottom up approach
Predict the number and type of
software modules in the final system
Estimate the SLOC for each module
Estimate the work(complexity and
Technical difficulty)
Calculate the work days effort:
Convert SLOC to effort
Top Down Approach and
Parametric(Alogorithmic) Models
Parametric Model Eg: Insurance to
cover or rebuild the property,
company gives parameters based on
no of stories, bricks by layer,
carpenter effort etc:
Effort = (System Size)*(Productivity
rate)
KLOC(Thousands of lines/code)
Eg: A is experienced ,40 days/1KLOC
Therefore he req. 80 days for 2 KLOC
B is less experiences and takes
55/KLOC
Therefore req. 55*2=110 days to
code 2KLOC
Productivity= Effort/Size
Effort = Const1+(Size*Constant2)
Albercht Function Point
Analysis
5 major Components(External Types)
External Input Types: transactions which
update internal computer file
External Output Types: Prints ,Displays
External Inquiry Types: No update onlu
display Info
Logical Internal Files
External Interface: File types allow for
Input and Output
Albrecth complexity
Multiplier