Cocomo Models

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 27

COCOMO Models

Motivation
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.
Cost of a project
• The cost in 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)
Cost of a project

• Cost of the project depends on the nature and


characteristics of the project

• Accuracy of the estimate will depend on the


amount of reliable information we have about the
final product
Software Cost Estimation
Introduction to COCOMO
models
• The COstructive COst Model (COCOMO) is the most
widely used software estimation model in the world.

• 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.


Effort
• Effort Equation
– PM = C * (KDSI)n (person-months)

• where PM = number of person-month

• C = a constant,

• KDSI = thousands of "delivered source instructions"


(DSI) and

• n = a constant.
Productivity

• Productivity equation
– (DSI) / (PM)

• where PM = number of person-month

• DSI = "delivered source instructions"


Schedule

• Schedule equation
– TDEV = C * (PM)n (months)

• where TDEV = number of months estimated for


software development.
Average Staffing

• Average Staffing Equation


– (PM) / (TDEV) (FSP)

• where FSP means Full-time-equivalent Software


Personnel.
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.
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.
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.
Modes
Feature Organic Semidetached Embedded

Organizational Thorough Considerable General


understanding of
product and
objectives
Experience in Extensive Considerable Moderate
working with related
software systems

Need for software Basic Considerable Full


conformance with
pre-established
requirements

Need for software Basic Considerable Full


conformance with
external interface
specifications
Mode
Feature Organic Semidetached Embedded

Concurrent Some Moderate Extensive


development of
associated new
hardware and
operational
procedures

Need for innovative Minimal Some Considerable


data processing
architectures,
algorithms
Premium on early Low Medium High
completion
Product size range <50 KDSI <300KDSI All
Cost Estimation Process
Cost=Size_Of_The_Project x Productivity
Cost Estimation Process

Effort
Size Table
Development Time
Lines of Code
Estimation Process
Number of Use Case Number of Personnel

Function Point Errors


Effort Computation
• The Basic COCOMO model computes effort as a
function of program size. The Basic COCOMO equation
is:
– E = a * KLOC^b

• Effort for three modes of Basic COCOMO.


Mode a b

Organic 2.4 1.05


Semi- 3.0 1.12
detached
Embedded 3.6 1.20
Example
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.

Mode a b

Organic 3.2 1.05


Semi- 3.0 1.12
detached
Embedded 2.8 1.20
Effort computation
• Effort Adjustment Factor
Cost Driver Very Low Nominal High Very Extra
Low High 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


Effort Computation
Total EAF = Product of the selected factors

Adjusted value of Effort: Adjusted Person Months:


APM = (Total EAF) * PM
Example
Software Development Time

• Development Time Equation Parameter Table:


Parameter Organic Semi- Embedded
detached
C 2.5 2.5 2.5
D 0.38 0.35 0.32

• Development Time TDEV = C * (APM **D)

• Number of Personnel NP = APM / TDEV


Distribution of Effort
• A development process typically consists of the
following stages:
– Requirements Analysis

– Design (High Level + Detailed)

– Implementation & Coding

– Testing (Unit + Integration)


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 Design, Implementation Testing


Analysis HLD + DD

Effort 23% 29% 22% 21% 100%

TDEV 39% 25% 15% 21% 100%


Exercise
• An IT company working on defense related project.
• As per the project requirements, developers need to complete the coding using
C language.
• Based on experience of similar kind projects completed in the past, and some
innovative ideas to be used to provide the optimized solution, approximate
number of line of coding is 350 KLOC.
• Following key cost drivers need to be completed at appropriate level –
– Very high level of reliability required
– Extra high product complexity
– System shall very fast i.e. execution time shall very less
– Normal database size for operation of different functionality
– Very high storage is required for real time information
– Developers shall have very high experience in using language
– Programmers capability shall be very high
– Requirement of Development schedule is normal
• Calculate efforts in person-months using COCOMO model. Also compute
productivity, development time and average staff requirement.

You might also like