SlideShare a Scribd company logo
SE-381
Software Engineering
BEIT - V
Lecture # 25
(Program Size and Cost Estimation
Models)
Metrics - Program Size Estimation
– Program size is a measure of the effort and time
required to develop the product
– Two prevalent metrics in use are
• Lines of Code
• Function Points
– Lines of Code (LOC)
• Historically oldest, evolved and its use propagated by the
availability of historical data with the orgs
• Simplest and so, popular
• Source lines of code counted and comments and headers left
out
Lines of Code
• Cons
– LOC available when product is ready, and
difficult to estimate before the start of SD
– Favors the (novice) programmers for their
poor programming skills as compared to
the experienced who write smartly
– Biased towards the programming language
used
– Reflective of only coding phase, which is a
fraction of SD process
– Complexity not addressed
– Penalizes re-usability
Function Point
– Function Point metric is in use since mid 70‟s and published by
Albrecht 1983, and cures the shortcomings of LOC
– FP metric can estimate program size directly from SRS
– FP is based on the concept that size of software is directly
dependent on the number of different functions and features it
supports
– Each feature when invoked reads input data and transforms it
to output data, Albrecht proposed to include the no of files and
no of interfaces as well
– FP is computed in two steps, in first step UFP - Unadjusted
Function Points are computed then these are corrected
UFP = (no of inputs)*w1 + (no of outputs)*w2 + (no of
inquiries)*w3 + (no of files)*w4 + (no of interfaces)*w5
Where wi depends on the complexity level of program,
according to Rajib Mall (2005), these weights are 4, 5, 4, 10
and 10 respectively. In general these are given in the table
below
Computation of Function Points
Description
Level of Information Processing Function
Total
Simple Average Complex
External Input
___ x 3 = ___ ___ x 4 = ___ ___ x 6 = ___ _____________
External Output
___ x 4 = ___ ___ x 5 = ___ ___ x 7 = ___ _____________
Logical Internal File
___ x 7 = ___ ___ x 10 =___ ___ x 15 = ___ _____________
Ext. Interface File
___ x 5 = ___ ___ x 7 = ___ ___ x 10 = ___ _____________
External Inquiry
___ x 3 = ___ ___ x 4 = ___ ___ x 6 = ___ _____________
Total Unadjusted Fictions Points (UFP)
_____________
Computation of FP
– In the second step, first Degree of Influence - DI, is
computed considering fourteen possible factors, each
having influence value varying from 0 - no influence to
5 - maximum influence, so DI can vary from 0 - 70
– The parameters considered for DI computation are
shown in the table (on next slide)
– Technical Complexity Factor - TCF is computed using
TCF = 0.65 + 0.01 * DI
– TCF varies from 0.65 to 1.35, and in second step FP
is computed by
FP = UFP * TCF
ID Characteristic DI ID Characteristic DI
C1 Data Communications --- C8 On-Line Update ---
C2 Distributed Functions --- C9 Complex Processing ---
C3 Performance --- C10 Re-Usability ---
C4 Heavily Used
Configuration
--- C11 Installation Ease ---
C5 Transaction Rate --- C12 Operational Ease ---
C6 On-Line Data Entry --- C13 Multiple Sites ---
C7 End User Efficiency --- C14 Facilitate Change ---
Total Degree of Influence
TCF = 0.65 + 0.01 x (Total ‘Degree of Influence’)
FP = UFP * TCF
DI Values
Not Present, or not Influence = 0
Insignificant Influence = 1
Moderate Influence = 2
Average Influence = 3
Significant Influence = 4
Strong Influence, throughout = 5
FP Cons and Improvements
• Shortcomings
– Allocation of parameters is subjective
– Symons 1988 pointed out that the proposed FP
analysis is based on two „intrinsic‟ factors but did not
include the Environmental factors like Project
Management Risks, People Skills, Methods and
tools used for development etc
• His proposed method includes the influence of
Environmental factors
– Algorithmic complexity not taken into account
• Inclusion of Feature Point metric is proposed to cater this
shortcomings
3 Components of System Size
Project Estimation Techniques
– After determining the Project Size; effort to
develop the sw, project duration and cost are
to be estimated
– These parameters help in winning the
contract, as well as in resource planning,
scheduling, monitoring and controlling the
project
– Estimation Techniques can be categorised as:
• Empirical Estimation Techniques
• Heuristic Techniques
• Analytical Estimation Techniques
Empirical Estimation Techniques
– Based on educated guess of the project
parameters
– Prior experience of similar products helpful
– Although based on common sense, different
activities involved in estimation have been
formalised over the years,
– First the estimates are guessed and later, on
completion of project these are calibrated i.e.
estimates are corrected to reflect the desired
– Two such formalisations are
• Expert Judgement and
• Delphi Technique
Delphi Technique
• Non-Consultative, group consensus technique
• Needs access to several experts
• Experts may be at one or more locations
• Operates under the control of a coordinator
• Steps in a typical Delphi process
– Coordinator explains the task to experts
– Specifications are supplied to each expert
– Each expert makes estimates anonymously
– Coordinator consolidates responses and circulates the
summary
– Each expert reacts to disagreements giving reason
– This process iterates till agreement is reached
• Wideband Delphi Approach requires minimal
interaction between experts to speed up
consensus process
Heuristic Techniques
– Assumes that relationships among the
different project parameters can be modelled
using suitable mathematical expressions
– Once basic (independent) parameters are
known,the other (dependent) parameters can
be determined using basic parameters in
mathematical expressions
– Heuristic Models can be divided into two
classes:
• Single variable estimation models
• Multivariable estimation models
Single Variable Estimation Models
Multivariable estimation models
Analytical Estimation
Techniques
Software Cost Estimation
• COCOMO
COnstructive COst-estimation MOdel
– A software cost and schedule estimating
method that was developed by Barry W
Boehm and documented in Software
Engineering Economics [Boehm 1981].
– The model is an empirically derived,
nonproprietary, cost-estimation model,
based on a study by Boehm of 63 sw
development projects.
COCOMO
Accommodates three categories of software:
Organic
• Application programs – small well understood, smaller
development teams needed and team members are
experienced in developing similar programs
Semidetached
• Compilers, linkers etc the utility programs; development teams
are mix of experienced and novices, team members may have
limited experience on related systems but may be unfamiliar
with some aspects of the system to be developed.
Embedded
• System programs, that interact directly with the hardware and
typically involve meeting of timing constraints and concurrent
processing, include Operating Systems The developed sw is
strongly coupled to complex hw, or stringent regulations on the
operational procedures exist.
Effort and Development Time
• Effort is measured in PM – Person Months
– PM is the effort one can put in one month, taking into
account the productivity loss due to holidays, weekly
offs, coffee and prayer breaks etc.
– One PM is 19 calendar days or 152 working hours
– Conforms to the engineers assignments and
deadlines of calendar months
• Development time is measured in months, i.e.
Calendar months
Three Levels of Cost Estimation
• According to Boehm the cost estimation
should be done through three stages:
– Basic COCOMO
– Intermediate COCOMO
– Complete COCOMO
• Basic COCOMO (Single variable model)
Effort = a1 * (KLOC)**a2 PM
Tdev = b1 * (Effort)**b2 months
Basic COCOMO (cont.)
– PM is the area under the person-month plot, the
100 PM is NOT the effort put in by 100 people in
one month or effort put in by one person for 100
months – the commonly followed myth
– According to Boehm every LOC should be
calculated as one LOC, irrespective of actual no
of instructions on that line, some authors refer it
as DSI delivered Source Instructions
a1 a2 b1 b2
Organic 2.4 1.05 2.5 0.38
S-Detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Correlations between variables
• Effort vs. Product Size
– For different program sizes if the Effort is
plotted for all the three categories against
program size, Effort has super-linear
behavior and higher effort for complexity is
reflected. That is Embedded Sw needs
higher effort than Organic sw for same
product size
• Development Time vs. Size
– Development Time is sub-linear to Size,
Because of parallel activities in Sw
development process
Effort vs. Product Size
Development Time vs. Size
Example – Basic COCOMO
Calculations
Find Effort, Productivity (LOC per Person-
Month), Development Time (in months)
and Average Staffing (full-time staff
personnel per month) for a project , which
is of Organic type and estimated size of
128,000 Lines of Code.
• Effort = 2.4 * (KLOC)**1.05
= 392 PM (person-months)
• Productivity = Size / Effort
= 128,000 LOC/392 PM
= 327 LOC/PM
• Dev Time = 2.5 * (Effort)**0.38
= 2.5 * (392)**0.38
= 24 months
• Av. Staffing = Effort / Tdev
= 392 PM / 24 months
= 16 FSP
• FSP = Full-time-equivalent Staff Personnel
Intermediate COCOMO
– Intermediate COCOMO is an extension to
Basic COCOMO and provides greater
accuracy and level of detail which makes it
more suitable for cost estimation in more
detailed stages of software product
definition.
– For all three categories it uses the same
exponents but the coefficients for Effort
computation are 3.2, 3.0 and 2.8
respectively for Organic, Semi-detached
and embedded.
– Schedule for Intermediate is determined by
the same equations as that for Basic model
Cost Drivers
– It incorporates 15 predictor variables,
called Cost Drivers, to account for software
project cost variations, that are not directly
correlated to project size.
– These Cost Drivers are grouped into four
categories
• Software Product Attributes
• Computer Attributes
• Personnel Attributes and
• Project Attributes
• Each of these attributes have different
ratings and some numerical values are
assigned to each, Eg RELY - Required
Sw Reliability has ratings as: Very Low,
Low, Nominal, High and Very High.
• Software Attributes:
– RELY – Required Software Reliability
– DATA – Database size
– CPLX – Software Complexity
• Computer Attributes:
– TIME – Execution Time Constraint
– STOR – Main Storage Constraint
– VIRT – Virtual Memory Volatility
– TURN – Computer Turnaround Time
• Personnel Attributes
– ACAP – Analyst Capability
– AEXP – Applications Experience (Team)
– PCAP – Programmer Capability
– VEXP – Virtual Machine Experience
– LEXP – Programming Language Experience
• Project Attributes
– MODP – Use of Modern Programming
Practices
– TOOL – Use of Software Tools
– SCED – Schedule Constraint
Reuse – Adaptation Adjustment
– The previously developed software, code, which
is now reused, or being adapted for reuse in the
new project. Its effect could be incorporated as
EDSI – Equivalent number of Delivered Software
Instructions. Calculated as:
AAF = Adaptation Adjustment Factor
AAF = 0.40(DM) + 0.30(CDM) +0.30 (IM)
Where DM = % Design Modified, CDM = % Code
Modified and IM = % of Integration required for
modified Sw
So
EDSI = (Adapted DSI) * (AAF / 100)
References
1. Deanna B Legg, Synopsis of COCOMO from Richard H Thayer (Ed) Software
Engineering Project Management, 2nd Ed, IEEE Society of Computer Sciences
(2000)
2. Barry Boehm et al, Cost Models for future Software Life Cycle Processes:
COCOMO 2.0 from Richard H Thayer (Ed) Software Engineering Project
Management, 2nd Ed, IEEE Society of Computer Sciences (2000)
3. Rajib Mall (2005); Fundamentals of Software Engineerign, 2nd Ed, Prentice-Hall of
India, New Delhi, Ch – 3 Software Project Management, pp:38-84
4. Capers Jones (2007); Estimating software Costs: Bringing Realism to Estimating;
2nd Ed, Tata McGraw-Hill Publishing Company, New Delhi
5. Jalote Pankaj (2005), An Integrated Approach to Software Engineering, Ch - 5
6. A J Albrecht and J E Gaffney; “Software Functions, Source Lines of Code and
Development Effort Prediction: A software Science Validation” in IEEE
Transactions on Software Engineering, Vol SE-9, no 6, pp 639-47, Nov 1983
7. Charles R Symons, “Function Point Analysis: Difficulties and Improvements” in
IEEE Transactions on Software Engineering, Vol 14, no 1, pp:2-11, Jan 1988
8. S A Kelkar (2007); Software Engineering – A Concise Study; Printice Hall of India,
New Delhi, Appendix A – Estimation Techniques pp: 641 – 682

