SlideShare una empresa de Scribd logo
1 de 28
Software Project Management
Lecture # 5
Outline
 Chapter 23 – “Estimation”
 Introduction
 What is Estimation
 Estimation and Risk
 Project Planning Activities
 Software Scope and Feasibility
 Resources
 Software Project Estimation
 Decomposition Techniques
 Empirical Estimation Models
Introduction
 Software Project Management begins with
'Project Planning’ activities
 Software project planning includes five
major activities:
 Estimation (of work, resources, time)
 Scheduling
 Risk Analysis
 Quality Management Planning
 Change Management Planning
What is Estimation?
 Estimation is to determine how much…
 Money/cost,
 efforts,
 resources and
 time
…will be taken to build a specific software
based system or product.
 Estimation is foundation for all project
planning activities
Estimation Steps – Summary
 Description of product scope
 Decomposition of problem into set of
smaller problems
 Each sub problem is estimated using
historical data, software metrics and
experience (from past projects) as guides.
 Problem complexity and risks are
considered before final estimate is made
Estimation and Risk
 Estimation carries inherent risk & risk leads
to uncertainty
 Estimation risk is measured by the degree of
uncertainty in the quantitative estimates
established for resources, cost, and
schedule.
 Availability of comprehensive historical
information and software metrics (from past
projects) helps establish better estimates
and hence reduces risk factors
Project Planning Process
 Software project planning provides a
framework that enables the manager
to make reasonable estimates
 Although there is inherent uncertainty,
the team embarks on a project plan
 But, this plan must be adapted and
updated as the project progresses
The Software Project Planning
Activities
Software Scope
 It is defined in one of the following ways:
 Narrative description developed after communication with
all stakeholders
 A set of use-cases developed by end-user
 It describes
 functions & features to be delivered to end-user ( these
are evaluated and sometimes refined before estimation is
started)
 “content” presented to users as they use the software
 Performance considerations (processing and response
time, etc)
 Constraints (limits placed on software by external
hardware, available memory, or existing systems)
 Input and output data
 Interfaces and reliability that bound the system
Software Feasibility
 It is conducted after scope identification
 It is very crucial but is often overlooked either
by software engineers or by the impatient
customers and managers
 It addresses questions like
 Can we build software to meet this scope?
 Is the project feasible?
Software Feasibility (Cont.)
 Putnam and Myers address feasibility in four
dimensions
 Technology
 Is the project technically feasible? Is it within state of the art?
Can defects be reduced as needed?
 Finance
 Is it financially feasible? Can the development be completed
at a cost that the software organization, the client or the
market can afford
 Time
 Will the project’s time-to-market beat the competition?
 Resources
 Does the organization have enough resources needed to
succeed?
Resources
 Three categories of resources:
 People/Human resources
 Reusable software components
 Development environment (s/w & h/w tools)
 Each resource has 4 characteristics
 Description of resource
 Statement of availability
 Time when resource will be required
 Duration of time when resource will be applied
1.Human resources
 This estimation involves
 Selecting Skills (required to complete
development)
 Specifying organizational positions (manager,
senior s/w engr, ..) and specialty
 Determining number of people based on
development effort
 For small projects, single person can do all s/w engg
tasks
 For large projects, more number of people involved
which may be geographically distributed. So, location
of resource also specified
2. Reusable Software Resources
 CBSE emphasizes the creation and reuse of software
building blocks (components)
 4 categories of software components
 Off-the-shelf components
 Ready-to-use existing software acquired from third party
(COTS) or from (internal) past projects
 Full-experience components
 Existing specifications, designs, code, test data from past
projects similar to software to be developed (for current
project). May require little modifications
 Partial experience component
 Existing specifications, designs, code, test data from past
projects related to software to be developed (for current
project) but will require substantial modifications
 New components
 Software components that must be built for current project
3. (Development) Environment
resources
 These include hardware and software
support for a software project
 Hardware and software elements availability
and time window must be specified
Software Project Estimation
 Options for cost and effort estimates
 Delay estimation until late in project
 Not a practical approach
 Base estimation on similar past projects
 Reasonable approach but not always successful
 Use simple decomposition techniques to generate
estimates
 Divide and conquer approach. Divide project into major
activities/functions and make estimates
 Use some empirical model for estimation
 Complements decomposition techniques
 Which option is better?
 Each approach can be used as a cross-check for the
other
Decomposition Techniques
 Decomposition can be performed in
two aspects
 Decomposition of problem
 Decomposition of process
