SlideShare a Scribd company logo
2
Most read
3
Most read
17
Most read
Algorithmic Software Cost
Modeling
Kasun Ranga Wijeweera
(krw19870829@gmail.com)
Algorithmic Cost Modeling
• A mathematical function is used to estimate
the cost
– Inputs: Project, Process, Product
– Decided by project managers
• Historical data are studied to derive the
function
• Commonly used product attribute is LOC
(code size)
Software Productivity
• The rate at which individual software
engineers involve in development process is
known as software productivity
• Although quality assurance is a factor in
productivity assessment, the productivity is not
quality oriented
• The useful functionality produced per time unit
should be measured
Productivity Measures
• Size related measures:
– Lines of delivered source code
– Object code instructions
– Etc
• Function related measures:
– Functionality of the delivered software
– E.g. Function points
Lines of Code
• What programs should be considered as part of
the system?
• Assumption of the model:
– The relationship between system size and volume
of documentation is linear
• Key thing to remember:
– Uncertainty is more important than the initial line
– Seek justifiable bounds
Productivity Comparison
• Low level language verses high level language
• Verbose code verses compact code
Function Points
• Program characteristics are considered
– External inputs and outputs
– User interactions
– External interfaces
– Files used by the system
• Corresponding weights are assigned to each
characteristic
FPs and LOC
• FPs can be used to estimate LOC
– LOC = AVC * (Number of FPs)
– AVC is a factor which depends on the
programming language
• Assembly language: AVC = 200 to 300
• 4 GL language: AVC = 2 to 40
• FPs are subjective and dependent on the
estimator
– FP automation is impossible
Productivity Estimates
• Real time embedded systems
– 40 to 60 LOC per month
• Systems programs
– 150 to 400 LOC per month
• Commercial applications
– 200 to 900 LOC per month
Productivity Factors
• Application domain experience
• Process quality
• Product size
• Technology support
• Working environment
Changing Technologies
• Previous estimating experience does not carry
over to new systems due to changes in
technology
– Use of web services
– Use of CASE tools and program generators
– Development for and with reuse
– Using scripting languages
COCOMO
• Constructive Cost Model (COCOMO)
• Estimates are derived as functions of variables
• Data of past projects must be available
• First published by Dr. Barry Boehm in 1981
• Derived through statistical regression of data
from 63 past projects
Example
Size 2000
SLOC
8000
SLOC
32000
SLOC
128000
SLOC
MM 5 21 91 392
Schedule
Months
5 8 14 24
Staff 1.1 2.7 6.5 16
SLOC/
MM
400 376 352 327
Basic Effort Equation
• (Effort) = A * (Size) ^ (Exponent)
• (Effort) = (EAF) * A * (Size) ^ (Exponent)
• Estimates the man-months (MM) of effort for
software development project
– 1 MM = 152 hours of development
• Size is the source lines of code (SLOC)
Modes and Models of COCOMO
• Three modes
– Organic mode
– Semidetached mode
– Embedded mode
• Three models
– Basic model
– Intermediate model
– Detailed model
Modes of COCOMO
• Organic mode
– Similar to an earlier project
– Familiar and stable environment
– E.g. Accounting system
• Semidetached mode
– Between Organic and Embedded modes
• Embedded mode
– New project involving new inventions
– E.g. Real-time systems
Models of COCOMO
• Basic model
– Roughly estimates project cost, performance and
schedule
• Intermediate model
– EAF (Effort Adjustment Factor) is used from 15
cost drivers
• Detailed model
– Different Effort Multipliers are used for each phase
of project
Effort Equation : Basic
• (Effort) = A * (Size) ^ (Exponent)
• A is a constant which depends on the mode of
development
– Organic: 2.4, Semidetached: 3.0, Embedded: 3.6
• (Exponent) is also a constant which depends
on the mode of development
– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
Schedule Equation : Basic
• Minimum time to develop (MTDEV)
• (MTDEV) = 2.5 * (Effort) ^ (Exponent)
• Exponent is a constant which depends on the
mode
– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes
• MTDEV is independent from the number of
people assigned
Effort Equation : Intermediate
• (Effort) = (EAF) * A * (Size) ^ (Exponent)
• A is a constant which depends on the mode of
development
– Organic: 3.2, Semidetached: 3.0, Embedded: 2.8
• (Exponent) is also a constant which depends
on the mode of development
– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
EAF (Effort Adjustment Factor)
• EAF = Product of effort multipliers
Schedule Equation : Intermediate
• Minimum time to develop (MTDEV)
• (MTDEV) = 2.5 * (Effort) ^ (Exponent)
• Exponent is a constant which depends on the
mode
– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes
• MTDEV is independent from the number of
people assigned
Tool Demonstration
http://sunset.usc.edu/research/COCOMOII/expert_co
como/expert_cocomo2000.html
Thank you!

More Related Content

