SlideShare ist ein Scribd-Unternehmen logo
1 von 27
©The McGraw-Hill Companies,
1
Software Project
Management
4th Edition
Software effort
estimation
Chapter 5
©The McGraw-Hill Companies,
2
What makes a successful
project?
Delivering:
agreed functionality
on time
at the agreed cost
with the required
quality
Stages:
1. set targets
2. Attempt to achieve
targets
BUT what if the targets are not achievable?
©The McGraw-Hill Companies,
3
Over and under-
estimating
• Parkinson’s Law:
‘Work expands to fill
the time available’
• An over-estimate is
likely to cause project
to take longer than it
would otherwise
• Weinberg’s Zeroth
Law of reliability: ‘a
software project
that does not have
to meet a reliability
requirement can
meet any other
requirement’
©The McGraw-Hill Companies,
4
A taxonomy of estimating
methods
• Bottom-up - activity based, analytical
• Parametric or algorithmic models e.g.
function points
• Expert opinion - just guessing?
• Analogy - case-based, comparative
• Parkinson and ‘price to win’
©The McGraw-Hill Companies,
5
Bottom-up versus top-down
• Bottom-up
– use when no past project data
– identify all tasks that have to be done – so quite
time-consuming
– use when you have no data about similar past
projects
• Top-down
– produce overall estimate based on project cost
drivers
– based on past project data
– divide overall estimate between jobs to be done
©The McGraw-Hill Companies,
6
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
©The McGraw-Hill Companies,
7
Top-down estimates
• Produce overall
estimate using effort
driver (s)
• distribute
proportions of
overall estimate to
components
design code
overall
project
test
Estimate
100 days
30%
i.e.
30 days
30%
i.e.
30 days
40%
i.e. 40 days
©The McGraw-Hill Companies,
8
Algorithmic/Parametric models
• COCOMO (lines of code) and function
points examples of these
• Problem with COCOMO etc:
guess algorithm estimate
but what is desired is
system
characteristic
algorithm estimate
©The McGraw-Hill Companies,
9
Parametric models -
continued
• Examples of system characteristics
– no of screens x 4 hours
– no of reports x 2 days
– no of entity types x 2 days
• the quantitative relationship between
the input and output products of a
process can be used as the basis of a
parametric model
©The McGraw-Hill Companies,
10
Parametric models - the
need for historical data
• simplistic model for an estimate
estimated effort = (system size) /
productivity
e.g.
system size = lines of code
productivity = lines of code per day
• productivity = (system size) / effort
– based on past projects
©The McGraw-Hill Companies,
11
Parametric models
• Some models focus on task or system
size e.g. Function Points
• FPs originally used to estimate Lines of
Code, rather than effort
model
Number
of file types
Numbers of input
and output transaction types
‘system
size’
©The McGraw-Hill Companies,
12
Parametric models
• Other models focus on productivity: e.g.
COCOMO
• Lines of code (or FPs etc) an input
System
size
Productivity
factors
Estimated effort
©The McGraw-Hill Companies,
13
Function points Mark II
• Developed by Charles R. Symons
• ‘Software sizing and estimating - Mk II
FPA’, Wiley & Sons, 1991.
• Builds on work by Albrecht
• Work originally for CCTA:
– should be compatible with SSADM; mainly
used in UK
• has developed in parallel to IFPUG FPs
©The McGraw-Hill Companies,
14
Function points Mk II
continued
For each
transaction,
count
– data items input
(Ni)
– data items
output (No)
– entity types
accessed (Ne)
#entities
accessed
#input
items
#output
items
FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26
©The McGraw-Hill Companies,
15
Function points for embedded
systems
• Mark II function points, IFPUG function
points were designed for information
systems environments
• COSMIC FPs attempt to extend
concept to embedded systems
• Embedded software seen as being in a
particular ‘layer’ in the system
• Communicates with other layers and
also other components at same level
©The McGraw-Hill Companies,
16
Layered software
Higher layers
Lower layers
Software component peer
component
Makes a request
for a service
Receives service
Receives request Supplies service
Peer to peer
communication
Persistent
storage
Data reads/
writes
©The McGraw-Hill Companies,
17
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)
©The McGraw-Hill Companies,
18
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 McGraw-Hill Companies,
COCOMO—CONSTRUCTIVE
COST MODEL
Model 1 - Basic COCOMO
E = ab(KLOC)* (bb) effort in person-month
D = cb(E)**(db) development time in months
Software project abbb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
organic –relatively small, simple software projects, non-rigid requirements
small teams with good application experience
semi-detached – an intermediate project;
teams with mixed experience levels;
must meet a mix of rigid and less rigid requirements
embedded –project must meet set of tight hardware, software and
operational constraints
©The McGraw-Hill Companies,
COCOMO—CONSTRUCTIVE
COST MODEL
Model 2 - Intermediate COCOMO
E = ai(LOC)**bi x EAF effort in person-month
Software project ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
Model 3 - Advanced COCOMO
– Model 2 plus an assessment of each cost driver’s impact on each
step of the software engineering process
©The McGraw-Hill Companies,
22
The COCOMO constants
System type c k
Organic (broadly,
information systems)
2.4 1.05
Semi-detached 3.0 1.12
Embedded (broadly,
real-time)
3.6 1.20
k exponentiation – ‘to the power of…’
adds disproportionately more effort to the larger projects
takes account of bigger management overheads
©The McGraw-Hill Companies,
23
Development effort multipliers
(dem)
According to COCOMO, the major productivity
drivers include:
Product attributes: required reliability, database
size, product complexity
Computer attributes: execution time constraints,
storage constraints, virtual machine (VM) volatility
Personnel attributes: analyst capability,
application experience, VM experience,
programming language experience
Project attributes: modern programming
practices, software tools, schedule constraints
©The McGraw-Hill Companies,
24
Using COCOMO development
effort multipliers (dem)
An example: for analyst capability:
• Assess capability as very low, low, nominal,
high or very high
• Extract multiplier:
very low 1.46
low 1.19
nominal 1.00
high 0.80
very high 0.71
• Adjust nominal estimate e.g. 32.6 x 0.80 =
26.8 staff months
©The McGraw-Hill Companies,
25
Estimating by analogy
source cases
attribute values
effort
attribute values ?????
target case
attribute values
attribute values
attribute values
attribute values
attribute values
effort
effort
effort
effort
effort
Select case
with closet attribute
values
Use effort
from source as
estimate
©The McGraw-Hill Companies,
26
Stages: identify
• Significant features of the current
project
• previous project(s) with similar features
• differences between the current and
previous projects
• possible reasons for error (risk)
• measures to reduce uncertainty
©The McGraw-Hill Companies,
27
Machine assistance for source
selection (ANGEL)Numberof
inputs
Number of outputs
target
Source A
Source B
Euclidean distance = sq root ((It - Is)2
+ (Ot - Os)2
)
It-Is
Ot-Os
©The McGraw-Hill Companies,
28
Some conclusions: how
to review estimates
Ask the following questions about an estimate
• What are the task size drivers?
• What productivity rates have been used?
• Is there an example of a previous project of
about the same size?
• Are there examples of where the productivity
rates used have actually been found?

