SlideShare una empresa de Scribd logo
1 de 44
SEG3300 R.L. Probert 1
COCOMO ModelsCOCOMO Models
SEG3300 R.L. Probert 2
Project Management and Mr.Project Management and Mr.
MurphyMurphy
1. Logic is a systematic method of coming to the
wrong conclusion with confidence.
2. Technology is dominated by those who manage
what they do not understand.
3. Nothing ever gets built on schedule or within
budget.
4. If mathematically you end up with the incorrect
answer, try multiplying by the page number.
SEG3300 R.L. Probert 3
SEG3300 R.L. Probert 4
MotivationMotivation
The software cost estimation provides:
• the vital link between the general concepts and
techniques of economic analysis and the
particular world of software engineering.
• Software cost estimation techniques also provides
an essential part of the foundation for good
software management.
SEG3300 R.L. Probert 5
Cost of a projectCost of a project
• The cost in a project is due to:
– due the requirements for software, hardware and human
resources
– the cost of software development is due to the human
resources needed
– most cost estimates are measured in person-months
(PM)
SEG3300 R.L. Probert 6
Cost of a project (.)Cost of a project (.)
• the cost of the project depends on the nature and
characteristics of the project, at any point, the
accuracy of the estimate will depend on the
amount of reliable information we have about the
final product.
SEG3300 R.L. Probert 7
Software Cost EstimationSoftware Cost Estimation
SEG3300 R.L. Probert 8
Introduction to COCOMOIntroduction to COCOMO
modelsmodels
• The COstructive COst Model (COCOMO) is the
most widely used software estimation model in the
world. It
• The COCOMO model predicts the effort and
duration of a project based on inputs relating to
the size of the resulting systems and a number of
"cost drives" that affect productivity.
SEG3300 R.L. Probert 9
EffortEffort
• Effort Equation
– PM = C * (KDSI)n
(person-months)
• where PM = number of person-month (=152
working hours),
• C = a constant,
• KDSI = thousands of "delivered source
instructions" (DSI) and
• n = a constant.
SEG3300 R.L. Probert 10
ProductivityProductivity
• Productivity equation
– (DSI) / (PM)
• where PM = number of person-month (=152
working hours),
• DSI = "delivered source instructions"
SEG3300 R.L. Probert 11
ScheduleSchedule
• Schedule equation
– TDEV = C * (PM)n
(months)
• where TDEV = number of months estimated for
software development.
SEG3300 R.L. Probert 12
Average StaffingAverage Staffing
• Average Staffing Equation
– (PM) / (TDEV) (FSP)
• where FSP means Full-time-equivalent Software
Personnel.
SEG3300 R.L. Probert 13
COCOMO ModelsCOCOMO Models
• COCOMO is defined in terms of three different
models:
– the Basic model,
– the Intermediate model, and
– the Detailed model.
• The more complex models account for more
factors that influence software projects, and make
more accurate estimates.
SEG3300 R.L. Probert 14
The Development modeThe Development mode
• the most important factors contributing to a
project's duration and cost is the Development
Mode
• Organic Mode: The project is developed in a
familiar, stable environment, and the product is
similar to previously developed products. The
product is relatively small, and requires little
innovation.
• Semidetached Mode: The project's characteristics
are intermediate between Organic and Embedded.
SEG3300 R.L. Probert 15
The Development modeThe Development mode
• the most important factors contributing to a
project's duration and cost is the Development
Mode:
• Embedded Mode: The project is characterized by
tight, inflexible constraints and interface
requirements. An embedded mode project will
require a great deal of innovation.
SEG3300 R.L. Probert 16
ModesModes
Feature Organic Semidetached Embedded
Organizational
understanding of
product and
objectives
Thorough Considerable General
Experience in
working with related
software systems
Extensive Considerable Moderate
Need for software
conformance with
pre-established
requirements
Basic Considerable Full
Need for software
conformance with
external interface
specifications
Basic Considerable Full
SEG3300 R.L. Probert 17
Modes (.)Modes (.)
Feature Organic Semidetached Embedded
Concurrent
development of
associated new
hardware and
operational
procedures
Some Moderate Extensive
Need for innovative
data processing
architectures,
algorithms
Minimal Some Considerable
Premium on early
completion
Low Medium High
Product size range <50 KDSI <300KDSI All
SEG3300 R.L. Probert 18
Cost Estimation ProcessCost Estimation Process
Cost=SizeOfTheProject x Productivity
SEG3300 R.L. Probert 19
Cost Estimation ProcessCost Estimation Process
Errors
Effort
Development Time
Size Table
Lines of Code
Number of Use Case
Function Point
Estimation Process
Number of Personnel
SEG3300 R.L. Probert 20
Project Size - MetricsProject Size - Metrics
1. Number of functional requirements
2. Cumulative number of functional and non-functional requirements
3. Number of Customer Test Cases
4. Number of ‘typical sized’ use cases
5. Number of inquiries
6. Number of files accessed (external, internal, master)
7. Total number of components (subsystems, modules, procedures, routines, classes,
methods)
8. Total number of interfaces
9. Number of System Integration Test Cases
10. Number of input and output parameters (summed over each interface)
11. Number of Designer Unit Test Cases
12. Number of decisions (if, case statements) summed over each routine or method
13. Lines of Code, summed over each routine or method
SEG3300 R.L. Probert 21
Project Size – Metrics(.)Project Size – Metrics(.)
Availability of Size Estimation Metrics:
Development Phase Available
Metrics
a Requirements
Gathering
1, 2, 3
b Requirements
Analysis
4, 5
d High Level Design 6, 7, 8, 9
e Detailed Design 10, 11,
12
f Implementation 12, 13
SEG3300 R.L. Probert 22
Function PointsFunction Points
• STEP 1: measure size in terms of the amount of
functionality in a system. Function points are computed by
first calculating an unadjusted function point count
(UFC). Counts are made for the following categories
•External inputs – those items provided by the user that
describe distinct application-oriented data (such as file
names and menu selections)
•External outputs – those items provided to the user
that generate distinct application-oriented data (such as
reports and messages, rather than the individual
components of these)
SEG3300 R.L. Probert 23
Function Points(.)Function Points(.)
• External inquiries – interactive inputs requiring a
response
• External files – machine-readable interfaces to other
systems
• Internal files – logical master files in the system
SEG3300 R.L. Probert 24
Function Points(..)Function Points(..)
• STEP 2: Multiply each number by a weight factor,
according to complexity (simple, average or complex) of
the parameter, associated with that number. The value is
given by a table:
SEG3300 R.L. Probert 25
Function Points(...)Function Points(...)
• STEP 3: Calculate the total UFP (Unadjusted Function
Points)
• STEP 4: Calculate the total TCF (Technical Complexity
Factor) by giving a value between 0 and 5 according to the
importance of the following points:
SEG3300 R.L. Probert 26
Function Points(....)Function Points(....)
• Technical Complexity Factors:
– 1. Data Communication
– 2. Distributed Data Processing
– 3. Performance Criteria
– 4. Heavily Utilized Hardware
– 5. High Transaction Rates
– 6. Online Data Entry
– 7. Online Updating
– 8. End-user Efficiency
– 9. Complex Computations
– 10. Reusability
– 11. Ease of Installation
– 12. Ease of Operation
– 13. Portability
– 14. Maintainability
SEG3300 R.L. Probert 27
Function Points(.....)Function Points(.....)
• STEP 5: Sum the resulting numbers too obtain DI (degree
of influence)
• STEP 6: TCF (Technical Complexity Factor) by given by
the formula
– TCF=0.65+0.01*DI
• STEP 6: Function Points are by given by the formula
– FP=UFP*TCF
SEG3300 R.L. Probert 28
ExampleExample
SEG3300 R.L. Probert 29
Example (.)Example (.)
SEG3300 R.L. Probert 30
Example (..)Example (..)
• Technical Complexity Factors:
– 1. Data Communication 3
– 2. Distributed Data Processing 0
– 3. Performance Criteria 4
– 4. Heavily Utilized Hardware 0
– 5. High Transaction Rates 3
– 6. Online Data Entry 3
– 7. Online Updating 3
– 8. End-user Efficiency 3
– 9. Complex Computations 0
– 10. Reusability 3
– 11. Ease of Installation 3
– 12. Ease of Operation 5
– 13. Portability 3
– 14. Maintainability 3
» DI =30(Degree of Influence)
SEG3300 R.L. Probert 31
Example (…)Example (…)
• Function Points
– FP=UFP*(0.65+0.01*DI)= 55*(0.65+0.01*30)=52.25
– That means the is FP=52.25
SEG3300 R.L. Probert 32
Relation between LOC and FPRelation between LOC and FP
• Relationship:
– LOC = Language Factor
* FP
– where
• LOC (Lines of Code)
• FP (Function Points)
SEG3300 R.L. Probert 33
Relation between LOC andRelation between LOC and
FP(.)FP(.)
Assuming LOC’s per FP for:
Java = 53,
C++ = 64
aKLOC = FP * LOC_per_FP / 1000
It means for the SpellChekcer Example: (Java)
LOC=52.25*53=2769.25 LOC or 2.76 KLOC
SEG3300 R.L. Probert 34
Effort ComputationEffort Computation
• The Basic COCOMO model computes effort as a
function of program size. The Basic COCOMO equation
is:
– E = aKLOC^b
• Effort for three modes of Basic COCOMO.
Mode a b
Organic 2.4 1.05
Semi-
detached
3.0 1.12
Embedded 3.6 1.20
SEG3300 R.L. Probert 35
ExampleExample
SEG3300 R.L. Probert 36
Effort ComputationEffort Computation
• The intermediate COCOMO model computes effort as a
function of program size and a set of cost drivers. The
Intermediate COCOMO equation is:
– E = aKLOC^b*EAF
• Effort for three modes of intermediate COCOMO.
Mode a b
Organic 3.2 1.05
Semi-
detached
3.0 1.12
Embedded 2.8 1.20
SEG3300 R.L. Probert 37
Effort computation(.)Effort computation(.)• Effort Adjustment Factor
Cost Driver Very
Low
Low Nominal High Very
High
Extra
High
Required Reliability .75 .88 1.00 1.15 1.40 1.40
Database Size .94 .94 1.00 1.08 1.16 1.16
Product Complexity .70 .85 1.00 1.15 1.30 1.65
Execution Time Constraint 1.00 1.00 1.00 1.11 1.30 1.66
Main Storage Constraint 1.00 1.00 1.00 1.06 1.21 1.56
Virtual Machine Volatility .87 .87 1.00 1.15 1.30 1.30
Comp Turn Around Time .87 .87 1.00 1.07 1.15 1.15
Analyst Capability 1.46 1.19 1.00 .86 .71 .71
Application Experience 1.29 1.13 1.00 .91 .82 .82
Programmers Capability 1.42 1.17 1.00 .86 .70 .70
Virtual machine Experience 1.21 1.10 1.00 .90 .90 .90
Language Experience 1.14 1.07 1.00 .95 .95 .95
Modern Prog Practices 1.24 1.10 1.00 .91 .82 .82
SW Tools 1.24 1.10 1.00 .91 .83 .83
Required Dev Schedule 1.23 1.08 1.00 1.04 1.10 1,10
SEG3300 R.L. Probert 38
Effort Computation (..)Effort Computation (..)
Total EAF = Product of the selected factors
Adjusted value of Effort: Adjusted Person Months:
APM = (Total EAF) * PM
SEG3300 R.L. Probert 39
ExampleExample
SEG3300 R.L. Probert 40
Software Development TimeSoftware Development Time
• Development Time Equation Parameter Table:
Development Time, TDEV = C * (APM **D)
Number of Personnel, NP = APM / TDEV
Parameter Organic Semi-
detached
Embedded
C 2.5 2.5 2.5
D 0.38 0.35 0.32
SEG3300 R.L. Probert 41
Distribution of EffortDistribution of Effort
• A development process typically consists of
the following stages:
• - Requirements Analysis
• - Design (High Level + Detailed)
• - Implementation & Coding
• - Testing (Unit + Integration)
SEG3300 R.L. Probert 42
Distribution of Effort (.)Distribution of Effort (.)
The following table gives the recommended percentage
distribution of Effort (APM) and TDEV for these stages:
Percentage Distribution of Effort and Time Table:
Req
Analysis
Design,
HLD + DD
Implementation Testing
Effort 23% 29% 22% 21% 100%
TDEV 39% 25% 15% 21% 100%
SEG3300 R.L. Probert 43
Error EstimationError Estimation
• Calculate the estimated number of errors in your design, i.e.total errors found in
requirements, specifications, code, user manuals, and bad fixes:
– Adjust the Function Point calculated in step1
AFP = FP ** 1.25
– Use the following table for calculating error estimates
Error Type Error / AFP
Requirements 1
Design 1.25
Implementation 1.75
Documentation 0.6
Due to Bug Fixes 0.4
SEG3300 R.L. Probert 44
All TogetherAll Together Design
Unadjusted Function Point (UFP table)
Modify
FP=UFP*TCF
Classes*(2Function Points)
TCF
KLOC=Max[aKLOC, bKLOC]
LOC=13.20*Num of Method
LOC=18.25*Num of Method
AFP=FP*1.25
Compute Errors = AFP*Y
Compute Effort: Person Month,
PM=A*(KLOC**B)
bKLOC=∑ (LOCs for all Classes)/1000
Adjusted PM: APM=(total EAF)*PM
Development Time: TDEV=C*(APM**D)Factor:1-15
Number of personnel: NP=APM/TDEV
DI=∑ratings of selected factors
14
TCF=0.65+0.01*∑(DI)j
1
Min[TCF]=0.65; Max[TCF]=1.35
aKLOC=FP*LOC_per_FP/1000
Java=53; C++=64
EAF=Product of selected factor
NP Effort time
Req APM TDEV
Result

