SlideShare a Scribd company logo
1 of 20
Download to read offline
CONSTRUCTIVE COST MODEL-II
(COCOMO-II)
Software Engineering
CS-16106
Group - 7
Course Coordinator:
Dr. Anoj Kumar
AssociateProfessor,
Department ofCSED, MNNIT,
Allahabad
• Aman Sharma (20178051)
• Harshit Agarwal (20178042)
• Prakhar Mishra (20178002)
• Shivam Shrivastava (20178025)
Introduction
COCOMO-II is the revised version of the Cocomo (Constructive Cost Model) and is developed at University of
Southern California. It is the model that allows one to estimate the cost, effort and schedule when planning a
new software development activity.
The four main elements of the COCOMO II strategy are:
• Preserve the openness of the original COCOMO
• Key the structure of COCOMO II to the future software marketplace sectors described earlier
• Key the inputs and outputs of the COCOMO II sub models to the level of information available
• Enable the COCOMO II sub models to be tailored to a project's particular process strategy.
All of its relationships and algorithms will be publicly available. To support the software marketplace sectors
above, COCOMO II provides a family of increasingly detailed software cost estimation models, each tuned to
the sectors' needs and type of information available to support software cost estimation.
Table of Content
1) Sub Models 4-5
2) Lines of Code 6
3) Function Points 7-8
4) Scaling Drivers 9-10
5) Cost Drivers 11-12
6) Effort Estimates and EAF 13-14
7) Schedule Equation, Breakage 15
8) Tool Analysis 16-19
Name Slide No(s)
• The sub-models in COCOMO-II are:
• APPLICATION COMPOSITION MODEL:
➢ Supports prototyping projects and projects where there is extensive reuse.
➢ Based on standard estimates of developer productivity in application (object) points/month.
➢ Takes CASE tool use into account.
➢ PM = (NAP * ( 1 - %reuse/100 ) ) / PROD . ( PM = effort in person-month , NAP = number of application
points, and PROD = productivity ).
• EARLY DESIGN MODEL :
• Estimates can be made after the requirements have been agreed.
• Based on a standard formula for algorithmic models
PM = A x (Size^b) x M where
M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED;
A = 2.94 in initial calibration, Size in KLOC, B varies from 1.1 t o1.24 depending on novelty of the project,
development flexibility, risk management
COCOMO II Sub Models
PRAKHAR MISHRA (20178002)
• REUSE MODEL:
➢ Takes into account black box code that is reused without change and code that has to be adapted to integrate
it with new code. There is two versions
➢ Black box reuse where code is not modified. An effort estimate (PM) is computed.
➢ White-box reuse where code is modified, A size estimate equivalent to the number of lines of new source
code is computed. This then adjusts the size estimate for new code.
➢ When code has to be understood and integrated:
▪ ESLOC = ASLOC * (1 – AT/100) *AAM.
▪ ASLOC and AT as before.
▪ AAM is the adaptation adjustment multiplier computed from the costs of changing the reused code,
the costs of understanding how to integrate the code and the costs of reuse decision making.
• POST-ARCHITECTURE MODEL: Used once the system architecture has been designed and more information about
the system is available. The code size is estimated as :
• Number of lines of new code to be developed.
• Estimates of equivalent number of lines of new code computed using the reuse model.
• An estimate of the number of lines of new code computed using the reuse model.
• An estimate of the number of lines of code that have to be modified according to requirements changes.
PRAKHAR MISHRA (20178002)
Source Lines of Code (SLOC/LOC)
The COCOMO calculations are based on your estimates of a project's size in Source Lines of Code (SLOC).
SLOC is defined such that:
• Only Source lines that are DELIVERED as part of the product are included -- test drivers and other support
software is excluded
• SOURCE lines are created by the project staff -- code created by applications generators is excluded
• One SLOC is one logical line of code
• Declarations are counted as SLOC
• Comments are not counted as SLOC
The original COCOMO 81 model was defined in terms of Delivered Source Instructions, which are very similar to
SLOC. The major difference between DSI and SLOC is that a single Source Line of Code may be several
physical lines. For example, an "if-then-else" statement would be counted as one SLOC, but might be counted as
several DSI.
PRAKHAR MISHRA (20178002)
Function Points
The function point cost estimation approach is based on the amount of functionality in a software project and a
set of individual project factors. Function points are useful estimators since they are based on information that is
available early in the project life cycle. A brief summary of function points and their calculation in support of
COCOMO II is as follows. Function points measure a software project by quantifying the information processing
functionality associated with major external data or control input, output, or file types.
User Function
Types
SHIVAM SHRIVASTAVA (20178025)
Converting Function Points to Lines of Code
To determine the nominal person months for the Early Design model, the
unadjusted function points have to be converted to source lines of code in
the implementation language (assembly, higher order language, fourth-
generation language, etc.) in order to assess the relative conciseness of
implementation per function point. COCOMO II does this for both the
Early Design and Post-Architecture models by using tables such as those
found in [Jones 1991] to translate Unadjusted Function Points into
equivalent SLOC.
SHIVAM SHRIVASTAVA (20178025)
Scaling Drivers
In the COCOMO II model, some of the most important factors contributing to a project's duration and cost are the
Scale Drivers. You set each Scale Driver to describe your project; these Scale Drivers determine the exponent used in
the Effort Equation.
The 5 Scale Drivers are:
• Precedentedness (PREC) : how novel the project is for the organization
• Development Flexibility (FLEX) : development flexibility (e.g. rigidity of compliance to requirements)
• Architecture / Risk Resolution (RESL) : thoroughness of design and risk resolution
• Team Cohesion (TEAM)
• Process Maturity (PMAT) : maturity with respect to the CMMI questionnaire
Note that the Scale Drivers have replaced the Development Mode of COCOMO 81. The first two Scale Drivers,
Precedentedness and Development Flexibility actually describe much the same influences that the original
Development mode did.
SHIVAM SHRIVASTAVA (20178025)
Scale factors and
description
Constant values
of different scale
factors
according to
SLOC
SHIVAM SHRIVASTAVA (20178025)
Cost Drivers
COCOMO II has 17 cost drivers – you assess your project, development environment, and team to set each cost
driver. The cost drivers are multiplicative factors that determine the effort required to complete your software
project. For example, if your project will develop software that controls an airplane's flight, you would set the
Required Software Reliability (RELY) cost driver to Very High. That rating corresponds to an effort multiplier of
1.26, meaning that your project will require 26% more effort than a typical software project. COCOMO II
defines each of the cost drivers, and the Effort Multiplier associated with each rating.
AMAN SHARMA (20178051)
Constant values of
different cost
drivers according
to SLOC
AMAN SHARMA (20178051)
Developing Effort Estimates
The COCOMO II model makes its estimates of required effort (measured in Person-Months -- PM) based
primarily on your estimate of the software project's size (as measured in thousands of SLOC, KSLOC)):
Effort = 2.94 * EAF * (KSLOC)E
Where
EAF is the Effort Adjustment Factor derived from the Cost Drivers
E is an exponent derived from the five Scale Drivers
As an example, a project with all Nominal Cost Drivers and Scale Drivers would have an EAF of 1.00 and
exponent, E, of 1.0997. Assuming that the project is projected to consist of 8,000 source lines of code,
COCOMO II estimates that 28.9 Person-Months of effort is required to complete it:
Effort = 2.94 * (1.0) * (8)1.0997 = 28.9 Person-Months
E<1.0:the project exhibits economies of scale.
E=1.0:the economies and diseconomies of scale are in balance.
E>1.0:the project exhibits diseconomies of scale.
AMAN SHARMA (20178051)
Effort Adjustment Factor
The Effort Adjustment Factor in the effort equation is simply the product of the effort multipliers corresponding to
each of the cost drivers for your project.
For example, if your project is rated Very High for Complexity (effort multiplier of 1.34), and Low for Language
& Tools Experience (effort multiplier of 1.09), and all of the other cost drivers are rated to be Nominal (effort
multiplier of 1.00), the EAF is the product of 1.34 and 1.09.
Effort Adjustment Factor = EAF = 1.34 * 1.09 = 1.46
Effort = 2.94 * (1.46) * (8)1.0997 = 42.3 Person-Months
AMAN SHARMA (20178051)
Schedule Equation
The COCOMO II schedule equation predicts the number of months required to complete your software project. The
duration of a project is based on the effort predicted by the effort equation:
Duration = 3.67 * (Effort) SE
Where:
• Effort Is the effort from the COCOMO II effort equation
• SE Is the schedule equation exponent derived from the five Scale Drivers
Continuing the example, and substituting the exponent of 0.3179 that is calculated from the scale drivers, yields an
estimate of just over a year, and an average staffing of between 3 and 4 people:
Duration = 3.67 * (42.3) 0.3179 = 12.1 months
Average staffing = (42.3 Person-Months) / (12.1 Months) = 3.5 people
Breakage
COCOMO II uses a breakage percentage, BRAK, to adjust the effective size of the product. Breakage reflects the
requirements volatility in a project. It is the percentage of code thrown away due to requirements volatility. For
example, a project which delivers 100,000 instructions but discards the equivalent of an additional 20,000
instructions has a BRAK value of 20. This would be used to adjust the project’s effective size to 120,000 instructions
for a COCOMO II estimation. The BRAK factor is not used in the Applications Composition model, where a certain
degree of product iteration is expected, and included in the data calibration.
AMAN SHARMA (20178051)
TOOL ANALYSIS
➢ SLOC (size in single line of code) calculation measure: The line of code generated by software activities and the source
program code which is used to measuring of linage (most commonly), also instruction number of object code. delivered system
documentation phases. The calculation of single line of code includes design and analysis, written program, instruments tests
and documentation of system in person-month.
➢ Measures in Object Oriented concepts: Focus on C&K[5] and MOOD[6] Measures to identity weather a design is reasonable
or not reasonable. C&K gives six class level Metrics: Each class weighted method, inheritance tree depth, total children; object
classes coupling, responses for a class, methods having lack of cohesion.
➢ Software project Cost Estimation: Divide the software into components. This is called splitting or grouping of software which
not require unnecessary internal knowledge and his helps to configured to complete word as required, hence by this way, it is
easy and convenient for developer and it provides great convenient for estimation.
1) After grouping, application having two relationships:
1) Integer relationship b/w classes with in an individual group.
2) The relationship b/w various groups are previously created
2) Now, for individual group, often details design completion each group will have.
1) Complete class diagram.
2) Complete sequence diagram.
3) Now, use both of above complete class and sequence diagram, i.e. as follow
1) Use number of class in class diagram.
2) The number of methods in all class.
HARSHIT AGARWAL (20178042)
➢ For Sequence Diagram: First, you have to enter number of methods, that are with your corresponding group which is
currently used process, whose sequence diagram are analyzed for calculating single line of code. And then our software
window repeats that number of time for the analysis of all sequence diagrams. NOTE: The methods analyzed, needed
to input there name or record their name to database.
➢ Coding File Analysis: Browse Coding files to software for calculating total single line of code in file, this software
automatically remove single line comments, multiline comments and white/ blank lines, It imports all files to their database
and auto record all the results to database, including those SLOC which are already calculated.
➢ Total SLOC Calculation: Now, have all method names that are analyze in class diagrams analysis & sequence diagram
analysis and also total SLOC calculation in coding file analysis. This data is used to calculate Significant number of
accurate SLOC, Software auto recognize all the methods by name and as it have all coding files loaded in it.
HARSHIT AGARWAL (20178042)
Demo of
Tool Usage
(Input)
HARSHIT AGARWAL (20178042)
Demo of
Tool Usage
(Results)
HARSHIT AGARWAL (20178042)
References
● http://info.usherbrooke.ca/llavoie/enseignement/References/C
ocomoII_Reference_Manual.pdf
● https://en.wikipedia.org/wiki/COCOMO
● https://www.geeksforgeeks.org/software-engineering-cocomo-ii-
model/
● https://sunset.usc.edu/research/COCOMOII/beta_software/mod
el_manual_000614.pdf
● http://www.dmi.usherb.ca/~frappier/IFT721/COCO
MOII.PDF