Weitere ähnliche Inhalte

Was ist angesagt?

Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)kiran Patel
 
Software Project Management chapter-1
Software Project Management chapter-1Software Project Management chapter-1
Software Project Management chapter-1Computing Cage
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)AmanSharma1172
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)Syed Muhammad Hammad
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Project Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProject Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProf Ansari
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introductionKanchana Devi
 
Lecture 2
Lecture 2Lecture 2
Lecture 29anm12
 

Was ist angesagt? (20)

Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Spm
Spm Spm
Spm
 
Software Project Management chapter-1
Software Project Management chapter-1Software Project Management chapter-1
Software Project Management chapter-1
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
 
COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Project Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProject Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software Development
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Software quality
Software qualitySoftware quality
Software quality
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 

Andere mochten auch

Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniqueskamal
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationOpenLearningLab
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
SDPM - Lecture 1 - Introduction
SDPM - Lecture 1 - IntroductionSDPM - Lecture 1 - Introduction
SDPM - Lecture 1 - IntroductionOpenLearningLab
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyTim Menzies
 
software effort estimation
 software effort estimation software effort estimation
software effort estimationBesharam Dil
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...IWSM Mensura
 
Dispersed and cross border projects
Dispersed and cross border projectsDispersed and cross border projects
Dispersed and cross border projectstumetr1
 
Software project management tools
Software project management toolsSoftware project management tools
Software project management toolsDarshak Mehta
 
Managing contracts
Managing contractsManaging contracts
Managing contractstumetr1
 
Resource allocation
Resource allocationResource allocation
Resource allocationtumetr1
 
