UNIT V - 3 Estimation - Software - Projects
UNIT V - 3 Estimation - Software - Projects
All copyright information MUST appear if these slides are posted on a website for student
use.
1
Software Project
Planning
The overall goal of project planning is to
establish a pragmatic strategy for controlling,
tracking, and monitoring a complex technical
project.
Why?
So the end result gets done on time, with quality!
2
Project Planning Task
Set-I
1. Establish project scope
2. Determine feasibility
3. Analyze risks
1. Risk analysis already discussed in
Project Management chapter.
4. Define required resources
1. Determine require human resources
2. Define reusable software resources
3. Identify environmental resources
3
Project Planning Task
Set-II
5. Estimate cost and effort
Decompose the problem
Develop two or more estimates using size,
size
function points, process tasks or use-cases
Reconcile the estimates
experience
access to good historical information (metrics)
the courage to commit to quantitative predictions
when qualitative information is all that exists
5
Write it Down!
6
To Understand
Scope ...
Understand the customers needs
understand the business context
understand the project boundaries
understand the customer’s
motivation
understand the likely paths for
change
Even when
understand that you
... understand,
nothing is guaranteed!
7
What is Scope?
Software scope describes
the functions and features that are to be
delivered to end-users
the data that are input and output
the “content” that is presented to users as a
consequence of using the software
the performance, constraints, interfaces, and
reliability that bound the system.
Scope is defined using one of two
techniques:
• A narrative description of software scope is
developed after communication with all
stakeholders.
• A set of use-cases is developed by end-users.
8
Resources
9
Project Estimation
Project scope must be
understood
Elaboration (decomposition) is
necessary
10
Estimation
Techniques
Past (similar) project experience
Conventional estimation
techniques
task breakdown and effort estimates
size (e.g., FP) estimates
Empirical models
Automated tools
11
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.
12
Functional
Decomposition
Statement functional
of decomposition
Scope
Perform a
Grammatical
“parse”
13
Conventional Methods:
1. LOC/FP Approach
compute LOC/FP using estimates
of information domain values
use historical data to build
estimates for the project
14
Example: LOC
Approach
16
Example: FP
Approach
framework activities
project characteristics
calibration factors
LOC/FP data
exponent
effort = tuning coefficient * size
usually derived
as person-months empirically
of effort required derived
23
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. 24
The Software Equation
A dynamic multivariable model
where
E = effort in person-months or
person-years
t = project duration in months or
years
B = “special skills factor”
Pto =
These slides are designed “productivity
accompany Software Engineering: A parameter”
Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by
Roger Pressman. 25
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 for support classes:
Interface type Multiplier
No GUI 2.0
Text-based user interface 2.25
GUI 2.5
Complex GUI 3.0
$450,000
difficult (0.70)
build
$275,000
minor changes
(0.40)
reuse
system X $310,000
simple (0.20)
major
changes
buy (0.60) $490,000
complex (0.80)
$400,000
major changes (0.30)
$500,000
with changes (0.40)