SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Cost Estimation Tutorial
Cost is s strategic concept in software development for the following reasons:
1- Project management: Estimating cost is extremely crucial in carrying out project
management activities such as scheduling, planning and control.
2- Feasibility Study: Making investment decisions regarding software projects requires
full cost breakdown and analysis .Consequently, identified recurring and one time
costs are then incorporated in a financial feasibility study in terms of cost-benefit
analysis.
3- Cost reduction: Since software engineering aims to provide cost-effective software
solutions to business problems, many process and project related activities are designed
or re-engineered to achieve the goal of cost minimization.
4- Evaluating business performance: Cost is an essential ingredient to calculate many of
the financial ratios – explained above- uses to evaluate the financial performance for
business firm
5- Leverage: Cost plays a significant role in both e the operating and the financial
leverage in respect of risk and return. Relying on fixed costs as opposed to variable
costs can boost the operating leverage while financing with high percentage on debt-
based costs may boost the financial leverage.
Cost Estimation
Every year more projects are doomed by poor cost and schedule estimates than by technical,
political or organizational problems. It’s no wonder that so few companies realize that software
cost estimating can be a science, not just an art. It has been proven that it is quite applicable to
accurately and consistently predict development life cycle costs and schedules for a broad array
of software projects.
Though a vast body of knowledge exists today in respect to cost estimation techniques, most
of these estimation techniques view cost as a function of complexity whether explicitly or
implicitly. In early models, complexity means the project size or the program volume, which
can be estimated merely via kilo lines of codes KSLOC. In late models, complexity is
determined firstly by inputs, outputs, interfaces, files and queries that the software system
needs. Then this complexity is further adjusted via up to 14 different added-complexity factors.
Eventually, the final result is converted, through a standard conversion table to KLOC.
In basic cost estimation model the calculation is straightforward. By determining the value
of only two variables, total efforts in person-months can be easily calculated. These two
variables are :
q How many thousands of lines of code (KSLOC) your programmers must develop?
q The effort required per KSLOC (i.e.: Linear Productivity Factor)
Accordingly, multiplying these two variables together will result in the person months of effort
required for the project provided that the project is relatively small. Otherwise, another
exponential size penalty factor has to be incorporated for larger project sizes. Person-months
implies the number of months required to complete the entire project if only one person was to
carry out this mission. This underlying concept is the foundation of all of the software cost
estimating models especially those originated from Barry Boehm’s famous COCOMO models.
COCOMO Sample Example
Suppose it is required to build a Web Development system consisting of 25,000 lines of code.
How many person months of effort would this take using just this equation if:
1- The project size was relatively small
2- The project size was considered large
Answer:
1- For a relatively small project:
Efforts = Productivity x KSLOC
= 3.3 x 25 = 82.5 Person-Months
2- For a large project :
Efforts = Productivity x KSLOCPenalty
= 3.3 x 251.030
= 90.86 Person-Months
It should be noted , however . that COCOMO formulas have also different modes , models
and versions up to COCOMOII and the new COCOTS.
Estimating software costs typically involves the following drivers:
1- Complexity of the software project
2- Size of the software project
3- Efforts needed to complete the project
4- Time needed to complete the project
5- Risks and uncertainties involved .Yet , the risk driver is still not clearly incorporated in
the majority of cost estimation models for software systems .
Despite of several differences, most cost estimation models are more or less based on the
following rule:
Complexity à size
(Complexity determines software size in terms of KLOC)
Size à efforts
(KLOC determines efforts in person-months with a given level of productivity and exponential
size penalty factor)
Efforts à time
(Effort determines time at a given mode and/or model )
Time à Number of people required
(Time determines people “well-trained full time software development team”)
Four standard conversion tables are widely adopted in cost estimation. These tables are shown
below.
Table 1. Common Values for the Linear Productivity Factor
Project Type Linear Productivity Factor
COCOMO II Default 2.94
Embedded Development 2.58
E-commerce Development 3.60
Web Development 3.30
Military Development 2.77
Table 2. Typical Size Penalty Factors for Various Project Types
Project Type Exponential Size Penalty
Factor
COCOMO II Default 1.052
Embedded development 1.110
E-Commerce development 1.030
Web development 1.030
Military development 1.072
Table 3-a Factors for Converting Raw Values to Function
Points
Complexity
Description Low Medium High Total
Inputs __x 3 __x 4 __x 6 ____
Outputs __x 4 __x 5 __x 7 ____
Queries __x 3 __x 4 __x 6 ____
Files __x 7 __x 10 __x 15 ____
Program __x 5 __x 7 __x 10 ____
Interfaces
TOTAL UNADJUSTED FUNCTION POINTS ____
Table 3-b Complexity Factors
Scale of 1 to 5
Data Communications _____
Heavy Use Configuration _____
Transaction Rate _____
End-User efficiency _____
Complex Processing _____
Installation Ease _____
Multiple sites _____
Performance _____
Distributed functions _____
On-line data entry _____
On-line update _____
Reusability _____
Operational Ease _____
Extensibility _____
Project Complexity (PC) _____
Table 4. Lines of Code Per Function Point by Programming Language
Language SLOC per Function Point
C++ default 53
Cobol default 107
Delphi 5 18
HTML 4 14
Visual Basic 6 24
SQL default 13
Java 2 default 46
C 130
Turbo Pascal 50
Power Builder 15
Packages 10-40
• Function Points Estimations
An alternative to direct KSLOC estimating is through function points, then use a the above
standard table called “Lines of Code Per Function Point by Programming Language” to
convert them to KSLOC. Function points was used for the first time by IBM to capture the
complexity of the software system in terms of its SRS functionality and the way it interacts
with its users.
How Function Points Work?
1- Estimate the number of external inputs, external interface files, external outputs,
external queries and logical internal tables (files).
2- Use the Function Point Conversion Factor table to get total initial function points .
3- Initial function points are adjusted via 14 complexity factors to obtain final (adjusted)
function points.
4- Use adjusted function points to obtain KSLOC.
5- Use KSLOC to estimate efforts as explained in COCOMO examples above
FP Sample Example
Suppose the requirement specification for the Blood Bank Website Development of the
blood bank project has been carefully analyzed and the following estimates have been
obtained. There is a need for 11 inputs, 11 outputs, 7 inquiries, 22 files, and 6 external
interfaces. Also, assume outputs, queries , files function point attributes are of low
complexity and all other function points attributes are of medium complexity.
The complexity adjustment value for factor 1 is set to 3 because the SRS requires that the
software product has only a good degree of data communication; factor 2 is set to 0 because the
SRS emphasizes no need for heavy use configuration; factor 5 is set to 3 because the order-
web-based order fulfillment module has medium level of complex processing; factors 10 and
11 are set to 4 and 2 respectively because the module is always on-line but needs only few
updates ; factor 3, 4 6,7,8,9,12,13,14 are set to 4, 3,2, 3,4,3,4,3,2 respectively based on their
estimated level of complexity or demand..
Make the following calculations showing the full procedure in details:
1- What is the FUNCTION POINTS (FP) for the blood bank project
2- What is the ADJUSTED FUNCTION POINTS (AFP) for the blood bank project?
3- What is the approximate number of LOC in the following languages:
• “C++” programming language
• “Java” Programming language
4- Calculate the estimated schedule time in person-months assuming that Java is used as
the implementation language
5- Use COCOMO Model to directly estimate efforts and time without using function
points ?
Answer
1- Calculating Function Points
FUNCTION POINTS ESTIMATION (1)
DESCRIPTION LOW MEDIUM HIGH TOTAL
INPUTS X3 11X4 X6 44
OUTPUTS 11X4 X5 X7 44
QUERIES 7X3 X4 X6 21
FILES 22X7 X10 X15 154
PROGRAM INTERFACES X5 6X7 X10 42
Total Unadjusted Function
Points 305
2- Calculating Adjusted Function Points
FUNCTION POINTS ESTIMATION (2)
DATA COMMUNICATIONS 3
HEAVY USE CONFIGURATION 0
TRANSACTION RATE 4
END-USER EFFICIENCY 3
COMPLEX PROCESSING 3
INSTALLATIOIN EASE 2
MULTIPLE SITES 3
PERFORMANCE 4
DISTRIBUTED FUNCTIONS 3
ON-LINE DATA ENTRY 4
ON-LINE UPDATE 2
REUSABILITY 4
OPERATIONAL EASE 3
EXTENSIBILITY 2
PROJECT COMPLEXITY (PC) 40
FUNCTION POINT ESTIMATION (3)
PROCESSING COMPLEXITY(PC): 40
ADJUSTED PROCESSING COMPLEXITY (PCA) 0.65+(0.01 *40)= 1.05
TOTAL ADJUSTED FUNCTION POINTS 305 * 1.05 = 320.25
3- Approximate number of LOC for the following languages:
• “C++” programming language :
LOC = 320.25 x 53 = 16973.25 ~ 17 KSLOC
• “Java” Programming language
LOC = 320.25 x 46 = 14731.50 ~ 14.7 KSLOC
4- Estimated efforts calculation
Efforts = Productivity x KSLOCPenalty
= 3.3 x 14.71.030
= 52.58 Person-Months
5- Using COCOMO Model to directly estimate efforts and time without using
function points
We are going to use the Intermediate COCOMO and Semi-Detached mode for this example
Estimated
KSLOC New KSLOC Function/Module name
5.5 5.5 General/Donor Website Development
8.5 8.5 Internal/Blood Bank Website Development
3.0 3.0 Blood Requestor Website Development
4.5 4.5 Web security
4.5 4.5 Reporting tools
3.0 3.0 Fault tolerance
29.0 29.0
Total Project for Web Development
Comments = (1/5) * New KSLOC * 20%
= (1/5) * 29000 * 0.2
= 1160
Total KSLOC = New KSLOC + Comments
= 29000 + 1160
=30160
≈30 KSLOC
LM = 3.0 * (KSLOC)^1.12
= 3.0 * (30)^1.12
≈135 Labor Month
DT = 2.5 * (LM)^0.35
= 2.5 * (135)^0.35
≈ 14 Calendar Month
LM: Labor Month
DT: Development Time