Software test management
Software test managementSoftware test management
Software test managementVishad Garg
 
Complexity - Advanced Engineering Project Management
Complexity - Advanced Engineering Project ManagementComplexity - Advanced Engineering Project Management
Complexity - Advanced Engineering Project ManagementMDCSystems
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-Kanchana Devi
 
Unit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceUnit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceVinothkumaR Ramu
 
Activity planning
Activity planningActivity planning
Activity planningtumetr1
 
SDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationSDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationOpenLearningLab
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 

Andere mochten auch (20)

Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
SDPM - Lecture 1 - Introduction
SDPM - Lecture 1 - IntroductionSDPM - Lecture 1 - Introduction
SDPM - Lecture 1 - Introduction
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by Analogy
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
 
Dispersed and cross border projects
Dispersed and cross border projectsDispersed and cross border projects
Dispersed and cross border projects
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Software project management tools
Software project management toolsSoftware project management tools
Software project management tools
 
Managing contracts
Managing contractsManaging contracts
Managing contracts
 
Resource allocation
Resource allocationResource allocation
Resource allocation
 
Software test management
Software test managementSoftware test management
Software test management
 
Complexity - Advanced Engineering Project Management
Complexity - Advanced Engineering Project ManagementComplexity - Advanced Engineering Project Management
Complexity - Advanced Engineering Project Management
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
Unit II Software Testing and Quality Assurance
Unit II Software Testing and Quality AssuranceUnit II Software Testing and Quality Assurance
Unit II Software Testing and Quality Assurance
 
Activity planning
Activity planningActivity planning
Activity planning
 
SDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationSDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocation
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 

Ähnlich wie Software effort estimation

dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...hkhalailah29
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-GreenfieldJustin Lovell
 
Software product quality
Software product qualitySoftware product quality
Software product qualitytumetr1
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfsnehan789
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Sri Ambati
 
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-NativeApp Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-NativeVMware Tanzu
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdfsaman Iftikhar
 
An approach-to-planning-software-projects
An approach-to-planning-software-projectsAn approach-to-planning-software-projects
An approach-to-planning-software-projectstumetr
 
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization ProblemsAddressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization Problemsoptimizatiodirectdirect
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Paul Brebner
 
Reinventing Performance Testing, CMG imPACt 2016 slides
  Reinventing Performance Testing, CMG imPACt 2016 slides  Reinventing Performance Testing, CMG imPACt 2016 slides
Reinventing Performance Testing, CMG imPACt 2016 slidesAlexander Podelko
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factorsAalia Barbe
 

Ähnlich wie Software effort estimation (20)

Spm
Spm Spm
Spm
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
 
Spm
Spm Spm
Spm
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-Greenfield
 
Spm
Spm Spm
Spm
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Metrics
MetricsMetrics
Metrics
 
Software product quality
Software product qualitySoftware product quality
Software product quality
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...
 
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-NativeApp Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
App Modernization with .NET Core: How Travelers Insurance is Going Cloud-Native
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
An approach-to-planning-software-projects
An approach-to-planning-software-projectsAn approach-to-planning-software-projects
An approach-to-planning-software-projects
 
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization ProblemsAddressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 
Reinventing Performance Testing, CMG imPACt 2016 slides
  Reinventing Performance Testing, CMG imPACt 2016 slides  Reinventing Performance Testing, CMG imPACt 2016 slides
Reinventing Performance Testing, CMG imPACt 2016 slides
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factors
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 

Mehr von tumetr1

ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็คตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็คtumetr1
 
ตัวอย่างภาคผนวก เล่มโปรเจ็ค
ตัวอย่างภาคผนวก เล่มโปรเจ็คตัวอย่างภาคผนวก เล่มโปรเจ็ค
ตัวอย่างภาคผนวก เล่มโปรเจ็คtumetr1
 
ตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
ตัวอย่างบรรณานุกรม เล่มโปรเจ็คตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
ตัวอย่างบรรณานุกรม เล่มโปรเจ็คtumetr1
 
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็คตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็คtumetr1
 
ตัวอย่างสารบัญ เล่มโปรเจ็ค
ตัวอย่างสารบัญ เล่มโปรเจ็คตัวอย่างสารบัญ เล่มโปรเจ็ค
ตัวอย่างสารบัญ เล่มโปรเจ็คtumetr1
 
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็คตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็คtumetr1
 