1. Software Sizing
 Proper estimation of software size and mapping of
size estimate to human effort, calendar time and cost
are important things which contribute to accuracy of
overall software project estimation
 Direct approach – size is measured as LOC
 Indirect approach – size is measured as function-
points
 Putnam and Myers suggested 4 different approaches
for sizing problem
 Fuzzy logic sizing
 Function point sizing
 Standard component sizing
 Change sizing
Other types of estimations…
2. Problem based estimation
3. FP-based estimation
4. Process-based estimation
5. Use-case based estimation
Empirical Estimation Models
 An estimation model for software uses
empirically derived formulas .
 These formulas can predict effort as a
function of LOC or FP.
 Empirical data (that support most estimation
models) are derived from limited sample of
projects, that is why, no estimation model is
appropriate for all classes of software and in
all development environments.
 Estimation model must be calibrated for
local conditions.
Structure of Estimation Models
 A typical empirical model is derived using
regression analysis on data collected from
past projects
 Overall structure of such models takes the
form
E= A+B x (ev)C
 A, B and C are empirically derived constants, E
is effort in person-months and ev is estimation
variable (either LOC or FP)
Empirical Estimation Models -
Examples
 Proposed LOC-oriented estimation models
 E= 5.2 x (KLOC)0.91
Walston-Felix model
 E= 5.5 + 0.73 x (KLOC)1.16
Bailey-Basili model
 E= 3.2 x (KLOC)1.05
Boehm simple model
 E= 5.288 x (KLOC)1.047
Doty model for KLOC>9
 Proposed FP-oriented estimation models
 E= -91.4 + 0.355 FP Albrecht and Gaffney model
 E= -37 + 0.96 FP Kemerer model
 E= -12.88 + 0.405 FP small project regression model
The COCOMO II Model
 Boehm suggested a hierarchy of software
estimation models named: COCOMO.
 COCOMO stands for COnstructive COst
MOdel
 Original COCOMO model became one of
the most widely used and discussed
software cost estimation models
 COCOMO evolved into COCOMO II
COCOMO II Model (Cont.)
 COCOMO II addresses the following areas:
 Application composition model
 Used during the early stages of s/w engg.
 when UI prototyping, s/w and system interaction, performance
assessment and tech. evaluation are paramount.
 Early design stage model
 Used once requirements have been stabilized and
basic architecture has been established
 Post-architecture stage model
 Used during the construction of software
 Like other estimation models, COCOMO II
uses sizing information (object points, function
points and lines of code).
COCOMO II Model (Cont.)
 COCOMO II Application composition model uses
object points
 Object points is an indirect software measure computed
using
 Screens (at UI)
 Reports
 Components likely to be required to build the application
 Each object instance is classified into one of these
complexity levels (simple, medium, difficult) on criteria
suggested by Boehm.
 Complexity is a function of number of client and server
tables required to generate a screen or report and number
of sections or views within a screen or report
 After determining complexity, no. of screens, reports and
components are weighted as in figure (23.6).
 The object point count is determined by multiplying
original no. of object instances by weighting factor.
Figures 23.6 & 23.7
Object Type Complexity Weight
Simple Medium Difficult
Screen 1 2 3
Report 2 5 8
3GL component 10
Developer’s
experience/capabilit
y
Very Low Low Nominal High Very High
Environment
maturity/capability
Very Low Low Nominal High Very high
PROD 4 7 13 25 50
COCOMO II Model (Cont.)
 For component-based development or when
software reuse is applied, the %reuse is estimated
and object point count is adjusted:
 NOP = (object points) x [(100 - %reuse)/100]
 NOP is new object points
 To derive estimate of effort based on computed
NOP value, a productivity rate must be derived
 PROD = NOP / person-month
 Estimate of project effort can be derived as:
 Estimated effort = NOP/PROD
 Excluded
 23.8
 23.9 and sub topics

Más contenido relacionado

La actualidad más candente

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
koolkampus
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Damian T. Gordon
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
THARUNS44
 

La actualidad más candente (20)

Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Software Project Management Lab Manual Lab 1
Software Project Management Lab  Manual  Lab 1Software Project Management Lab  Manual  Lab 1
Software Project Management Lab Manual Lab 1
 