Mais conteúdo relacionado

Mais procurados

Online blood bank management system
Online blood bank management systemOnline blood bank management system
Online blood bank management systemskk4646
 
System Analysis and Design Project
System Analysis and Design ProjectSystem Analysis and Design Project
System Analysis and Design ProjectSiddharth Shah
 
behavioral model (DFD & state diagram)
behavioral model (DFD & state diagram)behavioral model (DFD & state diagram)
behavioral model (DFD & state diagram)Lokesh Singrol
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalRajani Bhandari
 
ADVANCED SYSTEM ANALYSIS On Automated Library Management System
ADVANCED SYSTEM ANALYSIS On Automated Library Management SystemADVANCED SYSTEM ANALYSIS On Automated Library Management System
ADVANCED SYSTEM ANALYSIS On Automated Library Management SystemUraz Pokharel
 
IT Project on Blood Bank Management system
IT Project on Blood Bank Management systemIT Project on Blood Bank Management system
IT Project on Blood Bank Management systemDanish Alam
 
Blood Bank Management System
Blood Bank Management SystemBlood Bank Management System
Blood Bank Management SystemSakibhasan63
 
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...Showrav Mazumder
 
Course registration system dfd
Course registration system dfdCourse registration system dfd
Course registration system dfdUtsav mistry
 