Más contenido relacionado

La actualidad más candente

Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software DevelopmentZeeshan MIrza
 
The pseudocode
The pseudocodeThe pseudocode
The pseudocodeAsha Sari
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...Hafiz Ammar Siddiqui
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and modelsAnjali Arora
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringZahoor Khan
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)ShudipPal
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsSeema Kamble
 

La actualidad más candente (20)

Software design
Software designSoftware design
Software design
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
DSDM
DSDMDSDM
DSDM
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Crisis
Software CrisisSoftware Crisis
Software Crisis
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Unit 3
Unit 3Unit 3
Unit 3
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
The pseudocode
The pseudocodeThe pseudocode
The pseudocode
 
Software process
Software processSoftware process
Software process
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
10-Software Project Management (Object Oriented Software Engineering - BNU Sp...
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering (Risk Management)
Software Engineering (Risk Management)Software Engineering (Risk Management)
Software Engineering (Risk Management)
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 

Destacado

software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo modelREHMAT ULLAH
 
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 SE23koolkampus
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Cocomo II
Cocomo IICocomo II
Cocomo IIActimel
 

Destacado (8)

Cocomo
CocomoCocomo
Cocomo
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
software project management Cocomo model
software project management Cocomo modelsoftware project management Cocomo model
software project management Cocomo model
 
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
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 

Similar a Cocomo

Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 EstimationLawrence Bernstein
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptitadmin33
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICSneha Padhiar
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICSneha Padhiar
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
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
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimationKanchana Devi
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineeringRupesh Vaishnav
 
What’s eating python performance
What’s eating python performanceWhat’s eating python performance
What’s eating python performancePiotr Przymus
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...SohamChatterjee47
 
software effort estimation
 software effort estimation software effort estimation
software effort estimationBesharam Dil
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimationdeep sharma
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET Journal
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniqueskamal
 

Similar a Cocomo (20)

Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 Estimation
 
Metrics
MetricsMetrics
Metrics
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.ppt
 
Se notes
Se notesSe notes
Se notes
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
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
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
What’s eating python performance
What’s eating python performanceWhat’s eating python performance
What’s eating python performance
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Cocomo

  • 1. SEG3300 R.L. Probert 1 COCOMO ModelsCOCOMO Models
  • 2. SEG3300 R.L. Probert 2 Project Management and Mr.Project Management and Mr. MurphyMurphy 1. Logic is a systematic method of coming to the wrong conclusion with confidence. 2. Technology is dominated by those who manage what they do not understand. 3. Nothing ever gets built on schedule or within budget. 4. If mathematically you end up with the incorrect answer, try multiplying by the page number.
  • 4. SEG3300 R.L. Probert 4 MotivationMotivation The software cost estimation provides: • the vital link between the general concepts and techniques of economic analysis and the particular world of software engineering. • Software cost estimation techniques also provides an essential part of the foundation for good software management.
  • 5. SEG3300 R.L. Probert 5 Cost of a projectCost of a project • The cost in a project is due to: – due the requirements for software, hardware and human resources – the cost of software development is due to the human resources needed – most cost estimates are measured in person-months (PM)
  • 6. SEG3300 R.L. Probert 6 Cost of a project (.)Cost of a project (.) • the cost of the project depends on the nature and characteristics of the project, at any point, the accuracy of the estimate will depend on the amount of reliable information we have about the final product.
  • 7. SEG3300 R.L. Probert 7 Software Cost EstimationSoftware Cost Estimation
  • 8. SEG3300 R.L. Probert 8 Introduction to COCOMOIntroduction to COCOMO modelsmodels • The COstructive COst Model (COCOMO) is the most widely used software estimation model in the world. It • The COCOMO model predicts the effort and duration of a project based on inputs relating to the size of the resulting systems and a number of "cost drives" that affect productivity.
  • 9. SEG3300 R.L. Probert 9 EffortEffort • Effort Equation – PM = C * (KDSI)n (person-months) • where PM = number of person-month (=152 working hours), • C = a constant, • KDSI = thousands of "delivered source instructions" (DSI) and • n = a constant.
  • 10. SEG3300 R.L. Probert 10 ProductivityProductivity • Productivity equation – (DSI) / (PM) • where PM = number of person-month (=152 working hours), • DSI = "delivered source instructions"
  • 11. SEG3300 R.L. Probert 11 ScheduleSchedule • Schedule equation – TDEV = C * (PM)n (months) • where TDEV = number of months estimated for software development.
  • 12. SEG3300 R.L. Probert 12 Average StaffingAverage Staffing • Average Staffing Equation – (PM) / (TDEV) (FSP) • where FSP means Full-time-equivalent Software Personnel.
  • 13. SEG3300 R.L. Probert 13 COCOMO ModelsCOCOMO Models • COCOMO is defined in terms of three different models: – the Basic model, – the Intermediate model, and – the Detailed model. • The more complex models account for more factors that influence software projects, and make more accurate estimates.
  • 14. SEG3300 R.L. Probert 14 The Development modeThe Development mode • the most important factors contributing to a project's duration and cost is the Development Mode • Organic Mode: The project is developed in a familiar, stable environment, and the product is similar to previously developed products. The product is relatively small, and requires little innovation. • Semidetached Mode: The project's characteristics are intermediate between Organic and Embedded.
  • 15. SEG3300 R.L. Probert 15 The Development modeThe Development mode • the most important factors contributing to a project's duration and cost is the Development Mode: • Embedded Mode: The project is characterized by tight, inflexible constraints and interface requirements. An embedded mode project will require a great deal of innovation.
  • 16. SEG3300 R.L. Probert 16 ModesModes Feature Organic Semidetached Embedded Organizational understanding of product and objectives Thorough Considerable General Experience in working with related software systems Extensive Considerable Moderate Need for software conformance with pre-established requirements Basic Considerable Full Need for software conformance with external interface specifications Basic Considerable Full
  • 17. SEG3300 R.L. Probert 17 Modes (.)Modes (.) Feature Organic Semidetached Embedded Concurrent development of associated new hardware and operational procedures Some Moderate Extensive Need for innovative data processing architectures, algorithms Minimal Some Considerable Premium on early completion Low Medium High Product size range <50 KDSI <300KDSI All
  • 18. SEG3300 R.L. Probert 18 Cost Estimation ProcessCost Estimation Process Cost=SizeOfTheProject x Productivity
  • 19. SEG3300 R.L. Probert 19 Cost Estimation ProcessCost Estimation Process Errors Effort Development Time Size Table Lines of Code Number of Use Case Function Point Estimation Process Number of Personnel
  • 20. SEG3300 R.L. Probert 20 Project Size - MetricsProject Size - Metrics 1. Number of functional requirements 2. Cumulative number of functional and non-functional requirements 3. Number of Customer Test Cases 4. Number of ‘typical sized’ use cases 5. Number of inquiries 6. Number of files accessed (external, internal, master) 7. Total number of components (subsystems, modules, procedures, routines, classes, methods) 8. Total number of interfaces 9. Number of System Integration Test Cases 10. Number of input and output parameters (summed over each interface) 11. Number of Designer Unit Test Cases 12. Number of decisions (if, case statements) summed over each routine or method 13. Lines of Code, summed over each routine or method
  • 21. SEG3300 R.L. Probert 21 Project Size – Metrics(.)Project Size – Metrics(.) Availability of Size Estimation Metrics: Development Phase Available Metrics a Requirements Gathering 1, 2, 3 b Requirements Analysis 4, 5 d High Level Design 6, 7, 8, 9 e Detailed Design 10, 11, 12 f Implementation 12, 13
  • 22. SEG3300 R.L. Probert 22 Function PointsFunction Points • STEP 1: measure size in terms of the amount of functionality in a system. Function points are computed by first calculating an unadjusted function point count (UFC). Counts are made for the following categories •External inputs – those items provided by the user that describe distinct application-oriented data (such as file names and menu selections) •External outputs – those items provided to the user that generate distinct application-oriented data (such as reports and messages, rather than the individual components of these)
  • 23. SEG3300 R.L. Probert 23 Function Points(.)Function Points(.) • External inquiries – interactive inputs requiring a response • External files – machine-readable interfaces to other systems • Internal files – logical master files in the system
  • 24. SEG3300 R.L. Probert 24 Function Points(..)Function Points(..) • STEP 2: Multiply each number by a weight factor, according to complexity (simple, average or complex) of the parameter, associated with that number. The value is given by a table:
  • 25. SEG3300 R.L. Probert 25 Function Points(...)Function Points(...) • STEP 3: Calculate the total UFP (Unadjusted Function Points) • STEP 4: Calculate the total TCF (Technical Complexity Factor) by giving a value between 0 and 5 according to the importance of the following points:
  • 26. SEG3300 R.L. Probert 26 Function Points(....)Function Points(....) • Technical Complexity Factors: – 1. Data Communication – 2. Distributed Data Processing – 3. Performance Criteria – 4. Heavily Utilized Hardware – 5. High Transaction Rates – 6. Online Data Entry – 7. Online Updating – 8. End-user Efficiency – 9. Complex Computations – 10. Reusability – 11. Ease of Installation – 12. Ease of Operation – 13. Portability – 14. Maintainability
  • 27. SEG3300 R.L. Probert 27 Function Points(.....)Function Points(.....) • STEP 5: Sum the resulting numbers too obtain DI (degree of influence) • STEP 6: TCF (Technical Complexity Factor) by given by the formula – TCF=0.65+0.01*DI • STEP 6: Function Points are by given by the formula – FP=UFP*TCF
  • 28. SEG3300 R.L. Probert 28 ExampleExample
  • 29. SEG3300 R.L. Probert 29 Example (.)Example (.)
  • 30. SEG3300 R.L. Probert 30 Example (..)Example (..) • Technical Complexity Factors: – 1. Data Communication 3 – 2. Distributed Data Processing 0 – 3. Performance Criteria 4 – 4. Heavily Utilized Hardware 0 – 5. High Transaction Rates 3 – 6. Online Data Entry 3 – 7. Online Updating 3 – 8. End-user Efficiency 3 – 9. Complex Computations 0 – 10. Reusability 3 – 11. Ease of Installation 3 – 12. Ease of Operation 5 – 13. Portability 3 – 14. Maintainability 3 » DI =30(Degree of Influence)
  • 31. SEG3300 R.L. Probert 31 Example (…)Example (…) • Function Points – FP=UFP*(0.65+0.01*DI)= 55*(0.65+0.01*30)=52.25 – That means the is FP=52.25
  • 32. SEG3300 R.L. Probert 32 Relation between LOC and FPRelation between LOC and FP • Relationship: – LOC = Language Factor * FP – where • LOC (Lines of Code) • FP (Function Points)
  • 33. SEG3300 R.L. Probert 33 Relation between LOC andRelation between LOC and FP(.)FP(.) Assuming LOC’s per FP for: Java = 53, C++ = 64 aKLOC = FP * LOC_per_FP / 1000 It means for the SpellChekcer Example: (Java) LOC=52.25*53=2769.25 LOC or 2.76 KLOC
  • 34. SEG3300 R.L. Probert 34 Effort ComputationEffort Computation • The Basic COCOMO model computes effort as a function of program size. The Basic COCOMO equation is: – E = aKLOC^b • Effort for three modes of Basic COCOMO. Mode a b Organic 2.4 1.05 Semi- detached 3.0 1.12 Embedded 3.6 1.20
  • 35. SEG3300 R.L. Probert 35 ExampleExample
  • 36. SEG3300 R.L. Probert 36 Effort ComputationEffort Computation • The intermediate COCOMO model computes effort as a function of program size and a set of cost drivers. The Intermediate COCOMO equation is: – E = aKLOC^b*EAF • Effort for three modes of intermediate COCOMO. Mode a b Organic 3.2 1.05 Semi- detached 3.0 1.12 Embedded 2.8 1.20
  • 37. SEG3300 R.L. Probert 37 Effort computation(.)Effort computation(.)• Effort Adjustment Factor Cost Driver Very Low Low Nominal High Very High Extra High Required Reliability .75 .88 1.00 1.15 1.40 1.40 Database Size .94 .94 1.00 1.08 1.16 1.16 Product Complexity .70 .85 1.00 1.15 1.30 1.65 Execution Time Constraint 1.00 1.00 1.00 1.11 1.30 1.66 Main Storage Constraint 1.00 1.00 1.00 1.06 1.21 1.56 Virtual Machine Volatility .87 .87 1.00 1.15 1.30 1.30 Comp Turn Around Time .87 .87 1.00 1.07 1.15 1.15 Analyst Capability 1.46 1.19 1.00 .86 .71 .71 Application Experience 1.29 1.13 1.00 .91 .82 .82 Programmers Capability 1.42 1.17 1.00 .86 .70 .70 Virtual machine Experience 1.21 1.10 1.00 .90 .90 .90 Language Experience 1.14 1.07 1.00 .95 .95 .95 Modern Prog Practices 1.24 1.10 1.00 .91 .82 .82 SW Tools 1.24 1.10 1.00 .91 .83 .83 Required Dev Schedule 1.23 1.08 1.00 1.04 1.10 1,10
  • 38. SEG3300 R.L. Probert 38 Effort Computation (..)Effort Computation (..) Total EAF = Product of the selected factors Adjusted value of Effort: Adjusted Person Months: APM = (Total EAF) * PM
  • 39. SEG3300 R.L. Probert 39 ExampleExample
  • 40. SEG3300 R.L. Probert 40 Software Development TimeSoftware Development Time • Development Time Equation Parameter Table: Development Time, TDEV = C * (APM **D) Number of Personnel, NP = APM / TDEV Parameter Organic Semi- detached Embedded C 2.5 2.5 2.5 D 0.38 0.35 0.32
  • 41. SEG3300 R.L. Probert 41 Distribution of EffortDistribution of Effort • A development process typically consists of the following stages: • - Requirements Analysis • - Design (High Level + Detailed) • - Implementation & Coding • - Testing (Unit + Integration)
  • 42. SEG3300 R.L. Probert 42 Distribution of Effort (.)Distribution of Effort (.) The following table gives the recommended percentage distribution of Effort (APM) and TDEV for these stages: Percentage Distribution of Effort and Time Table: Req Analysis Design, HLD + DD Implementation Testing Effort 23% 29% 22% 21% 100% TDEV 39% 25% 15% 21% 100%
  • 43. SEG3300 R.L. Probert 43 Error EstimationError Estimation • Calculate the estimated number of errors in your design, i.e.total errors found in requirements, specifications, code, user manuals, and bad fixes: – Adjust the Function Point calculated in step1 AFP = FP ** 1.25 – Use the following table for calculating error estimates Error Type Error / AFP Requirements 1 Design 1.25 Implementation 1.75 Documentation 0.6 Due to Bug Fixes 0.4
  • 44. SEG3300 R.L. Probert 44 All TogetherAll Together Design Unadjusted Function Point (UFP table) Modify FP=UFP*TCF Classes*(2Function Points) TCF KLOC=Max[aKLOC, bKLOC] LOC=13.20*Num of Method LOC=18.25*Num of Method AFP=FP*1.25 Compute Errors = AFP*Y Compute Effort: Person Month, PM=A*(KLOC**B) bKLOC=∑ (LOCs for all Classes)/1000 Adjusted PM: APM=(total EAF)*PM Development Time: TDEV=C*(APM**D)Factor:1-15 Number of personnel: NP=APM/TDEV DI=∑ratings of selected factors 14 TCF=0.65+0.01*∑(DI)j 1 Min[TCF]=0.65; Max[TCF]=1.35 aKLOC=FP*LOC_per_FP/1000 Java=53; C++=64 EAF=Product of selected factor NP Effort time Req APM TDEV Result