Software Sizing
Software SizingSoftware Sizing
Software Sizing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Unit 5
Unit   5Unit   5
Unit 5
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Protoytyping Model
Protoytyping ModelProtoytyping Model
Protoytyping Model
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Unit4 Software Engineering Institute (SEI)’s Capability Maturity Model (CMM) ...
Unit4 Software Engineering Institute (SEI)’sCapability Maturity Model (CMM)...Unit4 Software Engineering Institute (SEI)’sCapability Maturity Model (CMM)...
Unit4 Software Engineering Institute (SEI)’s Capability Maturity Model (CMM) ...
 
Software design
Software designSoftware design
Software design
 
The Art of Debugging.pptx
The Art of Debugging.pptxThe Art of Debugging.pptx
The Art of Debugging.pptx
 

Similar a Lecture5

Similar a Lecture5 (20)

CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Estimation techniques and risk management
Estimation techniques and risk managementEstimation techniques and risk management
Estimation techniques and risk management
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Lecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.pptLecture 7 Software Metrics.ppt
Lecture 7 Software Metrics.ppt
 
software engineering
software engineering software engineering
software engineering
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.gupta
 
Ch26
Ch26Ch26
Ch26
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 

Último

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Último (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
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
 
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
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 

Lecture5

  • 2. Outline  Chapter 23 – “Estimation”  Introduction  What is Estimation  Estimation and Risk  Project Planning Activities  Software Scope and Feasibility  Resources  Software Project Estimation  Decomposition Techniques  Empirical Estimation Models
  • 3. Introduction  Software Project Management begins with 'Project Planning’ activities  Software project planning includes five major activities:  Estimation (of work, resources, time)  Scheduling  Risk Analysis  Quality Management Planning  Change Management Planning
  • 4. What is Estimation?  Estimation is to determine how much…  Money/cost,  efforts,  resources and  time …will be taken to build a specific software based system or product.  Estimation is foundation for all project planning activities
  • 5. Estimation Steps – Summary  Description of product scope  Decomposition of problem into set of smaller problems  Each sub problem is estimated using historical data, software metrics and experience (from past projects) as guides.  Problem complexity and risks are considered before final estimate is made
  • 6. Estimation and Risk  Estimation carries inherent risk & risk leads to uncertainty  Estimation risk is measured by the degree of uncertainty in the quantitative estimates established for resources, cost, and schedule.  Availability of comprehensive historical information and software metrics (from past projects) helps establish better estimates and hence reduces risk factors
  • 7. Project Planning Process  Software project planning provides a framework that enables the manager to make reasonable estimates  Although there is inherent uncertainty, the team embarks on a project plan  But, this plan must be adapted and updated as the project progresses
  • 8. The Software Project Planning Activities
  • 9. Software Scope  It is defined in one of the following ways:  Narrative description developed after communication with all stakeholders  A set of use-cases developed by end-user  It describes  functions & features to be delivered to end-user ( these are evaluated and sometimes refined before estimation is started)  “content” presented to users as they use the software  Performance considerations (processing and response time, etc)  Constraints (limits placed on software by external hardware, available memory, or existing systems)  Input and output data  Interfaces and reliability that bound the system
  • 10. Software Feasibility  It is conducted after scope identification  It is very crucial but is often overlooked either by software engineers or by the impatient customers and managers  It addresses questions like  Can we build software to meet this scope?  Is the project feasible?
  • 11. Software Feasibility (Cont.)  Putnam and Myers address feasibility in four dimensions  Technology  Is the project technically feasible? Is it within state of the art? Can defects be reduced as needed?  Finance  Is it financially feasible? Can the development be completed at a cost that the software organization, the client or the market can afford  Time  Will the project’s time-to-market beat the competition?  Resources  Does the organization have enough resources needed to succeed?
  • 12. Resources  Three categories of resources:  People/Human resources  Reusable software components  Development environment (s/w & h/w tools)  Each resource has 4 characteristics  Description of resource  Statement of availability  Time when resource will be required  Duration of time when resource will be applied
  • 13. 1.Human resources  This estimation involves  Selecting Skills (required to complete development)  Specifying organizational positions (manager, senior s/w engr, ..) and specialty  Determining number of people based on development effort  For small projects, single person can do all s/w engg tasks  For large projects, more number of people involved which may be geographically distributed. So, location of resource also specified
  • 14. 2. Reusable Software Resources  CBSE emphasizes the creation and reuse of software building blocks (components)  4 categories of software components  Off-the-shelf components  Ready-to-use existing software acquired from third party (COTS) or from (internal) past projects  Full-experience components  Existing specifications, designs, code, test data from past projects similar to software to be developed (for current project). May require little modifications  Partial experience component  Existing specifications, designs, code, test data from past projects related to software to be developed (for current project) but will require substantial modifications  New components  Software components that must be built for current project
  • 15. 3. (Development) Environment resources  These include hardware and software support for a software project  Hardware and software elements availability and time window must be specified
  • 16. Software Project Estimation  Options for cost and effort estimates  Delay estimation until late in project  Not a practical approach  Base estimation on similar past projects  Reasonable approach but not always successful  Use simple decomposition techniques to generate estimates  Divide and conquer approach. Divide project into major activities/functions and make estimates  Use some empirical model for estimation  Complements decomposition techniques  Which option is better?  Each approach can be used as a cross-check for the other
  • 17. Decomposition Techniques  Decomposition can be performed in two aspects  Decomposition of problem  Decomposition of process
  • 18. 1. Software Sizing  Proper estimation of software size and mapping of size estimate to human effort, calendar time and cost are important things which contribute to accuracy of overall software project estimation  Direct approach – size is measured as LOC  Indirect approach – size is measured as function- points  Putnam and Myers suggested 4 different approaches for sizing problem  Fuzzy logic sizing  Function point sizing  Standard component sizing  Change sizing
  • 19. Other types of estimations… 2. Problem based estimation 3. FP-based estimation 4. Process-based estimation 5. Use-case based estimation
  • 20. Empirical Estimation Models  An estimation model for software uses empirically derived formulas .  These formulas can predict effort as a function of LOC or FP.  Empirical data (that support most estimation models) are derived from limited sample of projects, that is why, no estimation model is appropriate for all classes of software and in all development environments.  Estimation model must be calibrated for local conditions.
  • 21. Structure of Estimation Models  A typical empirical model is derived using regression analysis on data collected from past projects  Overall structure of such models takes the form E= A+B x (ev)C  A, B and C are empirically derived constants, E is effort in person-months and ev is estimation variable (either LOC or FP)
  • 22. Empirical Estimation Models - Examples  Proposed LOC-oriented estimation models  E= 5.2 x (KLOC)0.91 Walston-Felix model  E= 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili model  E= 3.2 x (KLOC)1.05 Boehm simple model  E= 5.288 x (KLOC)1.047 Doty model for KLOC>9  Proposed FP-oriented estimation models  E= -91.4 + 0.355 FP Albrecht and Gaffney model  E= -37 + 0.96 FP Kemerer model  E= -12.88 + 0.405 FP small project regression model
  • 23. The COCOMO II Model  Boehm suggested a hierarchy of software estimation models named: COCOMO.  COCOMO stands for COnstructive COst MOdel  Original COCOMO model became one of the most widely used and discussed software cost estimation models  COCOMO evolved into COCOMO II
  • 24. COCOMO II Model (Cont.)  COCOMO II addresses the following areas:  Application composition model  Used during the early stages of s/w engg.  when UI prototyping, s/w and system interaction, performance assessment and tech. evaluation are paramount.  Early design stage model  Used once requirements have been stabilized and basic architecture has been established  Post-architecture stage model  Used during the construction of software  Like other estimation models, COCOMO II uses sizing information (object points, function points and lines of code).
  • 25. COCOMO II Model (Cont.)  COCOMO II Application composition model uses object points  Object points is an indirect software measure computed using  Screens (at UI)  Reports  Components likely to be required to build the application  Each object instance is classified into one of these complexity levels (simple, medium, difficult) on criteria suggested by Boehm.  Complexity is a function of number of client and server tables required to generate a screen or report and number of sections or views within a screen or report  After determining complexity, no. of screens, reports and components are weighted as in figure (23.6).  The object point count is determined by multiplying original no. of object instances by weighting factor.
  • 26. Figures 23.6 & 23.7 Object Type Complexity Weight Simple Medium Difficult Screen 1 2 3 Report 2 5 8 3GL component 10 Developer’s experience/capabilit y Very Low Low Nominal High Very High Environment maturity/capability Very Low Low Nominal High Very high PROD 4 7 13 25 50
  • 27. COCOMO II Model (Cont.)  For component-based development or when software reuse is applied, the %reuse is estimated and object point count is adjusted:  NOP = (object points) x [(100 - %reuse)/100]  NOP is new object points  To derive estimate of effort based on computed NOP value, a productivity rate must be derived  PROD = NOP / person-month  Estimate of project effort can be derived as:  Estimated effort = NOP/PROD
  • 28.  Excluded  23.8  23.9 and sub topics