Mobile Based Attendance System
Mobile Based Attendance System Mobile Based Attendance System
Mobile Based Attendance System Abhishek Jha
 
Blood Bank Management System
Blood Bank Management SystemBlood Bank Management System
Blood Bank Management SystemSM. Aurnob
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planningPiyush Gogia
 
Blood bank management system
Blood bank management systemBlood bank management system
Blood bank management systemRajendraPrasad361
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system databaseSaimunur Rahman
 
SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMNitish Xavier Tirkey
 
java Project report online banking system
java Project report online banking systemjava Project report online banking system
java Project report online banking systemVishNu KuNtal
 
Bank management system
Bank management systemBank management system
Bank management systemsumanadas37
 

Mais procurados (20)

Online blood bank management system
Online blood bank management systemOnline blood bank management system
Online blood bank management system
 
System Analysis and Design Project
System Analysis and Design ProjectSystem Analysis and Design Project
System Analysis and Design Project
 
behavioral model (DFD & state diagram)
behavioral model (DFD & state diagram)behavioral model (DFD & state diagram)
behavioral model (DFD & state diagram)
 
Modeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and FunctionalModeling- Object, Dynamic and Functional
Modeling- Object, Dynamic and Functional
 
ADVANCED SYSTEM ANALYSIS On Automated Library Management System
ADVANCED SYSTEM ANALYSIS On Automated Library Management SystemADVANCED SYSTEM ANALYSIS On Automated Library Management System
ADVANCED SYSTEM ANALYSIS On Automated Library Management System
 