ตัวอย่างบทคัดย่อเล่มโปรเจ็ค
ตัวอย่างบทคัดย่อเล่มโปรเจ็คตัวอย่างบทคัดย่อเล่มโปรเจ็ค
ตัวอย่างบทคัดย่อเล่มโปรเจ็คtumetr1
 
file transfer and access utilities
file transfer and access utilitiesfile transfer and access utilities
file transfer and access utilitiestumetr1
 
retrieving the mail
retrieving the mailretrieving the mail
retrieving the mailtumetr1
 
connectivity utility
connectivity utilityconnectivity utility
connectivity utilitytumetr1
 
network hardware
network hardwarenetwork hardware
network hardwaretumetr1
 
ระบบเครือข่ายไร้สาย (wireless lan)
ระบบเครือข่ายไร้สาย (wireless lan)ระบบเครือข่ายไร้สาย (wireless lan)
ระบบเครือข่ายไร้สาย (wireless lan)tumetr1
 
the transport layer
the transport layerthe transport layer
the transport layertumetr1
 
ระดับชั้นเน็ตเวิร์ก
ระดับชั้นเน็ตเวิร์กระดับชั้นเน็ตเวิร์ก
ระดับชั้นเน็ตเวิร์กtumetr1
 
ระดับชั้นดาต้าลิงค์
ระดับชั้นดาต้าลิงค์ระดับชั้นดาต้าลิงค์
ระดับชั้นดาต้าลิงค์tumetr1
 
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการสถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการtumetr1
 
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่ายการส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่ายtumetr1
 
ความรู้พื้นฐานของระบบการสื่อสารข้อมูล
ความรู้พื้นฐานของระบบการสื่อสารข้อมูลความรู้พื้นฐานของระบบการสื่อสารข้อมูล
ความรู้พื้นฐานของระบบการสื่อสารข้อมูลtumetr1
 
พัฒนาเศรษฐกิจ
พัฒนาเศรษฐกิจพัฒนาเศรษฐกิจ
พัฒนาเศรษฐกิจtumetr1
 

Mehr von tumetr1 (20)

ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็คตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
 
ตัวอย่างภาคผนวก เล่มโปรเจ็ค
ตัวอย่างภาคผนวก เล่มโปรเจ็คตัวอย่างภาคผนวก เล่มโปรเจ็ค
ตัวอย่างภาคผนวก เล่มโปรเจ็ค
 
ตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
ตัวอย่างบรรณานุกรม เล่มโปรเจ็คตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
ตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
 
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็คตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
 
ตัวอย่างสารบัญ เล่มโปรเจ็ค
ตัวอย่างสารบัญ เล่มโปรเจ็คตัวอย่างสารบัญ เล่มโปรเจ็ค
ตัวอย่างสารบัญ เล่มโปรเจ็ค
 
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็คตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
 
ตัวอย่างบทคัดย่อเล่มโปรเจ็ค
ตัวอย่างบทคัดย่อเล่มโปรเจ็คตัวอย่างบทคัดย่อเล่มโปรเจ็ค
ตัวอย่างบทคัดย่อเล่มโปรเจ็ค
 
file transfer and access utilities
file transfer and access utilitiesfile transfer and access utilities
file transfer and access utilities
 
retrieving the mail
retrieving the mailretrieving the mail
retrieving the mail
 
connectivity utility
connectivity utilityconnectivity utility
connectivity utility
 
network hardware
network hardwarenetwork hardware
network hardware
 
ระบบเครือข่ายไร้สาย (wireless lan)
ระบบเครือข่ายไร้สาย (wireless lan)ระบบเครือข่ายไร้สาย (wireless lan)
ระบบเครือข่ายไร้สาย (wireless lan)
 
routing
routingrouting
routing
 
the transport layer
the transport layerthe transport layer
the transport layer
 
ระดับชั้นเน็ตเวิร์ก
ระดับชั้นเน็ตเวิร์กระดับชั้นเน็ตเวิร์ก
ระดับชั้นเน็ตเวิร์ก
 
ระดับชั้นดาต้าลิงค์
ระดับชั้นดาต้าลิงค์ระดับชั้นดาต้าลิงค์
ระดับชั้นดาต้าลิงค์
 
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการสถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
 
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่ายการส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
 
ความรู้พื้นฐานของระบบการสื่อสารข้อมูล
ความรู้พื้นฐานของระบบการสื่อสารข้อมูลความรู้พื้นฐานของระบบการสื่อสารข้อมูล
ความรู้พื้นฐานของระบบการสื่อสารข้อมูล
 
