Transparency Masters for Software Engineering: A

Download Report

Transcript Transparency Masters for Software Engineering: A

Supplementary Slides for
Software Engineering:
A Practitioner's Approach, 5/e
copyright © 1996, 2001
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
This presentation, slides, or hardcopy may NOT be used for
short courses, industry seminars, or consulting purposes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
1
Chapter 5
Software Project Planning
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
2
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!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
3
The Steps
Scoping—understand the problem and
the work that must be done
Estimation—how much effort? how
much time?
Risk—what can go wrong? how can we
avoid it? what can we do about it?
Schedule—how do we allocate
resources along the timeline? what are
the milestones?
Control strategy—how do we control
quality? how do we control change?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
4
Write it Down!
Project Scope
Estimates
Risks
Schedule
Control strategy
Software
Project
Plan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
5
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
understand that ...
Even when you understand,
nothing is guaranteed!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
6
Resources
People
Reusable software
components
Hardware / software tools
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
7
Cost Estimation
project scope must be explicitly
defined
task and/or functional
decomposition is necessary
historical measures (metrics) are
very helpful
at least two different techniques
should be used
remember that uncertainty is
inherent
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
8
Estimation Techniques
past (similar) project experience
conventional estimation techniques
 task breakdown and effort estimates
 size (e.g., FP) estimates
tools (e.g., Checkpoint)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
9
Software Sizing
“Fuzzy logic” – uses the approximate reasoning
techniques.
Function point – as discussed in Chapter 4
Standard component – Software is composed of
a number of different standard components
such as subsystems, modules, screens,
reports, ...
Change – the project encompasses the use of
existing software, so we estimate the number
and type of modifications.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
10
Conventional Methods:
LOC/FP Approach
compute LOC/FP using estimates of
information domain values
use baseline metrics collected from past
projects
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
11
Example: LOC Approach
Functions
e s tim ate d LOC
LOC/pm
$/LOC
Cos t
Effort (m onths )
UICF
2340
315
14
32,000
7.4
2DGA
5380
220
20
107,000
24.4
3DGA
6800
220
20
136,000
30.9
DSM
3350
240
18
60,000
13.9
CGDF
4950
200
22
109,000
24.7
PCF
2140
140
28
60,000
15.2
300
18
151,000
28.0
655,000
145.0
DAM
Totals
8400
33,360
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
12
Example: FP Approach
measurement parameter
weight
count
number of user inputs
40
x
4
=
160
number of user outputs
25
x
5
=
125
number of user inquiries
12
x
4
=
48
number of files
4
x
7
=
28
number of ext.interfaces
4
x
7
=
28
algorithms
60
x
3
=
180
count-total
569
complexity multiplier
.84
feature points
478
0.25 p-m / FP = 120 p-m
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
Empirical Estimation Models
General form:
effort = tuning coefficient * size
exponent
usually derived
as person-months
of effort required
either a constant or
a number derived based
on complexity of project
empirically
derived
usually LOC but
may also be
function point
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Estimation Guidelines
estimate using at least two techniques
get estimates from independent sources
avoid over-optimism, assume difficulties
you've arrived at an estimate, sleep on it
adjust for the people who'll be doing the
job—they have the highest impact
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
15
The Software Equation
E = [LOC * B 0.333/ p]
3
4
* (1/t )
E = effort in person-month or person-years
t = project duration in month or years
B = “special skills factor”
P = “productivity parameter”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
16
The Make-Buy Decision
Decision tree
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
17
Computing Expected Cost
expected cost =
(path probability) x (estimated path cost)
i
i
For example, the expected cost to build is:
expected cost build = 0.30($380K)+0.70($450K)
= $429 K
similarly,
expected cost reuse = $382K
expected cost buy = $267K
expected cost contr = $410K
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
18
Outsourcing
Strategic : business managers consider whether
a significant portion of software work can be
contracted to others
Tactical : project manager determines whether
part or all of a project can be best accomplished by
subcontracting the software work
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
19
Automated Estimation Tools
All performs these six generic functions:
Sizing of project deliverables
Selecting project activities
Predicating staffing levels
Predicating software effort
Predicating software cost
Predicating software schedules
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
20