More Related Content

PPT
Software cost estimation
PPT
Estimation
PPTX
Estimation techniques and software metrics
PPTX
Software cost estimation
PPT
Lecture5
PPT
Software cost estimation project
PPTX
Software cost estimation
PPTX
Issues in software cost estimation
Software cost estimation
Estimation
Estimation techniques and software metrics
Software cost estimation
Lecture5
Software cost estimation project
Software cost estimation
Issues in software cost estimation

What's hot (20)

PPSX
Software Project Planning 1
PPTX
Software estimation techniques
PPTX
Cocomo ( cot constrictive model) and capability maturity model
PPT
Software Cost Estimation
PDF
Software Estimation
PPTX
Metrics for project size estimation
PPTX
Software Metrics - Software Engineering
PPT
Software estimation
PPTX
Decomposition technique In Software Engineering
PPT
Wideband Delphi Estimation
PPT
Software Project Cost Estimation
PPSX
Software Estimation
PPTX
Software Cost Estimation Techniques
PPT
Software Sizing
PPT
Ch26
PDF
Software Metrics
PPT
Software effort estimation
PPT
Metrics
PPT
Pressman ch-22-process-and-project-metrics
PPTX
Software Cost Estimation
Software Project Planning 1
Software estimation techniques
Cocomo ( cot constrictive model) and capability maturity model
Software Cost Estimation
Software Estimation
Metrics for project size estimation
Software Metrics - Software Engineering
Software estimation
Decomposition technique In Software Engineering
Wideband Delphi Estimation
Software Project Cost Estimation
Software Estimation
Software Cost Estimation Techniques
Software Sizing
Ch26
Software Metrics
Software effort estimation
Metrics
Pressman ch-22-process-and-project-metrics
Software Cost Estimation
Ad

