Coco Mo Presentation

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

COCOMO Software Cost

Estimating Model
COCOMO Versions
• CO (Constructive) CO (Cost) MO (Model).
• First version: 1981 by Dr. Barry Boehm
– Now known now as “COCOMO 81”.
• Current Version: Cocomo II (circa 2000).
• Regression formula, with data taken from
historical projects and current project
characteristics.
CoCoMo

• * “Organic: in-house, less-complex developments with flexible


processes. Features, qualities, cost and schedule are freely changed with
minimal
overhead.

• * Embedded: typical defense community projects. Complex, requiring


high reliability, with real-time issues. Highly rigorous process. Features,
qualities, cost and schedule are tightly controlled.

• * Semidetached: somewhere in-between organic and embedded.”


Cocomo:
Limitations as years progressed
• Software reuse.
• Application generation programs.
• Object oriented approaches.
• Application engineering (reuse, applications
translation).
• Rapid development.
Calc’s are based on SLOC
• SLOC = “Source Lines Of Code”
• 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 (an If-Then-Else is
one line of code).
Person Months
• Default Value: 152 hours per month
– 19 days at 8 hours per day.
• Includes development & management time
Cocomo II screens
What the Cocomo II screen looks like upon starting a new Project.
Note you start out in the Post Architecture model, and there is no
Application Composition model available.
Enter a Project Name
Can’t really do much unless we add a Module, so
choose Edit  Add Module. A new line shows
up in the screen with a default module name.
1. Change the 2. Now double click on the
module name yellow rectangle under
to whatever Module Size…
you want.
This screen will pop up allowing us to choose
between Source Lines Of Code (SLOC),
Function Points, or Adaptation and Re-Use. Let’s
stick with SLOC for this module.
I have indicated my program language is C++
(this is really important to know for Function
Points), there is an estimated 10,000 lines of
code, and 20% of the code will be discarded due
to requirements evolution and volatility.
Hit OK…
The main screen is updated with the SLOC and programming
language as well as some calculated values we will decipher
later. Note that the SLOC is 12,000. Why? 
{Pertinent portion of calculation on next slide in red boxes}
Now add another module and choose Function Points.
This is the
default screen
for Function
Points.

Let’s look
deeper at the
Function Type
descriptions…
External Input Count each unique user data or user control input type that (i)
(Inputs) enters the external boundary of the software system being
measured and (ii) adds or changes data in a logical internal
file.
External Output Count each unique user data or control output type that leaves
(Outputs) the external boundary of the software system being measured.

Internal Logical File Count each major logical group of user data or control
(Files) information in the software system as a logical internal file
type. Include each logical file (e.g., each logical group of data)
that is generated, used, or maintained by the software system.

External Interface Files passed or shared between software systems should be


Files (Interfaces) counted as external interface file types within each system.

External Inquiry Count each unique input-output combination, where an input


(Queries) causes and generates an immediate output, as an external
inquiry type.

You might also like