Module 2
Module 2
Step Wise: An
approach to planning
software projects
Step 1 establish project scope and
objectives
approach
» waterfall? Increments? Prototypes
– Major risk have been identified and broad project approach has been
decided.
– Re-estimate the effort and other resources required to implement the
project.
Step 4 Identify project products and activities
Module
Design Module
documents code
Progress
report
Tested
Overall Integration
Integrated
specification Test cases
software
Products description
Selection
products
Invitation
Volume Office User List of potential
To tender
figures layouts requirements suppliers
Existing Users
Test
System Modified
examples
description requirements
A Product breakdown structure[ PBS] for the products needed to produce an invitation to tender [ITT]
Step 4.2 :Document generic product flows
User requirements
Overall system
specification
Module
Design
Integration
System test cases
Module code
Integrated/
tested software
Step 4.3 Recognize product instances
Design
Integration
Test cases
Specify
Overall Design Code Test integrated
system Module A Module A software
Code
Design Module B
Module B
Step 4.5 modify the ideal to take into account need for stages
and checkpoints
project evaluation
Project Evaluation
• Strategic Assessment
• Used to assess whether a project fits in the long-term goal of
the organization
• Usually carried out by senior management
• Needs a strategic plan that clearly defines the objectives of the
organization
• Evaluates individual projects against the strategic plan or the
overall business objectives Programme management
• suitable for projects developed for use in the organization
Portfolio management
• suitable for project developed for other companies by software
houses
Project Evaluation
been installed
Expressing these costs and benefits in common units
Difference between the total benefit and total cost of creating and operating
the system.
Cash flow forecasting
• Estimating the overall costs and benefits of a project is the
forecasting of the cash flows that will place and their timing.
• A cash flow forecast will indicate when expenditure and
income will take place.
– Expenditure
– Income
– Time
Cost-benefit evaluation techniques
Net profit
Difference between the total costs and the total
income over the life of the project.
Cost-benefit evaluation techniques
If I gave you £100 now you could put it in savings account and get
interest on it.
If the interest rate was 10% how much would I have to invest now to
get £100 in a year’s time?
This figure is the net present value of £100 in one year’s time
Value in year t
Present value =
(1+r)t
Discount factor
Discount factor = 1/(1+r)t
r is the interest rate (e.g. 10% is 0.10)
t is the number of years
Software effort
estimation
What makes a successful project?
Delivering: Stages:
agreed functionality 1. set targets
on time 2. Attempt to achieve
at the agreed cost targets
with the required
quality
• Top-down
– produce overall estimate based on project cost drivers
– based on past project data
– divide overall estimate between jobs to be done
Bottom-up estimating
1. Break project into smaller and smaller
components
2. Stop when you get to what one person can
do in one/two weeks]
3. Estimate costs for the lowest level activities
4. At each higher level calculate estimate by
adding estimates for lower levels
Top-down approach and parametric models
Estimate
100 days • Produce overall
overall
project estimate using effort
driver (s)
input
process output
From Return to
user user
Model of transaction
Function points Mk II continued
For each
transaction, count
#entities – data items input
accessed (Ni)
– data items output
(No)
– entity types
#input #output accessed (Ne)
items items
• In particular the number of function points for each project and the actual
effort that it needed.
• The original work of FFPs has been taken forward by the formation of
common software measurement consortium [COSMIC].
Layered software
Higher layers
Makes a request
Receives service
for a service
Lower layers
COSMIC FPs
The following are counted:
• Entries: movement of data into software component
from a higher layer or a peer component
• Exits: movements of data out
• Reads: data movement from persistent storage
• Writes: data movement to persistent storage
Each counts as 1 ‘COSMIC functional size unit’ (Cfsu)
COCOMO81
• Based on industry productivity standards -
database is constantly updated
• Allows an organization to benchmark its
software development productivity
• Basic model
effort = c x sizek
• C and k depend on the type of system:
organic, semi-detached, embedded
• Size is measured in ‘kloc’ ie. Thousands of
lines of code
The COCOMO constants
System type c k
Organic (broadly, 2.4 1.05
information systems)
Small team devp s/w
Semi-detached 3.0 1.12