Viewers also liked (8)

PPT
Software project management 3
PDF
Chapter 4 software project planning
PPTX
Line of Code (LOC) Matric and Function Point Matric
PPTX
Functional point analysis
PPT
Software Estimation Techniques
PPT
Cocomo model
DOCX
Software requirements specification of Library Management System
PPT
Cocomo model
Software project management 3
Chapter 4 software project planning
Line of Code (LOC) Matric and Function Point Matric
Functional point analysis
Software Estimation Techniques
Cocomo model
Software requirements specification of Library Management System
Cocomo model
Ad

Similar to Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models (20)

PPTX
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
PPTX
Group-5-presentation_SPM, here is deatiled version.pptx
PPT
cocomo models in software engineering ppt presentation
PPTX
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
PPTX
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
PPT
Chapter 3- Software Project Management(Reduced).ppt
PDF
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
PPT
dokumen.tips_cocomo-model-578fca5c4f840.ppt
PDF
BIT 413_ITPM_Lecture_estimation and cost mgt_wk8.pdf
PPTX
5_6134023428304274682.pptx
PPT
COCOMO MODEL
PPT
Cost effort in softwrae project management.ppt
PDF
software project management cocomomodel.pdf
PPT
COCOMO Model
PPT
PPT
Cost effort.ppt
PPT
Cocomo model
PPT
OOSE Unit 2 power point presentation developed by Dr.P.Visu
PPT
OOSE Unit 2 PPT.ppt
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
Group-5-presentation_SPM, here is deatiled version.pptx
cocomo models in software engineering ppt presentation
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
Chapter 3- Software Project Management(Reduced).ppt
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
dokumen.tips_cocomo-model-578fca5c4f840.ppt
BIT 413_ITPM_Lecture_estimation and cost mgt_wk8.pdf
5_6134023428304274682.pptx
COCOMO MODEL
Cost effort in softwrae project management.ppt
software project management cocomomodel.pdf
COCOMO Model
Cost effort.ppt
Cocomo model
OOSE Unit 2 power point presentation developed by Dr.P.Visu
OOSE Unit 2 PPT.ppt

