20
Constructive Constructive Cost Cost Model Model (COCOMO) (COCOMO)

Cocomo Model Amit

Embed Size (px)

Citation preview

Page 1: Cocomo Model Amit

Constructive Constructive Cost Cost

Model Model (COCOMO)(COCOMO)

Page 2: Cocomo Model Amit

IntroductionIntroduction

COCOMO is a hierarchy of software COCOMO is a hierarchy of software cost estimation models ,which include cost estimation models ,which include Basic , Intermediate and Detailed sub Basic , Intermediate and Detailed sub models. COCOMO ismodels. COCOMO is used for used for knowingknowing the how much cost to develop the how much cost to develop the software.the software.

Page 3: Cocomo Model Amit

COCOMO ModelsCOCOMO Models

The basic model aims at estimating ,in a quick The basic model aims at estimating ,in a quick and rough fashion ,most of the small to and rough fashion ,most of the small to mediummedium sized software projects. sized software projects.

In this model there are modes of software In this model there are modes of software development .development .

1. Organic mode 1. Organic mode

2. Semi-detached mode2. Semi-detached mode

3. Embedded mode3. Embedded mode

Page 4: Cocomo Model Amit

Organic ModeOrganic Mode

In the Organic Mode , a small team of In the Organic Mode , a small team of experienced developers develops software in a experienced developers develops software in a very familiar environment. The size of the very familiar environment. The size of the software development in this mode ranges software development in this mode ranges from small (a few KLOC) to a medium (a few from small (a few KLOC) to a medium (a few tens of KLOC) while in other two modes the tens of KLOC) while in other two modes the size range from small to very large (a few size range from small to very large (a few hundreds of KLOC)hundreds of KLOC)

Page 5: Cocomo Model Amit

..Embedded Embedded ModeMode

In this mode ,the project has tight In this mode ,the project has tight constraints , which might be related to the constraints , which might be related to the target processor and its interface with the target processor and its interface with the associated hardware.associated hardware.

Semi Detached ModeSemi Detached Mode

The Semi Detached mode is an intermediate The Semi Detached mode is an intermediate mode between the organic mode and mode between the organic mode and embedded mode.embedded mode.

Page 6: Cocomo Model Amit

Basic COCOMO Model: Basic COCOMO Model: FormulaFormula

E=aE=abb (KLOC) (KLOC) bbbb

D=cD=cb b (E) (E) ddb b

P=E/D P=E/D where where EE is the effort applied in person-months, is the effort applied in person-months, DD is the development time in chronological is the development time in chronological months, months, KLOCKLOC is the estimated number of is the estimated number of delivered lines of code for the project (expressed delivered lines of code for the project (expressed in thousands), and in thousands), and PP is the number of people is the number of people required. The coefficients required. The coefficients aabb, , bbbb, , ccbb and and ddbb are are given in next slide.given in next slide.

Page 7: Cocomo Model Amit

Basic COCOMO Coefficients Basic COCOMO Coefficients

Software projectSoftware project aabb bbbb ccbb ddbb

Organic 2.4 1.05 2.5 0.38 Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 Embedded 3.6 1.20 2.5 0.32

Page 8: Cocomo Model Amit

MODE EFFORT SCHEDULE

ORGANIC E= 2.4*(KLOC)1.05 TDEV = 2.5*(E)0.38

SEMI-DETACHED E=3.0*(KLOC)1.12 TDEV =2.5*(E)0.35

EMBEDDED E=3.6*(KLOC)1.20 TDEV =2.5*(E)0.32

Page 9: Cocomo Model Amit

Basic COCOMO Model: Basic COCOMO Model: ExampleExample

We have determined our project fits the characteristics of We have determined our project fits the characteristics of Semi-DetachedSemi-Detached mode mode

We estimate our project will have We estimate our project will have 32KLOC32KLOC Delivered Delivered Source Instructions. Using the formulas, we can Source Instructions. Using the formulas, we can estimate:estimate:

EffortEffort = 3.0*(32) = 3.0*(32) 1.121.12 = 146 man-months= 146 man-months ScheduleSchedule = 2.5*(146) = 2.5*(146) 0.350.35 = 14 months= 14 months ProductivityProductivity = 32 KLOC/146 MM= 32 KLOC/146 MM

= 219 DSI/MM= 219 DSI/MM Average StaffingAverage Staffing = 146 MM /14 months = 146 MM /14 months

= 10 FSP= 10 FSP

Page 10: Cocomo Model Amit

Intermediate ModelIntermediate Model

The Basic model allowed for a quick and The Basic model allowed for a quick and rough estimate, but it resulted in a lack of rough estimate, but it resulted in a lack of

accuracy. Boehm introduced an additional set accuracy. Boehm introduced an additional set of 15 predictors called Cost Drivers in the of 15 predictors called Cost Drivers in the intermediate model to take account of the intermediate model to take account of the software development environment. Cost software development environment. Cost

driver are used to adjust the nominal cost of a driver are used to adjust the nominal cost of a project to the actual environment, hence project to the actual environment, hence

increasing the accuracy of estimate. increasing the accuracy of estimate.

Page 11: Cocomo Model Amit

The Cost Drivers are Grouped into four The Cost Drivers are Grouped into four

CategoriesCategories 1. Product attribute1. Product attribute

(a) Required software reliability (RELY)(a) Required software reliability (RELY)(b) (b) Database sizeDatabase size (DATA) (DATA)

(c) (c) Product complexityProduct complexity (CPLX) (CPLX)

2.Computer attributes2.Computer attributes (a) (a) Execution time constraints (TIME)Execution time constraints (TIME)

