Documente Academic
Documente Profesional
Documente Cultură
z Purpose
• Estimating Software Cost and Effort
z Objectives:
• Algorithms and models for estimating different
aspect of Software
• Includes cost, effort, and size, and indirectly
schedule
• Shows
Sh the
th relation
l ti b between
t th
the above
b entities
titi
Measurement and MCS8301 - Software Engineering 2
Estimation I Management
Purpose of Cost estimation
z To estimate how much software-engineering time will be
required to do some work.
• Elapsed time
• The difference in time from the start date to the end
date of a task or project.
• Development effort
• The amount of labour used in person-months or
person-days.
• To convert an estimate of development effort to an
amountt off money:
You multiply it by the weighted average cost
(burdened cost) of employing a software
engineer for a month (or a day).
Measurement and MCS8301 - Software Engineering 3
Estimation I Management
Principles of effective Cost Estimation
z Principle 1: Divide and conquer.
• To make a better estimate,, you
y should divide the
project up into individual subsystems.
• Economic Consequences
• e.g.
e g wasted budget on non-delivered
non delivered projects
• Technical Consequences
q
• Example is low quality especially in the last tasks.
• Last tasks like testing, documentation, and training
can be very important.
• Managerial/Organizational Consequences
• Over-pressured staff
• Crisis
C i i mentality
t lit
Measurement and MCS8301 - Software Engineering 13
Estimation I Management
Meta-Model
z A generic cost estimation model using NASA data
z Methodology
• Tree charts
• Top down design
• Design formalisms
• Formal documentation
• Code reading
• Chief programmer teams
• Formal test plans
• Unit development folders
• Formal
F l training
t i i
Measurement and MCS8301 - Software Engineering 18
Estimation I Management
Groups of Factors
z Complexity
• Customer interface
• Customer-initiated design changes
• Application process
• Program flow
• Internal communication
• External communication
• Database
Measurement and MCS8301 - Software Engineering 19
Estimation I Management
Groups of Factors
z Experience
• Programmer qualifications
• Programmer experience with machine
• Programmer
g experience
p with language
g g
Boehm recommends using the 15 Cost Factors above to evaluate each Project
with each factor being assessed as being Very Low, Low, Nominal, High, Very
Hi h or E
High Extra
t Hi
Highh (plus
( l definitions)
d fi iti ) and
d associated
i t d with
ith multiplying
lti l i ffactor.
t
z Technology constant
constant, CC, combines the effect of using tools,
tools
languages, methodology, quality assurance procedures.
standards etc. It is determined on the basis of historical data
(past p
(p projects).
j )
z Complexity
• Not enough
g effort for estimation
z Infrequency
• Lack of experience
z Underestimation bias
• Human nature
z Goals not estimates
• Higher
Hi h managementt
Measurement and MCS8301 - Software Engineering 35
Estimation I Management
CBR in Effort Estimation
z COCOMO-2
COCOMO 2
• B = 1.01 + 0.01 × Σ Wi
• Precedentedness, flexibility, risk resolution, team cohesion,
and process maturity.
Measurement and MCS8301 - Software Engineering 42
Estimation I Management
Variations of COCOMO Model