More from babak danyal (20)

DOCX
applist
PPT
Easy Steps to implement UDP Server and Client Sockets
PPT
Java IO Package and Streams
PPT
Swing and Graphical User Interface in Java
PPT
Tcp sockets
PPTX
block ciphers and the des
PPT
key distribution in network security
PPT
Lecture10 Signal and Systems
PPT
Lecture8 Signal and Systems
PPT
Lecture7 Signal and Systems
PPT
Lecture6 Signal and Systems
PPT
Lecture5 Signal and Systems
PPT
Lecture4 Signal and Systems
PPT
Lecture3 Signal and Systems
PPT
Lecture2 Signal and Systems
PPT
Lecture1 Intro To Signa
PPT
Lecture9 Signal and Systems
PPT
Lecture9
PPT
Cns 13f-lec03- Classical Encryption Techniques
PPT
Classical Encryption Techniques in Network Security
applist
Easy Steps to implement UDP Server and Client Sockets
Java IO Package and Streams
Swing and Graphical User Interface in Java
Tcp sockets
block ciphers and the des
key distribution in network security
Lecture10 Signal and Systems
Lecture8 Signal and Systems
Lecture7 Signal and Systems
Lecture6 Signal and Systems
Lecture5 Signal and Systems
Lecture4 Signal and Systems
Lecture3 Signal and Systems
Lecture2 Signal and Systems
Lecture1 Intro To Signa
Lecture9 Signal and Systems
Lecture9
Cns 13f-lec03- Classical Encryption Techniques
Classical Encryption Techniques in Network Security