(b) Main storage constraints (STOR)(b) Main storage constraints (STOR)(c) Virtual machine volatility (VIRT) (c) Virtual machine volatility (VIRT)

(d) Computer turn around time (TURN (d) Computer turn around time (TURN))

Page 12: Cocomo Model Amit

3. Personal attributes3. Personal attributes(a) (a) Analyst capability (ACAP)Analyst capability (ACAP)

(b) (b) Application experience (AEXP)Application experience (AEXP) (c) (c) Programmer capability (PCAP)Programmer capability (PCAP)

(d) (d) Virtual machine experience (VEXP)Virtual machine experience (VEXP) (e) (e)Programming language experience (LEXP)Programming language experience (LEXP)

4.Project attributes4.Project attributes

(a) (a) Modern programming practices (MODP)Modern programming practices (MODP) (b) (b) Use of software tools (TOOL)Use of software tools (TOOL)

(c) (c)Required development schedule (SCED)Required development schedule (SCED)

Page 13: Cocomo Model Amit

COCOMO - COST DRIVERS

RATING

COST DRIVER

V.LOW

LOW NOMINAL

HIGH V.HIGH

EX. HIGH

(PRODUCT) RELY 0.75 0.88 1.00 1.15 1.40 .

.. DATA . 0.94 1.00 1.08 1.16 .

.. CPLX 0.70 0.85 1.00 1.15 1.30 1.65

(COMPUTER)

TIME . . 1.00 1.11 1.30 1.66

.. STOR . . 1.00 1.06 1.21 1.56

.. VIRT . 0.87 1.00 1.15 1.30 .

.. TURN . 0.87 1.00 1.07 1.15 .

.

Page 14: Cocomo Model Amit

(PERSONNEL)

ACAP 1.46 1.19 1.00 0.86 0.71 .

.. AEXP 1.29 1.13 1.00 0.91 0.82 .

.. PCAP 1.42 1.17 1.00 0.86 0.70 .

.. VEXP 1.21 1.10 1.00 0.90 . .

.. LEXP 1.14 1.07 1.00 0.95 . .

(PROJECT) MODP 1.24 1.10 1.00 0.91 0.82 .

.. TOOL 1.24 1.10 1.00 0.91 0.83 .

.. SCED 1.23 1.08 1.00 1.04 1.10 .

Page 15: Cocomo Model Amit

Intermediate Model:Intermediate Model:EquationsEquations

Mode Effort Schedule

ORGANIC E=EAF*(KLOC)1.05 TDEV=2.5*(E)0.38

SEMI-DETACHED E=EAF*3.0(KLOC)1.12 TDEV=2.5*(E)0.35

EMBEDDED E=EAF*2.8*(KLOC)1.20 TDEV=2.5*(E)0.32

Page 16: Cocomo Model Amit

The Intermediate Model can be The Intermediate Model can be applied applied across the entire software across the entire software productproduct for easily and rough cost for easily and rough cost estimation during the early stageestimation during the early stage

The Intermediate Model estimates are The Intermediate Model estimates are within within 20%20% of the actuals of the actuals 68%68% of the of the

timetime

Page 17: Cocomo Model Amit

Intermediate Model:Intermediate Model:An ExampleAn Example

Project A is to be a Project A is to be a 32,000 DSI semi-detached32,000 DSI semi-detached software. It is in a mission critical area, so the software. It is in a mission critical area, so the reliabilityreliability is high (RELY=high=1.15). Then we is high (RELY=high=1.15). Then we can estimate:can estimate:

EffortEffort = 1.15*3.0*(32) = 1.15*3.0*(32)1.121.12 = 167 man-months = 167 man-months ScheduleSchedule = 2.5*(167) = 2.5*(167)0.350.35 = 15 months= 15 months ProductivityProductivity = 32,000 DSI/167 MM = 32,000 DSI/167 MM

= 192 DSI/MM = 192 DSI/MM Average StaffingAverage Staffing = 167 MM/15 months= 167 MM/15 months

= 11 FSP = 11 FSP

Page 18: Cocomo Model Amit

Detailed COCOMO ModelDetailed COCOMO Model The detailed model introduce two more The detailed model introduce two more

capabilities:capabilities:

Phase-sensitive Effort MultipliersPhase-sensitive Effort MultipliersThe effort multipliers for every cost drivers are The effort multipliers for every cost drivers are different during the software development different during the software development phasesphases

Module-Subsystem-System HierarchyModule-Subsystem-System HierarchyThe software product is estimated in the three level The software product is estimated in the three level hierarchical decomposition. The fifteen cost drivers hierarchical decomposition. The fifteen cost drivers are related to module or subsystem levelare related to module or subsystem level

Page 19: Cocomo Model Amit

Detailed COCOMO Model:Detailed COCOMO Model:Module-Subsystem-SystemModule-Subsystem-System

Module levelModule level• cost drivers tend to vary at the lowest levelcost drivers tend to vary at the lowest level• CPLX, PCAP, VEXP, LEXPCPLX, PCAP, VEXP, LEXP

Subsystem LevelSubsystem Level• cost drivers tend to vary from subsystem to cost drivers tend to vary from subsystem to

subsystem, but are the same for modules in a sub-systemsubsystem, but are the same for modules in a sub-system• RELY, DATA, TIME, STOR, VIRTRELY, DATA, TIME, STOR, VIRT

System LevelSystem Level• overall project relations such as nominal effort and overall project relations such as nominal effort and

schedule equationsschedule equations

Page 20: Cocomo Model Amit

KDSI means K for Thousand and DSI is KDSI means K for Thousand and DSI is "delivered source instruction". "delivered source instruction". Clear Clear