Srs for banking system
Srs for banking systemSrs for banking system
Srs for banking system
 
Online attendance management system
Online attendance management systemOnline attendance management system
Online attendance management system
 
IT Project on Blood Bank Management system
IT Project on Blood Bank Management systemIT Project on Blood Bank Management system
IT Project on Blood Bank Management system
 
Skenario
SkenarioSkenario
Skenario
 
Blood Bank Management System
Blood Bank Management SystemBlood Bank Management System
Blood Bank Management System
 
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...
Blood Bank Management Information System [Web-Url: http://infobloodbank.somee...
 
Course registration system dfd
Course registration system dfdCourse registration system dfd
Course registration system dfd
 
Mobile Based Attendance System
Mobile Based Attendance System Mobile Based Attendance System
Mobile Based Attendance System
 
Blood Bank Management System
Blood Bank Management SystemBlood Bank Management System
Blood Bank Management System
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Blood bank management system
Blood bank management systemBlood bank management system
Blood bank management system
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system database
 
SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEM
 
java Project report online banking system
java Project report online banking systemjava Project report online banking system
java Project report online banking system
 
Bank management system
Bank management systemBank management system
Bank management system
 

Destaque

открытый урок 30.01.2013
открытый урок 30.01.2013открытый урок 30.01.2013
открытый урок 30.01.2013dextereed
 
рнпк петр первый
рнпк петр первыйрнпк петр первый
рнпк петр первыйdextereed
 
Legamento crociato
Legamento crociatoLegamento crociato
Legamento crociatolarsdvd
 
Факультатив по английскому языку
Факультатив по английскому языкуФакультатив по английскому языку
Факультатив по английскому языкуd19school
 
24.10 конспект урока
24.10 конспект урока24.10 конспект урока
24.10 конспект урокаdextereed
 
Assigning ip address
Assigning ip addressAssigning ip address
Assigning ip addressralphjamesg
 
2009_12_04_ChemRes_Presentation_Final_ver
2009_12_04_ChemRes_Presentation_Final_ver2009_12_04_ChemRes_Presentation_Final_ver
2009_12_04_ChemRes_Presentation_Final_verJoe Yee Wong
 
блиц опрос по вов
блиц опрос по вовблиц опрос по вов
блиц опрос по вовdextereed
 
Fashion is an expression
Fashion is an expressionFashion is an expression
Fashion is an expressionJoe Abou Jawdeh
 
герои вов уроженцы буинска
герои вов уроженцы буинскагерои вов уроженцы буинска
герои вов уроженцы буинскаdextereed
 

Destaque (18)

открытый урок 30.01.2013
открытый урок 30.01.2013открытый урок 30.01.2013
открытый урок 30.01.2013
 
Audience feedback
Audience feedbackAudience feedback
Audience feedback
 
рнпк петр первый
рнпк петр первыйрнпк петр первый
рнпк петр первый
 
Legamento crociato
Legamento crociatoLegamento crociato
Legamento crociato
 
Факультатив по английскому языку
Факультатив по английскому языкуФакультатив по английскому языку
Факультатив по английскому языку
 
The Way to a Successful Interview
The Way to a Successful InterviewThe Way to a Successful Interview
The Way to a Successful Interview
 
CURRICULUM VITAE
CURRICULUM VITAECURRICULUM VITAE
CURRICULUM VITAE
 
Akcja CSR - Kocham cię Mamo 2016
Akcja CSR - Kocham cię Mamo 2016Akcja CSR - Kocham cię Mamo 2016
Akcja CSR - Kocham cię Mamo 2016
 
Interview Questions to Ask the Hiring Manager
Interview Questions to Ask the Hiring ManagerInterview Questions to Ask the Hiring Manager
Interview Questions to Ask the Hiring Manager
 
24.10 конспект урока
24.10 конспект урока24.10 конспект урока
24.10 конспект урока
 
Assigning ip address
Assigning ip addressAssigning ip address
Assigning ip address
 
001 - ABR
001 - ABR001 - ABR
001 - ABR
 
Resume
ResumeResume
Resume
 
Análisis de fourier
Análisis de fourierAnálisis de fourier
Análisis de fourier
 
2009_12_04_ChemRes_Presentation_Final_ver
2009_12_04_ChemRes_Presentation_Final_ver2009_12_04_ChemRes_Presentation_Final_ver
2009_12_04_ChemRes_Presentation_Final_ver
 
блиц опрос по вов
блиц опрос по вовблиц опрос по вов
блиц опрос по вов
 
Fashion is an expression
Fashion is an expressionFashion is an expression
Fashion is an expression
 
герои вов уроженцы буинска
герои вов уроженцы буинскагерои вов уроженцы буинска
герои вов уроженцы буинска
 

Semelhante a cost-estimation-tutorial

Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsbabak danyal
 
Estimation techniques and risk management
Estimation techniques and risk managementEstimation techniques and risk management
Estimation techniques and risk managementPurushottam Basnet
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxYagnaGummadi
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5SIMONTHOMAS S
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelPrakash Poudel
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimationdeep sharma
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)kiran Patel
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1Gagan Deep
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...IRJET Journal
 