Recently uploaded (20)

PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
Hazard Identification & Risk Assessment .pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
A systematic review of self-coping strategies used by university students to ...
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
Empowerment Technology for Senior High School Guide
PPTX
Introduction to Building Materials
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Hazard Identification & Risk Assessment .pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Indian roads congress 037 - 2012 Flexible pavement
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Supply Chain Operations Speaking Notes -ICLT Program
202450812 BayCHI UCSC-SV 20250812 v17.pptx
A systematic review of self-coping strategies used by university students to ...
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
History, Philosophy and sociology of education (1).pptx
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
Empowerment Technology for Senior High School Guide
Introduction to Building Materials
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
What if we spent less time fighting change, and more time building what’s rig...
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
Orientation - ARALprogram of Deped to the Parents.pptx

Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models

  • 1. SE-381 Software Engineering BEIT - V Lecture # 25 (Program Size and Cost Estimation Models)
  • 2. Metrics - Program Size Estimation – Program size is a measure of the effort and time required to develop the product – Two prevalent metrics in use are • Lines of Code • Function Points – Lines of Code (LOC) • Historically oldest, evolved and its use propagated by the availability of historical data with the orgs • Simplest and so, popular • Source lines of code counted and comments and headers left out
  • 3. Lines of Code • Cons – LOC available when product is ready, and difficult to estimate before the start of SD – Favors the (novice) programmers for their poor programming skills as compared to the experienced who write smartly – Biased towards the programming language used – Reflective of only coding phase, which is a fraction of SD process – Complexity not addressed – Penalizes re-usability
  • 4. Function Point – Function Point metric is in use since mid 70‟s and published by Albrecht 1983, and cures the shortcomings of LOC – FP metric can estimate program size directly from SRS – FP is based on the concept that size of software is directly dependent on the number of different functions and features it supports – Each feature when invoked reads input data and transforms it to output data, Albrecht proposed to include the no of files and no of interfaces as well – FP is computed in two steps, in first step UFP - Unadjusted Function Points are computed then these are corrected UFP = (no of inputs)*w1 + (no of outputs)*w2 + (no of inquiries)*w3 + (no of files)*w4 + (no of interfaces)*w5 Where wi depends on the complexity level of program, according to Rajib Mall (2005), these weights are 4, 5, 4, 10 and 10 respectively. In general these are given in the table below
  • 5. Computation of Function Points Description Level of Information Processing Function Total Simple Average Complex External Input ___ x 3 = ___ ___ x 4 = ___ ___ x 6 = ___ _____________ External Output ___ x 4 = ___ ___ x 5 = ___ ___ x 7 = ___ _____________ Logical Internal File ___ x 7 = ___ ___ x 10 =___ ___ x 15 = ___ _____________ Ext. Interface File ___ x 5 = ___ ___ x 7 = ___ ___ x 10 = ___ _____________ External Inquiry ___ x 3 = ___ ___ x 4 = ___ ___ x 6 = ___ _____________ Total Unadjusted Fictions Points (UFP) _____________
  • 6. Computation of FP – In the second step, first Degree of Influence - DI, is computed considering fourteen possible factors, each having influence value varying from 0 - no influence to 5 - maximum influence, so DI can vary from 0 - 70 – The parameters considered for DI computation are shown in the table (on next slide) – Technical Complexity Factor - TCF is computed using TCF = 0.65 + 0.01 * DI – TCF varies from 0.65 to 1.35, and in second step FP is computed by FP = UFP * TCF
  • 7. ID Characteristic DI ID Characteristic DI C1 Data Communications --- C8 On-Line Update --- C2 Distributed Functions --- C9 Complex Processing --- C3 Performance --- C10 Re-Usability --- C4 Heavily Used Configuration --- C11 Installation Ease --- C5 Transaction Rate --- C12 Operational Ease --- C6 On-Line Data Entry --- C13 Multiple Sites --- C7 End User Efficiency --- C14 Facilitate Change --- Total Degree of Influence TCF = 0.65 + 0.01 x (Total ‘Degree of Influence’) FP = UFP * TCF DI Values Not Present, or not Influence = 0 Insignificant Influence = 1 Moderate Influence = 2 Average Influence = 3 Significant Influence = 4 Strong Influence, throughout = 5
  • 8. FP Cons and Improvements • Shortcomings – Allocation of parameters is subjective – Symons 1988 pointed out that the proposed FP analysis is based on two „intrinsic‟ factors but did not include the Environmental factors like Project Management Risks, People Skills, Methods and tools used for development etc • His proposed method includes the influence of Environmental factors – Algorithmic complexity not taken into account • Inclusion of Feature Point metric is proposed to cater this shortcomings
  • 9. 3 Components of System Size
  • 10. Project Estimation Techniques – After determining the Project Size; effort to develop the sw, project duration and cost are to be estimated – These parameters help in winning the contract, as well as in resource planning, scheduling, monitoring and controlling the project – Estimation Techniques can be categorised as: • Empirical Estimation Techniques • Heuristic Techniques • Analytical Estimation Techniques
  • 11. Empirical Estimation Techniques – Based on educated guess of the project parameters – Prior experience of similar products helpful – Although based on common sense, different activities involved in estimation have been formalised over the years, – First the estimates are guessed and later, on completion of project these are calibrated i.e. estimates are corrected to reflect the desired – Two such formalisations are • Expert Judgement and • Delphi Technique
  • 12. Delphi Technique • Non-Consultative, group consensus technique • Needs access to several experts • Experts may be at one or more locations • Operates under the control of a coordinator • Steps in a typical Delphi process – Coordinator explains the task to experts – Specifications are supplied to each expert – Each expert makes estimates anonymously – Coordinator consolidates responses and circulates the summary – Each expert reacts to disagreements giving reason – This process iterates till agreement is reached • Wideband Delphi Approach requires minimal interaction between experts to speed up consensus process
  • 13. Heuristic Techniques – Assumes that relationships among the different project parameters can be modelled using suitable mathematical expressions – Once basic (independent) parameters are known,the other (dependent) parameters can be determined using basic parameters in mathematical expressions – Heuristic Models can be divided into two classes: • Single variable estimation models • Multivariable estimation models
  • 17. Software Cost Estimation • COCOMO COnstructive COst-estimation MOdel – A software cost and schedule estimating method that was developed by Barry W Boehm and documented in Software Engineering Economics [Boehm 1981]. – The model is an empirically derived, nonproprietary, cost-estimation model, based on a study by Boehm of 63 sw development projects.
  • 18. COCOMO Accommodates three categories of software: Organic • Application programs – small well understood, smaller development teams needed and team members are experienced in developing similar programs Semidetached • Compilers, linkers etc the utility programs; development teams are mix of experienced and novices, team members may have limited experience on related systems but may be unfamiliar with some aspects of the system to be developed. Embedded • System programs, that interact directly with the hardware and typically involve meeting of timing constraints and concurrent processing, include Operating Systems The developed sw is strongly coupled to complex hw, or stringent regulations on the operational procedures exist.
  • 19. Effort and Development Time • Effort is measured in PM – Person Months – PM is the effort one can put in one month, taking into account the productivity loss due to holidays, weekly offs, coffee and prayer breaks etc. – One PM is 19 calendar days or 152 working hours – Conforms to the engineers assignments and deadlines of calendar months • Development time is measured in months, i.e. Calendar months
  • 20. Three Levels of Cost Estimation • According to Boehm the cost estimation should be done through three stages: – Basic COCOMO – Intermediate COCOMO – Complete COCOMO • Basic COCOMO (Single variable model) Effort = a1 * (KLOC)**a2 PM Tdev = b1 * (Effort)**b2 months
  • 21. Basic COCOMO (cont.) – PM is the area under the person-month plot, the 100 PM is NOT the effort put in by 100 people in one month or effort put in by one person for 100 months – the commonly followed myth – According to Boehm every LOC should be calculated as one LOC, irrespective of actual no of instructions on that line, some authors refer it as DSI delivered Source Instructions a1 a2 b1 b2 Organic 2.4 1.05 2.5 0.38 S-Detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32
  • 22. Correlations between variables • Effort vs. Product Size – For different program sizes if the Effort is plotted for all the three categories against program size, Effort has super-linear behavior and higher effort for complexity is reflected. That is Embedded Sw needs higher effort than Organic sw for same product size • Development Time vs. Size – Development Time is sub-linear to Size, Because of parallel activities in Sw development process
  • 25. Example – Basic COCOMO Calculations Find Effort, Productivity (LOC per Person- Month), Development Time (in months) and Average Staffing (full-time staff personnel per month) for a project , which is of Organic type and estimated size of 128,000 Lines of Code.
  • 26. • Effort = 2.4 * (KLOC)**1.05 = 392 PM (person-months) • Productivity = Size / Effort = 128,000 LOC/392 PM = 327 LOC/PM • Dev Time = 2.5 * (Effort)**0.38 = 2.5 * (392)**0.38 = 24 months • Av. Staffing = Effort / Tdev = 392 PM / 24 months = 16 FSP • FSP = Full-time-equivalent Staff Personnel
  • 27. Intermediate COCOMO – Intermediate COCOMO is an extension to Basic COCOMO and provides greater accuracy and level of detail which makes it more suitable for cost estimation in more detailed stages of software product definition. – For all three categories it uses the same exponents but the coefficients for Effort computation are 3.2, 3.0 and 2.8 respectively for Organic, Semi-detached and embedded. – Schedule for Intermediate is determined by the same equations as that for Basic model
  • 28. Cost Drivers – It incorporates 15 predictor variables, called Cost Drivers, to account for software project cost variations, that are not directly correlated to project size. – These Cost Drivers are grouped into four categories • Software Product Attributes • Computer Attributes • Personnel Attributes and • Project Attributes
  • 29. • Each of these attributes have different ratings and some numerical values are assigned to each, Eg RELY - Required Sw Reliability has ratings as: Very Low, Low, Nominal, High and Very High. • Software Attributes: – RELY – Required Software Reliability – DATA – Database size – CPLX – Software Complexity • Computer Attributes: – TIME – Execution Time Constraint – STOR – Main Storage Constraint
  • 30. – VIRT – Virtual Memory Volatility – TURN – Computer Turnaround Time • Personnel Attributes – ACAP – Analyst Capability – AEXP – Applications Experience (Team) – PCAP – Programmer Capability – VEXP – Virtual Machine Experience – LEXP – Programming Language Experience • Project Attributes – MODP – Use of Modern Programming Practices – TOOL – Use of Software Tools – SCED – Schedule Constraint
  • 31. Reuse – Adaptation Adjustment – The previously developed software, code, which is now reused, or being adapted for reuse in the new project. Its effect could be incorporated as EDSI – Equivalent number of Delivered Software Instructions. Calculated as: AAF = Adaptation Adjustment Factor AAF = 0.40(DM) + 0.30(CDM) +0.30 (IM) Where DM = % Design Modified, CDM = % Code Modified and IM = % of Integration required for modified Sw So EDSI = (Adapted DSI) * (AAF / 100)
  • 32. References 1. Deanna B Legg, Synopsis of COCOMO from Richard H Thayer (Ed) Software Engineering Project Management, 2nd Ed, IEEE Society of Computer Sciences (2000) 2. Barry Boehm et al, Cost Models for future Software Life Cycle Processes: COCOMO 2.0 from Richard H Thayer (Ed) Software Engineering Project Management, 2nd Ed, IEEE Society of Computer Sciences (2000) 3. Rajib Mall (2005); Fundamentals of Software Engineerign, 2nd Ed, Prentice-Hall of India, New Delhi, Ch – 3 Software Project Management, pp:38-84 4. Capers Jones (2007); Estimating software Costs: Bringing Realism to Estimating; 2nd Ed, Tata McGraw-Hill Publishing Company, New Delhi 5. Jalote Pankaj (2005), An Integrated Approach to Software Engineering, Ch - 5 6. A J Albrecht and J E Gaffney; “Software Functions, Source Lines of Code and Development Effort Prediction: A software Science Validation” in IEEE Transactions on Software Engineering, Vol SE-9, no 6, pp 639-47, Nov 1983 7. Charles R Symons, “Function Point Analysis: Difficulties and Improvements” in IEEE Transactions on Software Engineering, Vol 14, no 1, pp:2-11, Jan 1988 8. S A Kelkar (2007); Software Engineering – A Concise Study; Printice Hall of India, New Delhi, Appendix A – Estimation Techniques pp: 641 – 682