More Related Content

What's hot

Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structuresNur Islam
 
COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project managementSyed Hassan Ali
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assemblerBansari Shah
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering NotesNavjyotsinh Jadeja
 
Cocomo model
Cocomo modelCocomo model
Cocomo modelMZ5512
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)swapnac12
 
System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSARASWATHI S
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler designKuppusamy P
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design) Tasif Tanzim
 
Management of I/O request & Communication among devices
Management of I/O request & Communication among devicesManagement of I/O request & Communication among devices
Management of I/O request & Communication among devicesManish Halai
 
Software project management
Software project managementSoftware project management
Software project managementR A Akerkar
 

What's hot (20)

Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project management
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
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
 
Lex & yacc
Lex & yaccLex & yacc
Lex & yacc
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro calls
 
Ch 4 linker loader
Ch 4 linker loaderCh 4 linker loader
Ch 4 linker loader
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler design
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)
 
Management of I/O request & Communication among devices
Management of I/O request & Communication among devicesManagement of I/O request & Communication among devices
Management of I/O request & Communication among devices
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Software project management
Software project managementSoftware project management
Software project management
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 

Similar to Constructive Cost Model - II (COCOMO-II)

Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxYagnaGummadi
 
Algorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxAlgorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxsadeepaJayatissa1
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part IIsslovepk
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation projectShashank Puppala
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5SIMONTHOMAS S
 
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
 
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
 
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
 

