COCOMO model
-
Upload
prakhar-rastogi -
Category
Documents
-
view
77 -
download
1
description
Transcript of COCOMO model
![Page 1: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/1.jpg)
COCOMO Constructive Cost Model
Vinodh Kumar Mohan, R.No : 102Yash Deep Pandey, R.No : 103Mohit Mahant, R.No : 104Diana Purushotaman, R.No.105Karthik B, R.No: 106Prakar Rastogi, R.No: 107
1
![Page 2: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/2.jpg)
Agenda
Need for cost estimation Factors contributing to cost of a project COCOMO1 Live project Example Advantages and Disadvantages COCOMO 2 Advantages and Disadvantages Cosysmo Advantages and Disadvantages
2
![Page 3: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/3.jpg)
Need for cost estimation
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.
3
![Page 4: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/4.jpg)
Cost of a project The factors that affect cost of a project is due
to: 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) 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.
4
![Page 5: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/5.jpg)
Software Cost Estimation5
![Page 6: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/6.jpg)
COCOMO models
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.
6
![Page 7: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/7.jpg)
Effort
Effort Equation Effort = a * (KLOC)b (person-months)
where Effort = number of person-month (=152 working hours),
a = a constant, KLOC = thousands of “lines of
code" (LOC) and b = a constant.
7
![Page 8: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/8.jpg)
Productivity
Productivity equation (KLOC) / (Effort)
where Effort = number of person-month (=152 working hours),
8
![Page 9: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/9.jpg)
Schedule
Schedule equation Duration, D = C * (E)d (months)
where D = number of months estimated for software development.
9
![Page 10: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/10.jpg)
Average Staffing
Average Staffing Equation (Effort) / (D) (FSP)
where FSP means Full-time-equivalent Software Personnel.
10
![Page 11: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/11.jpg)
COCOMO 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.
11
![Page 12: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/12.jpg)
The 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.
Embedded Mode: The project is characterized by tight, inflexible constraints and interface requirements. An embedded mode project will require a great deal of innovation.
12
![Page 13: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/13.jpg)
Modes Feature Organic Semidetached Embedded
Organizationalunderstanding ofproduct andobjectives
Thorough Considerable General
Experience inworking with relatedsoftware systems
Extensive Considerable Moderate
Need for softwareconformance withpre-establishedrequirements
Basic Considerable Full
Need for softwareconformance withexternal interfacespecifications
Basic Considerable Full
13
![Page 14: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/14.jpg)
Modes (.) Feature Organic Semidetached Embedded
Concurrentdevelopment ofassociated newhardware andoperationalprocedures
Some Moderate Extensive
Need for innovativedata processingarchitectures,algorithms
Minimal Some Considerable
Premium on earlycompletion
Low Medium High
Product size range <50 KDSI <300KDSI All
14
![Page 15: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/15.jpg)
Cost Estimation Process15
Errors
Effort
Development Time Size Table
Lines of Code
Number of Use Case
Function Point
Estimation ProcessNumber of Personnel
Cost=SizeOfTheProject x Productivity
![Page 16: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/16.jpg)
Project Size - Metrics1. Number of functional requirements2. Cumulative number of functional and non-functional
requirements3. Number of Customer Test Cases4. Number of ‘typical sized’ use cases5. Number of inquiries6. Number of files accessed (external, internal, master)7. Total number of components (subsystems, modules, procedures,
routines, classes, methods)8. Total number of interfaces9. Number of System Integration Test Cases10. Number of input and output parameters (summed over each
interface)11. Number of Designer Unit Test Cases12. Number of decisions (if, case statements) summed over each
routine or method
13. Lines of Code, summed over each routine or method
16
![Page 17: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/17.jpg)
Function 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)
External inquiries – interactive inputs requiring a response External files – machine-readable interfaces to other systems Internal files – logical master files in the system
17
![Page 18: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/18.jpg)
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:
18
![Page 19: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/19.jpg)
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:
19
![Page 20: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/20.jpg)
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
20
![Page 21: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/21.jpg)
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
21
![Page 22: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/22.jpg)
Example22
![Page 23: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/23.jpg)
Example (.)23
![Page 24: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/24.jpg)
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)
24
![Page 25: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/25.jpg)
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
25
![Page 26: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/26.jpg)
Relation between LOC and FP
Relationship:
LOC = Language Factor * FP
where LOC (Lines of Code) FP (Function Points)
26
![Page 27: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/27.jpg)
Relation between LOC and 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
27
![Page 28: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/28.jpg)
Effort 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.
28
Mode a b
Organic 2.4 1.05
Semi-detached
3.0 1.12
Embedded 3.6 1.20
![Page 29: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/29.jpg)
Example29
![Page 30: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/30.jpg)
Effort 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.
30
Mode a b
Organic 3.2 1.05
Semi-detached
3.0 1.12
Embedded 2.8 1.20
![Page 31: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/31.jpg)
Effort computation(.) Effort Adjustment Factor
31
Cost Driver VeryLow
Low Nominal High VeryHigh
ExtraHigh
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
![Page 32: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/32.jpg)
Effort Computation (..)
Total EAF = Product of the selected factors
Adjusted value of Effort: Adjusted Person Months: APM = (Total EAF) * PM
PM – Person Months
32
![Page 33: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/33.jpg)
Example33
![Page 34: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/34.jpg)
Software Development Time Development Time Equation Parameter
Table:
Development Time, TDEV = C * (APM^D)
Number of Personnel, NP = APM / TDEV
34
Parameter Organic Semi-detached
Embedded
C 2.5 2.5 2.5
D 0.38 0.35 0.32
![Page 35: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/35.jpg)
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:
35
Req Analysis
Design, HLD + DD
Implementation Testing
Effort 23% 29% 22% 21% 100%
TDEV 39% 25% 15% 21% 100%
![Page 36: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/36.jpg)
Advantages and Disadvantages Advantage
COCOMO is transparent, one can see how it works unlike other models.
Drivers are particularly helpful to the estimator to understand the impact of different factors that affect project costs
Disadvantages It is hard to accurately estimate KLOC early on in the
project, when most effort estimates are required Extremely vulnerable to mis-classification of the
development mode Success depends largely on tuning the model to the
needs of the organization, using historical data which is not always available
36
![Page 37: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/37.jpg)
COCOMO II COnstructive COst MOdel II (COCOMO II) is a model that
allows one to estimate the cost, effort, and schedule when planning a new software development activity.
COCOMO II is the latest major extension to the original COCOMO (COCOMO 81) model published in 1981.
It consists of three submodels, each one offering increased fidelity the further along one is in the project planning and design process.
Listed in increasing fidelity, these submodels are called the Applications Composition, Early Design, and Post-architecture models.
![Page 38: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/38.jpg)
Applications Making investment or other financial decisions
involving a software development effort Setting project budgets and schedules as a
basis for planning and control Deciding on or negotiating tradeoffs among
software cost, schedule, functionality, performance or quality factors
Making software cost and schedule risk management decisions
Deciding which parts of a software system to develop, reuse, lease, or purchase
Making legacy software inventory decisions: what parts to modify, phase out, outsource, etc
![Page 39: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/39.jpg)
Project Description and Scope
A bioinformatics company, providing advanced methods for data mining of genetic information, intends to construct a distributed application for analysis and navigation of biological networks
As part of this project, a database provider that exposes simple interfaces to UI programmer and hides complexities of the data layer should be build
As soon as the scope of this task is broadly defined as such, it is sliced into a separate project
![Page 40: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/40.jpg)
COCOMO II EstimatesThe basic COCOMO equations take the form Effort Applied (E) = ab(KLOC)b
b [ person-months ]
Development Time (D) = cb(Effort Applied)d
b [months] People required (P) = Effort Applied /
Development Time [count]
Software Project
ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-
Detached
3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
![Page 41: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/41.jpg)
Counting SLOC in the Project
To make actual estimations, SLOC count needs to be figured out for each of the components and use these counts in COCOMO model.
The result of separate SLOC count in all project folders is the following:
Folder Total SLOC1 SQL Files 4142 Java DB Provider Files 3453 Java Servlet 1564 Web Files 113
![Page 42: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/42.jpg)
Final Cost Estimates and Results
The report says that project cost is $23,000 and project duration is 4.6 months ($5000 was taken as an average monthly developer salary)
![Page 43: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/43.jpg)
Merits & De-meritsMerits: COCOMO II is an industry standard Very profound information is easy available Clear and effective calibration process by combining delphi
with algorithmic cost estimation techniques Backwards compatibility' with the Rosetta Stone Various extension for almost every purpose are available Tool supportDe-Merits: The 'heart' of COCOMO II is still based on a waterfall
process model Most of the extensions are still experimental and not fully
calibrated till now Duration calculation for small projects is unreasonable
![Page 44: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/44.jpg)
44
COSYSMO Overview• Parametric model to estimate System Engineering costs• Includes 4 size drivers (# Requirements, # Interfaces, # Operational
Scenarios, # algorithms) & 14 cost drivers (Req understanding, Technology maturity, Process capability, Personnel experience, Tool Support, etc.)
• Supports Local Calibration (based on historical project data)• Developed with USC-Center for Software Engineering Corporate Affiliates,
Practical Software Measurement (PSM), and INCOSE participation
Conceptualize DevelopOper Test & Eval
Transition to Operation
Operate, Maintain, or Enhance
Replace orDismantle
Supported by Initial Model calibration and release These phases are not currently supported
![Page 45: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/45.jpg)
45
COSYSMO
SizeDrivers
EffortMultipliers
Effort
Calibration
# Requirements# Interfaces# Scenarios# Algorithms
+Volatility Factor
- Application factors-8 factors
- Team factors-6 factors
- Schedule driver
COSYSMO Operational Concept
![Page 46: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/46.jpg)
46
Where: PMNS = effort in Person Months (Nominal Schedule)A = calibration constant derived from historical project data k = {REQ, IF, ALG, SCN}wx = weight for “easy”, “nominal”, or “difficult” size driver = quantity of “k” size driverE = represents diseconomy of scale EM = effort multiplier for the jth cost driver. The geometric product results in an overall effort adjustment factor to the nominal effort.
x
Model Form
14
1,,,,,, )(
jj
E
kkdkdknknkekeNS EMwwwAPM
![Page 47: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/47.jpg)
47
4 Size Drivers
1. Number of System Requirements* 2. Number of System Interfaces3. Number of System Specific Algorithms4. Number of Operational Scenarios
*Weighted by complexity, volatility, and degree of reuse
![Page 48: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/48.jpg)
48
14 Cost Drivers
1. Requirements understanding 2. Architecture understanding 3. Level of service requirements4. Migration complexity 5. Technology Maturity 6. Documentation Match to Life Cycle Needs7. # and Diversity of Installations/Platforms8. # of Recursive Levels in the Design
Application Factors (8)
![Page 49: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/49.jpg)
49
14 Cost Drivers (cont.)
1. Stakeholder team cohesion 2. Personnel/team capability 3. Personnel experience/continuity 4. Process capability 5. Multisite coordination 6. Tool support
Team Factors (6)
![Page 50: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/50.jpg)
Advantages and DisadvantagesAdvantagesMore accurate method for effort estimationIncludes specific calibrations for different industries and types of projectDisadvantagesThe disadvantages are that this process is labor intensive and is typically not uniform across entities.every level folds in another layer of conservative management reserve which can result in an over estimate at the end.
50
![Page 51: COCOMO model](https://reader035.fdocuments.net/reader035/viewer/2022062310/577cc74f1a28aba711a09aa0/html5/thumbnails/51.jpg)
THANK YOU!
51