0% found this document useful (0 votes)
25 views16 pages

estimation-for-software-projects-chapter-26-ppt-230316074842-0dbfccf4 (1)

The document discusses estimation techniques for software projects, emphasizing the importance of understanding project scope, using historical metrics, and employing multiple estimation methods. It outlines various estimation techniques including conventional methods, empirical models, and automated tools, while also detailing accuracy factors and specific approaches for object-oriented and agile projects. Additionally, it introduces COCOMO II and the Software Equation as frameworks for estimating effort and cost in software development.

Uploaded by

ranjan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views16 pages

estimation-for-software-projects-chapter-26-ppt-230316074842-0dbfccf4 (1)

The document discusses estimation techniques for software projects, emphasizing the importance of understanding project scope, using historical metrics, and employing multiple estimation methods. It outlines various estimation techniques including conventional methods, empirical models, and automated tools, while also detailing accuracy factors and specific approaches for object-oriented and agile projects. Additionally, it introduces COCOMO II and the Software Equation as frameworks for estimating effort and cost in software development.

Uploaded by

ranjan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

 Estimation for Software Projects

Slides copyright © 1996, 2001, 2005, 2009 by Roger S.


Pressman

For non-profit educational use only


May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use
is prohibited without the express written permission of the author.

All copyright information MUST appear if these slides are posted on a website for
student use.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 1
Project Estimation
 Project scope must be
understood
 Elaboration (decomposition) is
necessary
 Historical metrics are very
helpful
 At least two different techniques
should be used

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 2
Estimation Techniques
 Past (similar) project experience
 Conventional estimation techniques
 task breakdown and effort estimates
 size (e.g., FP) estimates
 Empirical models
 Automated tools

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 3
Estimation Accuracy
 Predicated on …
 the degree to which the planner has properly
estimated the size of the product to be built
 the ability to translate the size estimate into human
effort, calendar time, and dollars (a function of the
availability of reliable software metrics from past
projects)
 the degree to which the project plan reflects the
abilities of the software team
 the stability of product requirements and the
environment that supports the software engineering
effort.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 4
Conventional Methods:
LOC/FP Approach
 compute LOC/FP using estimates of
information domain values
 use historical data to build estimates for
the project

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 5
Example: LOC Approach

Average productivity for systems of this type = 620 LOC/pm.


Burdened labor rate =$8000 per month, the cost per line of
code is approximately $13.
Based on the LOC estimate and the historical productivity
data, the total estimated project cost is $431,000 and the
estimated effort is 54 person-months.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 6
Example: FP Approach

The estimated number of FP is derived:


FPestimated = count-total 3 [0.65 + 0.01 3 S (Fi)]
FPestimated = 375 organizational
average productivity = 6.5 FP/pm.
burdened labor rate = $8000
per month, approximately $1230/FP.
Based on the FP estimate and the historical productivity
data, total estimated project cost is $461,000 and estimated effort is 58
person-months.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 7
Tool-Based Estimation

project characteristics

calibration factors

LOC/FP data

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 8
Estimation with Use-Cases
use cases scenarios pages Ź scenarios LOC LOC
User interf eace
subsystem
subsystem pages 6 10 6 estimate 560 3,366
Engineeringsubsystem
subsystem group 10 Ź
20 8 12Ź 16 5 8 3100 31,233
Inf rastructure subsystem
group e 5 6 5 Ź 10 6 1650 7,970
group subsystem group Ź Ź Ź Ź
Total LOC estimate Ź Ź Ź Ź 42,568
stimate
Using 620 LOC/pm as the average productivity for systems of
this type and a burdened labor rate of $8000 per month, the
cost per line of code is approximately $13. Based on the use-
case estimate and the historical productivity data, the total
estimated project cost is $552,000 and the estimated
effort is 68 person-months.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 9
Empirical Estimation Models
General form:

exponent
effort = tuning coefficient * size

usually derived
as person-months empirically
of effort required derived

usually LOC but


may also be
function point
either a constant or
a number derived based
on complexity of project

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 10
COCOMO-II
 COCOMO II is actually a hierarchy of
estimation models that address the following
areas:
• Application composition model. Used during the early
stages of software engineering, when prototyping of
user interfaces, consideration of software and system
interaction, assessment of performance, and
evaluation of technology maturity are paramount.
• Early design stage model. Used once requirements
have been stabilized and basic software architecture
has been established.
• Post-architecture-stage model. Used during the
construction of the software.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 11
The Software Equation
A dynamic multivariable model

E = [LOC x B0.333/P]3 x (1/t4)

where
E = effort in person-months or person-years
t = project duration in months or years
B = “special skills factor”
P = “productivity parameter”

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 12
Estimation for OO Projects-I
 Develop estimates using effort decomposition, FP analysis,
and any other method that is applicable for conventional
applications.
 Using object-oriented requirements modeling (Chapter 6),
develop use-cases and determine a count.
 From the analysis model, determine the number of key
classes
(called analysis classes in Chapter 6).
 Categorize the type of interface for the application and develop
amultiplier
Interfacefor support classes:
type Multiplier
 No GUI 2.0
 Text-based user interface 2.25
 GUI 2.5
 Complex GUI 3.0

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 13
Estimation for OO Projects-II
 Multiply the number of key classes (step 3) by the
multiplier to obtain an estimate for the number of support
classes.
 Multiply the total number of classes (key + support) by
the average number of work-units per class. Lorenz
and Kidd suggest 15 to 20 person-days per class.
 Cross check the class-based estimate by multiplying
the average number of work-units per use-case

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 14
Estimation for Agile Projects
 Each user scenario (a mini-use-case) is considered separately
for estimation purposes.
 The scenario is decomposed into the set of software
engineering tasks that will be required to develop it.
 Each task is estimated separately. Note: estimation can be
based on historical data, an empirical model, or “experience.”
 Alternatively, the ‘volume’ of the scenario can be estimated in LOC,
FP or some other volume-oriented measure (e.g., use-case count).
 Estimates for each task are summed to create an estimate for
the scenario.
 Alternatively, the volume estimate for the scenario is translated into
effort using historical data.
 The effort estimates for all scenarios that are to be implemented
for a given software increment are summed to develop the effort
estimate for the increment.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 15
The Make-Buy Decision

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 16

You might also like