Similar to Constructive Cost Model - II (COCOMO-II) (20)

Cocomo m odel
Cocomo m odelCocomo m odel
Cocomo m odel
 
Aa03101540158
Aa03101540158Aa03101540158
Aa03101540158
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
Algorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxAlgorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptx
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Software Estimation Part II
Software Estimation Part IISoftware Estimation Part II
Software Estimation Part II
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation project
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
1sqa25.pptx
1sqa25.pptx1sqa25.pptx
1sqa25.pptx
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
Cocomomodel
CocomomodelCocomomodel
Cocomomodel
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
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...
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
cocomo.pptx
cocomo.pptxcocomo.pptx
cocomo.pptx
 
Cocomo
CocomoCocomo
Cocomo
 
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
 

Recently uploaded

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Introduction to Geographic Information Systems
Introduction to Geographic Information SystemsIntroduction to Geographic Information Systems
Introduction to Geographic Information SystemsAnge Felix NSANZIYERA
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessorAshwiniTodkar4
 
Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257subhasishdas79
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfsumitt6_25730773
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsmeharikiros2
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelDrAjayKumarYadav4
 

Recently uploaded (20)

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Introduction to Geographic Information Systems
Introduction to Geographic Information SystemsIntroduction to Geographic Information Systems
Introduction to Geographic Information Systems
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor
 
Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257Memory Interfacing of 8086 with DMA 8257
Memory Interfacing of 8086 with DMA 8257
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Query optimization and processing for advanced database systems
Query optimization and processing for advanced database systemsQuery optimization and processing for advanced database systems
Query optimization and processing for advanced database systems
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 