พัฒนาเศรษฐกิจ
พัฒนาเศรษฐกิจพัฒนาเศรษฐกิจ
พัฒนาเศรษฐกิจ
 

Kürzlich hochgeladen

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 

Kürzlich hochgeladen (20)

Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 

Software effort estimation

  • 1. ©The McGraw-Hill Companies, 1 Software Project Management 4th Edition Software effort estimation Chapter 5
  • 2. ©The McGraw-Hill Companies, 2 What makes a successful project? Delivering: agreed functionality on time at the agreed cost with the required quality Stages: 1. set targets 2. Attempt to achieve targets BUT what if the targets are not achievable?
  • 3. ©The McGraw-Hill Companies, 3 Over and under- estimating • Parkinson’s Law: ‘Work expands to fill the time available’ • An over-estimate is likely to cause project to take longer than it would otherwise • Weinberg’s Zeroth Law of reliability: ‘a software project that does not have to meet a reliability requirement can meet any other requirement’
  • 4. ©The McGraw-Hill Companies, 4 A taxonomy of estimating methods • Bottom-up - activity based, analytical • Parametric or algorithmic models e.g. function points • Expert opinion - just guessing? • Analogy - case-based, comparative • Parkinson and ‘price to win’
  • 5. ©The McGraw-Hill Companies, 5 Bottom-up versus top-down • Bottom-up – use when no past project data – identify all tasks that have to be done – so quite time-consuming – use when you have no data about similar past projects • Top-down – produce overall estimate based on project cost drivers – based on past project data – divide overall estimate between jobs to be done
  • 6. ©The McGraw-Hill Companies, 6 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
  • 7. ©The McGraw-Hill Companies, 7 Top-down estimates • Produce overall estimate using effort driver (s) • distribute proportions of overall estimate to components design code overall project test Estimate 100 days 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days
  • 8. ©The McGraw-Hill Companies, 8 Algorithmic/Parametric models • COCOMO (lines of code) and function points examples of these • Problem with COCOMO etc: guess algorithm estimate but what is desired is system characteristic algorithm estimate
  • 9. ©The McGraw-Hill Companies, 9 Parametric models - continued • Examples of system characteristics – no of screens x 4 hours – no of reports x 2 days – no of entity types x 2 days • the quantitative relationship between the input and output products of a process can be used as the basis of a parametric model
  • 10. ©The McGraw-Hill Companies, 10 Parametric models - the need for historical data • simplistic model for an estimate estimated effort = (system size) / productivity e.g. system size = lines of code productivity = lines of code per day • productivity = (system size) / effort – based on past projects
  • 11. ©The McGraw-Hill Companies, 11 Parametric models • Some models focus on task or system size e.g. Function Points • FPs originally used to estimate Lines of Code, rather than effort model Number of file types Numbers of input and output transaction types ‘system size’
  • 12. ©The McGraw-Hill Companies, 12 Parametric models • Other models focus on productivity: e.g. COCOMO • Lines of code (or FPs etc) an input System size Productivity factors Estimated effort
  • 13. ©The McGraw-Hill Companies, 13 Function points Mark II • Developed by Charles R. Symons • ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons, 1991. • Builds on work by Albrecht • Work originally for CCTA: – should be compatible with SSADM; mainly used in UK • has developed in parallel to IFPUG FPs
  • 14. ©The McGraw-Hill Companies, 14 Function points Mk II continued For each transaction, count – data items input (Ni) – data items output (No) – entity types accessed (Ne) #entities accessed #input items #output items FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26
  • 15. ©The McGraw-Hill Companies, 15 Function points for embedded systems • Mark II function points, IFPUG function points were designed for information systems environments • COSMIC FPs attempt to extend concept to embedded systems • Embedded software seen as being in a particular ‘layer’ in the system • Communicates with other layers and also other components at same level
  • 16. ©The McGraw-Hill Companies, 16 Layered software Higher layers Lower layers Software component peer component Makes a request for a service Receives service Receives request Supplies service Peer to peer communication Persistent storage Data reads/ writes
  • 17. ©The McGraw-Hill Companies, 17 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)
  • 18. ©The McGraw-Hill Companies, 18 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
  • 19. ©The McGraw-Hill Companies, COCOMO—CONSTRUCTIVE COST MODEL Model 1 - Basic COCOMO E = ab(KLOC)* (bb) effort in person-month D = cb(E)**(db) development time in months Software project abbb cb db Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 organic –relatively small, simple software projects, non-rigid requirements small teams with good application experience semi-detached – an intermediate project; teams with mixed experience levels; must meet a mix of rigid and less rigid requirements embedded –project must meet set of tight hardware, software and operational constraints
  • 20. ©The McGraw-Hill Companies, COCOMO—CONSTRUCTIVE COST MODEL Model 2 - Intermediate COCOMO E = ai(LOC)**bi x EAF effort in person-month Software project ai bi Organic 3.2 1.05 Semi-detached 3.0 1.12 Embedded 2.8 1.20 Model 3 - Advanced COCOMO – Model 2 plus an assessment of each cost driver’s impact on each step of the software engineering process
  • 21. ©The McGraw-Hill Companies, 22 The COCOMO constants System type c k Organic (broadly, information systems) 2.4 1.05 Semi-detached 3.0 1.12 Embedded (broadly, real-time) 3.6 1.20 k exponentiation – ‘to the power of…’ adds disproportionately more effort to the larger projects takes account of bigger management overheads
  • 22. ©The McGraw-Hill Companies, 23 Development effort multipliers (dem) According to COCOMO, the major productivity drivers include: Product attributes: required reliability, database size, product complexity Computer attributes: execution time constraints, storage constraints, virtual machine (VM) volatility Personnel attributes: analyst capability, application experience, VM experience, programming language experience Project attributes: modern programming practices, software tools, schedule constraints
  • 23. ©The McGraw-Hill Companies, 24 Using COCOMO development effort multipliers (dem) An example: for analyst capability: • Assess capability as very low, low, nominal, high or very high • Extract multiplier: very low 1.46 low 1.19 nominal 1.00 high 0.80 very high 0.71 • Adjust nominal estimate e.g. 32.6 x 0.80 = 26.8 staff months
  • 24. ©The McGraw-Hill Companies, 25 Estimating by analogy source cases attribute values effort attribute values ????? target case attribute values attribute values attribute values attribute values attribute values effort effort effort effort effort Select case with closet attribute values Use effort from source as estimate
  • 25. ©The McGraw-Hill Companies, 26 Stages: identify • Significant features of the current project • previous project(s) with similar features • differences between the current and previous projects • possible reasons for error (risk) • measures to reduce uncertainty
  • 26. ©The McGraw-Hill Companies, 27 Machine assistance for source selection (ANGEL)Numberof inputs Number of outputs target Source A Source B Euclidean distance = sq root ((It - Is)2 + (Ot - Os)2 ) It-Is Ot-Os
  • 27. ©The McGraw-Hill Companies, 28 Some conclusions: how to review estimates Ask the following questions about an estimate • What are the task size drivers? • What productivity rates have been used? • Is there an example of a previous project of about the same size? • Are there examples of where the productivity rates used have actually been found?