PPTX
Lect4 software economics
PPTX
COCOMO MODEL 1 And 2
PDF
COCOMO Model By Dr. B. J. Mohite
PPTX
Cost estimation using cocomo model
PPT
Software Engineering (Project Planning & Estimation)
PPT
Cocomo model
PPTX
Software Size Estimation
PPT
Cocomo model
Lect4 software economics
COCOMO MODEL 1 And 2
COCOMO Model By Dr. B. J. Mohite
Cost estimation using cocomo model
Software Engineering (Project Planning & Estimation)
Cocomo model
Software Size Estimation
Cocomo model

What's hot (20)

PPTX
software cost factor
PPTX
Phased life cycle model
PPTX
Language and Processors for Requirements Specification
PPTX
Planning the development process
PPTX
Software Cost Estimation Techniques
PPTX
Estimating Software Maintenance Costs
PDF
Requirement Engineering
PPTX
Designing Techniques in Software Engineering
PPTX
Defining the Problem - Goals and requirements
PPTX
Software Engineering
PPTX
Delphi cost estimation model
PDF
Software Process Models
PPTX
Chapter 1 2 - some size factors
PPTX
Modules and modularization criteria
PDF
Software engineering lecture notes
PPTX
Design notation
PPTX
Real time and distributed design
PPTX
unit testing and debugging
PPTX
Design Concept software engineering
PPTX
Fundamental design concepts
software cost factor
Phased life cycle model
Language and Processors for Requirements Specification
Planning the development process
Software Cost Estimation Techniques
Estimating Software Maintenance Costs
Requirement Engineering
Designing Techniques in Software Engineering
Defining the Problem - Goals and requirements
Software Engineering
Delphi cost estimation model
Software Process Models
Chapter 1 2 - some size factors
Modules and modularization criteria
Software engineering lecture notes
Design notation
Real time and distributed design
unit testing and debugging
Design Concept software engineering
Fundamental design concepts
Ad

Similar to Algorithmic Software Cost Modeling (20)

PPTX
Project Estimation
PPT
Software Estimation Techniques
PPT
cocomo models in software engineering ppt presentation
PPT
Chapter 3- Software Project Management(Reduced).ppt
PDF
3wis_2.pdf
PPT
21UCAE52 Software Project Management.ppt
PPTX
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
PDF
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
PPTX
Software cost estimation
PPT
Project Estimation.ppt
PPT
Project Estimation.ppt
PPTX
Group-5-presentation_SPM, here is deatiled version.pptx
PPTX
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
PPTX
1sqa25.pptx
PPT
lec4.ppt
PPT
Software cost estimation project
PDF
software project management cocomomodel.pdf
PPT
COCOMO Model
PPT
Project Estimation
Software Estimation Techniques
cocomo models in software engineering ppt presentation
Chapter 3- Software Project Management(Reduced).ppt
3wis_2.pdf
21UCAE52 Software Project Management.ppt
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
Software cost estimation
Project Estimation.ppt
Project Estimation.ppt
Group-5-presentation_SPM, here is deatiled version.pptx
Lec_6_Sosssssftwaaaaaare_Estimation.pptx
1sqa25.pptx
lec4.ppt
Software cost estimation project
software project management cocomomodel.pdf
COCOMO Model
Ad

More from Kasun Ranga Wijeweera (20)

PDF
Decorator Design Pattern in C#
PDF
Singleton Design Pattern in C#
PDF
Introduction to Design Patterns
PPTX
Algorithms for Convex Partitioning of a Polygon
PDF
Geometric Transformations II
PDF
Geometric Transformations I
PDF
Introduction to Polygons
PDF
Bresenham Line Drawing Algorithm
PDF
Digital Differential Analyzer Line Drawing Algorithm
PDF
Loops in Visual Basic: Exercises
PDF
Conditional Logic: Exercises
PDF
Getting Started with Visual Basic Programming
PDF
CheckBoxes and RadioButtons
PDF
Variables in Visual Basic Programming
PDF
Loops in Visual Basic Programming
PDF
Conditional Logic in Visual Basic Programming
PDF
Assignment for Variables
PDF
Assignment for Factory Method Design Pattern in C# [ANSWERS]
PDF
Assignment for Events
PDF
Mastering Arrays Assignment
Decorator Design Pattern in C#
Singleton Design Pattern in C#
Introduction to Design Patterns
Algorithms for Convex Partitioning of a Polygon
Geometric Transformations II
Geometric Transformations I
Introduction to Polygons
Bresenham Line Drawing Algorithm
Digital Differential Analyzer Line Drawing Algorithm
Loops in Visual Basic: Exercises
Conditional Logic: Exercises
Getting Started with Visual Basic Programming
CheckBoxes and RadioButtons
Variables in Visual Basic Programming
Loops in Visual Basic Programming
Conditional Logic in Visual Basic Programming
Assignment for Variables
Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Events
Mastering Arrays Assignment

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
history of c programming in notes for students .pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
AI in Product Development-omnex systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
top salesforce developer skills in 2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
Transform Your Business with a Software ERP System
PTS Company Brochure 2025 (1).pdf.......
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
history of c programming in notes for students .pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Operating system designcfffgfgggggggvggggggggg
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
AI in Product Development-omnex systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
top salesforce developer skills in 2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf

Algorithmic Software Cost Modeling

  • 2. Algorithmic Cost Modeling • A mathematical function is used to estimate the cost – Inputs: Project, Process, Product – Decided by project managers • Historical data are studied to derive the function • Commonly used product attribute is LOC (code size)
  • 3. Software Productivity • The rate at which individual software engineers involve in development process is known as software productivity • Although quality assurance is a factor in productivity assessment, the productivity is not quality oriented • The useful functionality produced per time unit should be measured
  • 4. Productivity Measures • Size related measures: – Lines of delivered source code – Object code instructions – Etc • Function related measures: – Functionality of the delivered software – E.g. Function points
  • 5. Lines of Code • What programs should be considered as part of the system? • Assumption of the model: – The relationship between system size and volume of documentation is linear • Key thing to remember: – Uncertainty is more important than the initial line – Seek justifiable bounds
  • 6. Productivity Comparison • Low level language verses high level language • Verbose code verses compact code
  • 7. Function Points • Program characteristics are considered – External inputs and outputs – User interactions – External interfaces – Files used by the system • Corresponding weights are assigned to each characteristic
  • 8. FPs and LOC • FPs can be used to estimate LOC – LOC = AVC * (Number of FPs) – AVC is a factor which depends on the programming language • Assembly language: AVC = 200 to 300 • 4 GL language: AVC = 2 to 40 • FPs are subjective and dependent on the estimator – FP automation is impossible
  • 9. Productivity Estimates • Real time embedded systems – 40 to 60 LOC per month • Systems programs – 150 to 400 LOC per month • Commercial applications – 200 to 900 LOC per month
  • 10. Productivity Factors • Application domain experience • Process quality • Product size • Technology support • Working environment
  • 11. Changing Technologies • Previous estimating experience does not carry over to new systems due to changes in technology – Use of web services – Use of CASE tools and program generators – Development for and with reuse – Using scripting languages
  • 12. COCOMO • Constructive Cost Model (COCOMO) • Estimates are derived as functions of variables • Data of past projects must be available • First published by Dr. Barry Boehm in 1981 • Derived through statistical regression of data from 63 past projects
  • 13. Example Size 2000 SLOC 8000 SLOC 32000 SLOC 128000 SLOC MM 5 21 91 392 Schedule Months 5 8 14 24 Staff 1.1 2.7 6.5 16 SLOC/ MM 400 376 352 327
  • 14. Basic Effort Equation • (Effort) = A * (Size) ^ (Exponent) • (Effort) = (EAF) * A * (Size) ^ (Exponent) • Estimates the man-months (MM) of effort for software development project – 1 MM = 152 hours of development • Size is the source lines of code (SLOC)
  • 15. Modes and Models of COCOMO • Three modes – Organic mode – Semidetached mode – Embedded mode • Three models – Basic model – Intermediate model – Detailed model
  • 16. Modes of COCOMO • Organic mode – Similar to an earlier project – Familiar and stable environment – E.g. Accounting system • Semidetached mode – Between Organic and Embedded modes • Embedded mode – New project involving new inventions – E.g. Real-time systems
  • 17. Models of COCOMO • Basic model – Roughly estimates project cost, performance and schedule • Intermediate model – EAF (Effort Adjustment Factor) is used from 15 cost drivers • Detailed model – Different Effort Multipliers are used for each phase of project
  • 18. Effort Equation : Basic • (Effort) = A * (Size) ^ (Exponent) • A is a constant which depends on the mode of development – Organic: 2.4, Semidetached: 3.0, Embedded: 3.6 • (Exponent) is also a constant which depends on the mode of development – Organic: 1.05, Semidetached: 1.12, Embedded: 1.20 • Size should be in KSLOC (1000 SLOC)
  • 19. Schedule Equation : Basic • Minimum time to develop (MTDEV) • (MTDEV) = 2.5 * (Effort) ^ (Exponent) • Exponent is a constant which depends on the mode – Organic: 0.38, Semidetached: 0.35, Embedded: 0.32 • 2.5 is constant for all modes • MTDEV is independent from the number of people assigned
  • 20. Effort Equation : Intermediate • (Effort) = (EAF) * A * (Size) ^ (Exponent) • A is a constant which depends on the mode of development – Organic: 3.2, Semidetached: 3.0, Embedded: 2.8 • (Exponent) is also a constant which depends on the mode of development – Organic: 1.05, Semidetached: 1.12, Embedded: 1.20 • Size should be in KSLOC (1000 SLOC)
  • 21. EAF (Effort Adjustment Factor) • EAF = Product of effort multipliers
  • 22. Schedule Equation : Intermediate • Minimum time to develop (MTDEV) • (MTDEV) = 2.5 * (Effort) ^ (Exponent) • Exponent is a constant which depends on the mode – Organic: 0.38, Semidetached: 0.35, Embedded: 0.32 • 2.5 is constant for all modes • MTDEV is independent from the number of people assigned