Constructive Cost Model - II (COCOMO-II)

  • 1. CONSTRUCTIVE COST MODEL-II (COCOMO-II) Software Engineering CS-16106 Group - 7 Course Coordinator: Dr. Anoj Kumar AssociateProfessor, Department ofCSED, MNNIT, Allahabad • Aman Sharma (20178051) • Harshit Agarwal (20178042) • Prakhar Mishra (20178002) • Shivam Shrivastava (20178025)
  • 2. Introduction COCOMO-II is the revised version of the Cocomo (Constructive Cost Model) and is developed at University of Southern California. It is the model that allows one to estimate the cost, effort and schedule when planning a new software development activity. The four main elements of the COCOMO II strategy are: • Preserve the openness of the original COCOMO • Key the structure of COCOMO II to the future software marketplace sectors described earlier • Key the inputs and outputs of the COCOMO II sub models to the level of information available • Enable the COCOMO II sub models to be tailored to a project's particular process strategy. All of its relationships and algorithms will be publicly available. To support the software marketplace sectors above, COCOMO II provides a family of increasingly detailed software cost estimation models, each tuned to the sectors' needs and type of information available to support software cost estimation.
  • 3. Table of Content 1) Sub Models 4-5 2) Lines of Code 6 3) Function Points 7-8 4) Scaling Drivers 9-10 5) Cost Drivers 11-12 6) Effort Estimates and EAF 13-14 7) Schedule Equation, Breakage 15 8) Tool Analysis 16-19 Name Slide No(s)
  • 4. • The sub-models in COCOMO-II are: • APPLICATION COMPOSITION MODEL: ➢ Supports prototyping projects and projects where there is extensive reuse. ➢ Based on standard estimates of developer productivity in application (object) points/month. ➢ Takes CASE tool use into account. ➢ PM = (NAP * ( 1 - %reuse/100 ) ) / PROD . ( PM = effort in person-month , NAP = number of application points, and PROD = productivity ). • EARLY DESIGN MODEL : • Estimates can be made after the requirements have been agreed. • Based on a standard formula for algorithmic models PM = A x (Size^b) x M where M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED; A = 2.94 in initial calibration, Size in KLOC, B varies from 1.1 t o1.24 depending on novelty of the project, development flexibility, risk management COCOMO II Sub Models PRAKHAR MISHRA (20178002)
  • 5. • REUSE MODEL: ➢ Takes into account black box code that is reused without change and code that has to be adapted to integrate it with new code. There is two versions ➢ Black box reuse where code is not modified. An effort estimate (PM) is computed. ➢ White-box reuse where code is modified, A size estimate equivalent to the number of lines of new source code is computed. This then adjusts the size estimate for new code. ➢ When code has to be understood and integrated: ▪ ESLOC = ASLOC * (1 – AT/100) *AAM. ▪ ASLOC and AT as before. ▪ AAM is the adaptation adjustment multiplier computed from the costs of changing the reused code, the costs of understanding how to integrate the code and the costs of reuse decision making. • POST-ARCHITECTURE MODEL: Used once the system architecture has been designed and more information about the system is available. The code size is estimated as : • Number of lines of new code to be developed. • Estimates of equivalent number of lines of new code computed using the reuse model. • An estimate of the number of lines of new code computed using the reuse model. • An estimate of the number of lines of code that have to be modified according to requirements changes. PRAKHAR MISHRA (20178002)
  • 6. Source Lines of Code (SLOC/LOC) The COCOMO calculations are based on your estimates of a project's size in Source Lines of Code (SLOC). SLOC is defined such that: • Only Source lines that are DELIVERED as part of the product are included -- test drivers and other support software is excluded • SOURCE lines are created by the project staff -- code created by applications generators is excluded • One SLOC is one logical line of code • Declarations are counted as SLOC • Comments are not counted as SLOC The original COCOMO 81 model was defined in terms of Delivered Source Instructions, which are very similar to SLOC. The major difference between DSI and SLOC is that a single Source Line of Code may be several physical lines. For example, an "if-then-else" statement would be counted as one SLOC, but might be counted as several DSI. PRAKHAR MISHRA (20178002)
  • 7. Function Points The function point cost estimation approach is based on the amount of functionality in a software project and a set of individual project factors. Function points are useful estimators since they are based on information that is available early in the project life cycle. A brief summary of function points and their calculation in support of COCOMO II is as follows. Function points measure a software project by quantifying the information processing functionality associated with major external data or control input, output, or file types. User Function Types SHIVAM SHRIVASTAVA (20178025)
  • 8. Converting Function Points to Lines of Code To determine the nominal person months for the Early Design model, the unadjusted function points have to be converted to source lines of code in the implementation language (assembly, higher order language, fourth- generation language, etc.) in order to assess the relative conciseness of implementation per function point. COCOMO II does this for both the Early Design and Post-Architecture models by using tables such as those found in [Jones 1991] to translate Unadjusted Function Points into equivalent SLOC. SHIVAM SHRIVASTAVA (20178025)
  • 9. Scaling Drivers In the COCOMO II model, some of the most important factors contributing to a project's duration and cost are the Scale Drivers. You set each Scale Driver to describe your project; these Scale Drivers determine the exponent used in the Effort Equation. The 5 Scale Drivers are: • Precedentedness (PREC) : how novel the project is for the organization • Development Flexibility (FLEX) : development flexibility (e.g. rigidity of compliance to requirements) • Architecture / Risk Resolution (RESL) : thoroughness of design and risk resolution • Team Cohesion (TEAM) • Process Maturity (PMAT) : maturity with respect to the CMMI questionnaire Note that the Scale Drivers have replaced the Development Mode of COCOMO 81. The first two Scale Drivers, Precedentedness and Development Flexibility actually describe much the same influences that the original Development mode did. SHIVAM SHRIVASTAVA (20178025)
  • 10. Scale factors and description Constant values of different scale factors according to SLOC SHIVAM SHRIVASTAVA (20178025)
  • 11. Cost Drivers COCOMO II has 17 cost drivers – you assess your project, development environment, and team to set each cost driver. The cost drivers are multiplicative factors that determine the effort required to complete your software project. For example, if your project will develop software that controls an airplane's flight, you would set the Required Software Reliability (RELY) cost driver to Very High. That rating corresponds to an effort multiplier of 1.26, meaning that your project will require 26% more effort than a typical software project. COCOMO II defines each of the cost drivers, and the Effort Multiplier associated with each rating. AMAN SHARMA (20178051)
  • 12. Constant values of different cost drivers according to SLOC AMAN SHARMA (20178051)
  • 13. Developing Effort Estimates The COCOMO II model makes its estimates of required effort (measured in Person-Months -- PM) based primarily on your estimate of the software project's size (as measured in thousands of SLOC, KSLOC)): Effort = 2.94 * EAF * (KSLOC)E Where EAF is the Effort Adjustment Factor derived from the Cost Drivers E is an exponent derived from the five Scale Drivers As an example, a project with all Nominal Cost Drivers and Scale Drivers would have an EAF of 1.00 and exponent, E, of 1.0997. Assuming that the project is projected to consist of 8,000 source lines of code, COCOMO II estimates that 28.9 Person-Months of effort is required to complete it: Effort = 2.94 * (1.0) * (8)1.0997 = 28.9 Person-Months E<1.0:the project exhibits economies of scale. E=1.0:the economies and diseconomies of scale are in balance. E>1.0:the project exhibits diseconomies of scale. AMAN SHARMA (20178051)
  • 14. Effort Adjustment Factor The Effort Adjustment Factor in the effort equation is simply the product of the effort multipliers corresponding to each of the cost drivers for your project. For example, if your project is rated Very High for Complexity (effort multiplier of 1.34), and Low for Language & Tools Experience (effort multiplier of 1.09), and all of the other cost drivers are rated to be Nominal (effort multiplier of 1.00), the EAF is the product of 1.34 and 1.09. Effort Adjustment Factor = EAF = 1.34 * 1.09 = 1.46 Effort = 2.94 * (1.46) * (8)1.0997 = 42.3 Person-Months AMAN SHARMA (20178051)
  • 15. Schedule Equation The COCOMO II schedule equation predicts the number of months required to complete your software project. The duration of a project is based on the effort predicted by the effort equation: Duration = 3.67 * (Effort) SE Where: • Effort Is the effort from the COCOMO II effort equation • SE Is the schedule equation exponent derived from the five Scale Drivers Continuing the example, and substituting the exponent of 0.3179 that is calculated from the scale drivers, yields an estimate of just over a year, and an average staffing of between 3 and 4 people: Duration = 3.67 * (42.3) 0.3179 = 12.1 months Average staffing = (42.3 Person-Months) / (12.1 Months) = 3.5 people Breakage COCOMO II uses a breakage percentage, BRAK, to adjust the effective size of the product. Breakage reflects the requirements volatility in a project. It is the percentage of code thrown away due to requirements volatility. For example, a project which delivers 100,000 instructions but discards the equivalent of an additional 20,000 instructions has a BRAK value of 20. This would be used to adjust the project’s effective size to 120,000 instructions for a COCOMO II estimation. The BRAK factor is not used in the Applications Composition model, where a certain degree of product iteration is expected, and included in the data calibration. AMAN SHARMA (20178051)
  • 16. TOOL ANALYSIS ➢ SLOC (size in single line of code) calculation measure: The line of code generated by software activities and the source program code which is used to measuring of linage (most commonly), also instruction number of object code. delivered system documentation phases. The calculation of single line of code includes design and analysis, written program, instruments tests and documentation of system in person-month. ➢ Measures in Object Oriented concepts: Focus on C&K[5] and MOOD[6] Measures to identity weather a design is reasonable or not reasonable. C&K gives six class level Metrics: Each class weighted method, inheritance tree depth, total children; object classes coupling, responses for a class, methods having lack of cohesion. ➢ Software project Cost Estimation: Divide the software into components. This is called splitting or grouping of software which not require unnecessary internal knowledge and his helps to configured to complete word as required, hence by this way, it is easy and convenient for developer and it provides great convenient for estimation. 1) After grouping, application having two relationships: 1) Integer relationship b/w classes with in an individual group. 2) The relationship b/w various groups are previously created 2) Now, for individual group, often details design completion each group will have. 1) Complete class diagram. 2) Complete sequence diagram. 3) Now, use both of above complete class and sequence diagram, i.e. as follow 1) Use number of class in class diagram. 2) The number of methods in all class. HARSHIT AGARWAL (20178042)
  • 17. ➢ For Sequence Diagram: First, you have to enter number of methods, that are with your corresponding group which is currently used process, whose sequence diagram are analyzed for calculating single line of code. And then our software window repeats that number of time for the analysis of all sequence diagrams. NOTE: The methods analyzed, needed to input there name or record their name to database. ➢ Coding File Analysis: Browse Coding files to software for calculating total single line of code in file, this software automatically remove single line comments, multiline comments and white/ blank lines, It imports all files to their database and auto record all the results to database, including those SLOC which are already calculated. ➢ Total SLOC Calculation: Now, have all method names that are analyze in class diagrams analysis & sequence diagram analysis and also total SLOC calculation in coding file analysis. This data is used to calculate Significant number of accurate SLOC, Software auto recognize all the methods by name and as it have all coding files loaded in it. HARSHIT AGARWAL (20178042)
  • 20. References ● http://info.usherbrooke.ca/llavoie/enseignement/References/C ocomoII_Reference_Manual.pdf ● https://en.wikipedia.org/wiki/COCOMO ● https://www.geeksforgeeks.org/software-engineering-cocomo-ii- model/ ● https://sunset.usc.edu/research/COCOMOII/beta_software/mod el_manual_000614.pdf ● http://www.dmi.usherb.ca/~frappier/IFT721/COCO MOII.PDF