Hinweis der Redaktion

  1. This talk provides an overview of the basic steps needed to produce a project plan. The framework provided should allow students to identify where some of the particular issues discussed in other chapters are applied to the planning process. As the focus is on project planning, techniques to do with project control are not explicitly described. However, in practice, one element of project planning will be to decide what project control procedures need to be in place.
  2. A key point here is that developers may in fact be very competent, but incorrect estimates leading to unachievable targets will lead to extreme customer dissatisfaction.
  3. The answer to the problem of over-optimistic estimates might seem to be to pad out all estimates, but this itself can lead to problems. You might miss out to the competition who could underbid you, if you were tendering for work. Generous estimates also tend to lead to reductions in productivity. On the other hand, having aggressive targets in order to increase productivity could lead to poorer product quality. Ask how many students have heard of Parkinson’s Law – the response could be interesting! It is best to explain that C. Northcote Parkinson was to some extent a humourist, rather than a heavyweight social scientist. Note that ‘zeroth’ is what comes before first. This is discussed in Section 5.3 of the text which also covers Brooks’Law.
  4. This taxonomy is based loosely on Barry Boehm’s in the big blue book, ‘Software Engineering Economics’. One problem is that different people call these approaches by different names. In the case of bottom-up and analogy some of the alternative nomenclatures have been listed. ‘Parkinson’ is setting a target based on the amount of staff effort you happen to have available at the time. ‘Price to win’ is setting a target that is likely to win business when tendering for work. Boehm is scathing about these as methods of estimating. However, sometimes you might have to start with an estimate of an acceptable cost and then set the scope of the project and the application to be built to be within that cost. This is discussed in Section 5.5 of the textbook.
  5. There is often confusion between the two approaches as the first part of the bottom-up approach is a top-down analysis of the tasks to be done, followed by the bottom-up adding up of effort for all the work to be done. Make sure you students understand this or it will return to haunt you (and them) at examination time.
  6. The idea is that even if you have never done something before you can imagine what you could do in about a week. Exercise 5.2 relates to bottom-up estimating
  7. The problems with COCOMO is that the input parameter for system size is an estimate of lines of code. This is going to have to be an estimate at the beginning of the project. Function points, as will be seen, counts various features of the logical design of an information system and produced an index number which reflects the amount of information processing it will have to carry out. This can be crudely equated to the amount of code it will need.
  8. It would be worth getting the students to do Exercise 5.3 at this point to make sure they grasp the underlying concepts.
  9. This is analogous to calculating speed from distance and time.
  10. ‘System size’ here can be seen as an index that allows the size of different applications to be compared. It will usually correlate to the number of lines of code required.
  11. COCOMO originally was based on a size parameter of lines of code (actually ‘thousand of delivered sourcecode instructions’ or kdsi). Newer versions recognize the use of functions points as a size measure, but convert them to a number called ‘equivalent lines of code (eloc).
  12. Once again, just a reminder that the lecture is just an overview of concepts. Mark II FPs is a version of function points developed in the UK and is only used by a minority of FP specialists. The US-based IFPUG method (developed from the original Albrecht approach) is more widely used. I use the Mark II version because it has simpler rules and thus provides an easier introduction to the principles of FPs. Mark II FPs are explained in more detail in Section 5.9. If you are really keen on teaching the IFPUG approach then look at Section 5.10. The IFPUG rules are really quite tricky in places and for the full rules it is best to contact IFPUG.
  13. For each transaction (cf use case) count the number of input types (not occurrences e.g. where a table of payments is input on a screen so the account number is repeated a number of times), the number of output types, and the number of entities accessed. Multiply by the weightings shown and sum. This produces an FP count for the transaction which will not be very useful. Sum the counts for all the transactions in an application and the resulting index value is a reasonable indicator of the amount of processing carried out. The number can be used as a measure of size rather than lines of code. See calculations of productivity etc discussed earlier. There is an example calculation in Section 5.9 (Example 5.3) and Exercise 5.7 should give a little practice in applying the method.
  14. Attempts have been made to extend IFPUG FPs to real-time and embedded systems, but this has not been very convincing (IMHO). Embedded software component is seen as at a particular level in the system. It receives calls for services from a higher layer and requests services from lower layers. It will receive responses from lower levels and will send responses to higher levels.
  15. Each arrow represents an enter or exit if in black, or a read/write if in red.
  16. Exercise 5.8 gives some practice in applying the technique.
  17. Recall that the aim of this lecture is to give an overview of principles. COCOMO81 is the original version of the model which has subsequently been developed into COCOMO II some details of which are discussed in Section 5.12. For full details read Barry Boehm et al. Software estimation with COCOMO II Prentice-Hall 2002.
  18. An interesting question is what a ‘semi-detached’ system is exactly. To my mind, a project that combines elements of both real-time and information systems (i.e. has a substantial database) ought to be even more difficult than an embedded system. Another point is that COCOMO was based on data from very large projects. There are data from smaller projects that larger projects tend to be more productive because of economies of scale. At some point the diseconomies of scale caused by the additional management and communication overheads then start to make themselves felt. Exercise 5.10 in the textbook provides practice in applying the basic model.
  19. Virtual machine volatility is where the operating system that will run your software is subject to change. This could particularly be the case with embedded control software in an industrial environment. Schedule constraints refers to situations where extra resources are deployed to meet a tight deadline. If two developers can complete a task in three months, it does not follow that six developers could complete the job in one month. There would be additional effort needed to divide up the work and co-ordinate effort and so on.
  20. Exercise 5.11 gives practice in applying these.
  21. The source cases, in this situation, are completed projects. For each of details of the factors that would have a bearing on effort are recorded. These might include lines of code, function points (or elements of the FP counts such as the number of inputs, outputs etc), number of team members etc etc. For the values for the new project are used to find one or more instances from the past projects than match the current one. The actual effort from the past project becomes the basis of the estimate for the new project.