Semelhante a cost-estimation-tutorial (20)

Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Metrics
MetricsMetrics
Metrics
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Estimation techniques and risk management
Estimation techniques and risk managementEstimation techniques and risk management
Estimation techniques and risk management
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Cocomomodel
CocomomodelCocomomodel
Cocomomodel
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
 

Último

Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsRommel Regala
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxruthvilladarez
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 

Último (20)

YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World Politics
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 

cost-estimation-tutorial

  • 1. Cost Estimation Tutorial Cost is s strategic concept in software development for the following reasons: 1- Project management: Estimating cost is extremely crucial in carrying out project management activities such as scheduling, planning and control. 2- Feasibility Study: Making investment decisions regarding software projects requires full cost breakdown and analysis .Consequently, identified recurring and one time costs are then incorporated in a financial feasibility study in terms of cost-benefit analysis. 3- Cost reduction: Since software engineering aims to provide cost-effective software solutions to business problems, many process and project related activities are designed or re-engineered to achieve the goal of cost minimization. 4- Evaluating business performance: Cost is an essential ingredient to calculate many of the financial ratios – explained above- uses to evaluate the financial performance for business firm 5- Leverage: Cost plays a significant role in both e the operating and the financial leverage in respect of risk and return. Relying on fixed costs as opposed to variable costs can boost the operating leverage while financing with high percentage on debt- based costs may boost the financial leverage. Cost Estimation Every year more projects are doomed by poor cost and schedule estimates than by technical, political or organizational problems. It’s no wonder that so few companies realize that software cost estimating can be a science, not just an art. It has been proven that it is quite applicable to accurately and consistently predict development life cycle costs and schedules for a broad array of software projects. Though a vast body of knowledge exists today in respect to cost estimation techniques, most of these estimation techniques view cost as a function of complexity whether explicitly or implicitly. In early models, complexity means the project size or the program volume, which can be estimated merely via kilo lines of codes KSLOC. In late models, complexity is determined firstly by inputs, outputs, interfaces, files and queries that the software system needs. Then this complexity is further adjusted via up to 14 different added-complexity factors. Eventually, the final result is converted, through a standard conversion table to KLOC. In basic cost estimation model the calculation is straightforward. By determining the value of only two variables, total efforts in person-months can be easily calculated. These two variables are : q How many thousands of lines of code (KSLOC) your programmers must develop? q The effort required per KSLOC (i.e.: Linear Productivity Factor) Accordingly, multiplying these two variables together will result in the person months of effort required for the project provided that the project is relatively small. Otherwise, another exponential size penalty factor has to be incorporated for larger project sizes. Person-months implies the number of months required to complete the entire project if only one person was to carry out this mission. This underlying concept is the foundation of all of the software cost estimating models especially those originated from Barry Boehm’s famous COCOMO models.
  • 2. COCOMO Sample Example Suppose it is required to build a Web Development system consisting of 25,000 lines of code. How many person months of effort would this take using just this equation if: 1- The project size was relatively small 2- The project size was considered large Answer: 1- For a relatively small project: Efforts = Productivity x KSLOC = 3.3 x 25 = 82.5 Person-Months 2- For a large project : Efforts = Productivity x KSLOCPenalty = 3.3 x 251.030 = 90.86 Person-Months It should be noted , however . that COCOMO formulas have also different modes , models and versions up to COCOMOII and the new COCOTS. Estimating software costs typically involves the following drivers: 1- Complexity of the software project 2- Size of the software project 3- Efforts needed to complete the project 4- Time needed to complete the project 5- Risks and uncertainties involved .Yet , the risk driver is still not clearly incorporated in the majority of cost estimation models for software systems . Despite of several differences, most cost estimation models are more or less based on the following rule: Complexity à size (Complexity determines software size in terms of KLOC) Size à efforts (KLOC determines efforts in person-months with a given level of productivity and exponential size penalty factor) Efforts à time (Effort determines time at a given mode and/or model ) Time à Number of people required (Time determines people “well-trained full time software development team”)
  • 3. Four standard conversion tables are widely adopted in cost estimation. These tables are shown below. Table 1. Common Values for the Linear Productivity Factor Project Type Linear Productivity Factor COCOMO II Default 2.94 Embedded Development 2.58 E-commerce Development 3.60 Web Development 3.30 Military Development 2.77 Table 2. Typical Size Penalty Factors for Various Project Types Project Type Exponential Size Penalty Factor COCOMO II Default 1.052 Embedded development 1.110 E-Commerce development 1.030 Web development 1.030 Military development 1.072
  • 4. Table 3-a Factors for Converting Raw Values to Function Points Complexity Description Low Medium High Total Inputs __x 3 __x 4 __x 6 ____ Outputs __x 4 __x 5 __x 7 ____ Queries __x 3 __x 4 __x 6 ____ Files __x 7 __x 10 __x 15 ____ Program __x 5 __x 7 __x 10 ____ Interfaces TOTAL UNADJUSTED FUNCTION POINTS ____ Table 3-b Complexity Factors Scale of 1 to 5 Data Communications _____ Heavy Use Configuration _____ Transaction Rate _____ End-User efficiency _____ Complex Processing _____ Installation Ease _____ Multiple sites _____ Performance _____ Distributed functions _____ On-line data entry _____ On-line update _____ Reusability _____ Operational Ease _____ Extensibility _____ Project Complexity (PC) _____
  • 5. Table 4. Lines of Code Per Function Point by Programming Language Language SLOC per Function Point C++ default 53 Cobol default 107 Delphi 5 18 HTML 4 14 Visual Basic 6 24 SQL default 13 Java 2 default 46 C 130 Turbo Pascal 50 Power Builder 15 Packages 10-40 • Function Points Estimations An alternative to direct KSLOC estimating is through function points, then use a the above standard table called “Lines of Code Per Function Point by Programming Language” to convert them to KSLOC. Function points was used for the first time by IBM to capture the complexity of the software system in terms of its SRS functionality and the way it interacts with its users. How Function Points Work? 1- Estimate the number of external inputs, external interface files, external outputs, external queries and logical internal tables (files). 2- Use the Function Point Conversion Factor table to get total initial function points . 3- Initial function points are adjusted via 14 complexity factors to obtain final (adjusted) function points. 4- Use adjusted function points to obtain KSLOC. 5- Use KSLOC to estimate efforts as explained in COCOMO examples above
  • 6. FP Sample Example Suppose the requirement specification for the Blood Bank Website Development of the blood bank project has been carefully analyzed and the following estimates have been obtained. There is a need for 11 inputs, 11 outputs, 7 inquiries, 22 files, and 6 external interfaces. Also, assume outputs, queries , files function point attributes are of low complexity and all other function points attributes are of medium complexity. The complexity adjustment value for factor 1 is set to 3 because the SRS requires that the software product has only a good degree of data communication; factor 2 is set to 0 because the SRS emphasizes no need for heavy use configuration; factor 5 is set to 3 because the order- web-based order fulfillment module has medium level of complex processing; factors 10 and 11 are set to 4 and 2 respectively because the module is always on-line but needs only few updates ; factor 3, 4 6,7,8,9,12,13,14 are set to 4, 3,2, 3,4,3,4,3,2 respectively based on their estimated level of complexity or demand.. Make the following calculations showing the full procedure in details: 1- What is the FUNCTION POINTS (FP) for the blood bank project 2- What is the ADJUSTED FUNCTION POINTS (AFP) for the blood bank project? 3- What is the approximate number of LOC in the following languages: • “C++” programming language • “Java” Programming language 4- Calculate the estimated schedule time in person-months assuming that Java is used as the implementation language 5- Use COCOMO Model to directly estimate efforts and time without using function points ? Answer 1- Calculating Function Points FUNCTION POINTS ESTIMATION (1) DESCRIPTION LOW MEDIUM HIGH TOTAL INPUTS X3 11X4 X6 44 OUTPUTS 11X4 X5 X7 44 QUERIES 7X3 X4 X6 21 FILES 22X7 X10 X15 154 PROGRAM INTERFACES X5 6X7 X10 42 Total Unadjusted Function Points 305
  • 7. 2- Calculating Adjusted Function Points FUNCTION POINTS ESTIMATION (2) DATA COMMUNICATIONS 3 HEAVY USE CONFIGURATION 0 TRANSACTION RATE 4 END-USER EFFICIENCY 3 COMPLEX PROCESSING 3 INSTALLATIOIN EASE 2 MULTIPLE SITES 3 PERFORMANCE 4 DISTRIBUTED FUNCTIONS 3 ON-LINE DATA ENTRY 4 ON-LINE UPDATE 2 REUSABILITY 4 OPERATIONAL EASE 3 EXTENSIBILITY 2 PROJECT COMPLEXITY (PC) 40 FUNCTION POINT ESTIMATION (3) PROCESSING COMPLEXITY(PC): 40 ADJUSTED PROCESSING COMPLEXITY (PCA) 0.65+(0.01 *40)= 1.05 TOTAL ADJUSTED FUNCTION POINTS 305 * 1.05 = 320.25 3- Approximate number of LOC for the following languages: • “C++” programming language : LOC = 320.25 x 53 = 16973.25 ~ 17 KSLOC • “Java” Programming language LOC = 320.25 x 46 = 14731.50 ~ 14.7 KSLOC 4- Estimated efforts calculation Efforts = Productivity x KSLOCPenalty = 3.3 x 14.71.030 = 52.58 Person-Months
  • 8. 5- Using COCOMO Model to directly estimate efforts and time without using function points We are going to use the Intermediate COCOMO and Semi-Detached mode for this example Estimated KSLOC New KSLOC Function/Module name 5.5 5.5 General/Donor Website Development 8.5 8.5 Internal/Blood Bank Website Development 3.0 3.0 Blood Requestor Website Development 4.5 4.5 Web security 4.5 4.5 Reporting tools 3.0 3.0 Fault tolerance 29.0 29.0 Total Project for Web Development Comments = (1/5) * New KSLOC * 20% = (1/5) * 29000 * 0.2 = 1160 Total KSLOC = New KSLOC + Comments = 29000 + 1160 =30160 ≈30 KSLOC LM = 3.0 * (KSLOC)^1.12 = 3.0 * (30)^1.12 ≈135 Labor Month DT = 2.5 * (LM)^0.35 = 2.5 * (135)^0.35 ≈ 14 Calendar Month LM: Labor Month DT: Development Time