COCOMO - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

COCOMO

Description:

... time (including the average time off due to sick leave, holidays, and vacation) ... estimations in the more detailed stages of software product definition. ... – PowerPoint PPT presentation

Number of Views:1108
Avg rating:3.0/5.0
Slides: 22
Provided by: davidaw1
Category:
Tags: cocomo

less

Transcript and Presenter's Notes

Title: COCOMO


1
COCOMO COCOMO 2.0byDeanna B. Legg Barry
Boehm, Bradford Clark, Ellis Horowitz and Chris
Westland1995
  • EEL6887 Software Engineering
  • Sirisha Budaty
  • February 1st 2006

2
Reference Sources
  • Textbook Software Engineering Project
    Management, 2nd ed., edited by Thayer and
    Yourdon, IEEE Computer Society, 2000.
  • pp230 Synopsis of COCOMO", by Deanna B. Legg
  • pp270 Cost Modelsfor Future Software Lifecycle
    Processes COCOMO 2.0, by Barry Boehm, Bradford
    Clark, Ellis Horowitz, Chris Westland, Ray
    Madachy and Richard Selby
  • Safe and simple software cost analysis, by
    Boehm, B., Software, IEEEVolume 17,  Issue 5, 
    Sept.-Oct. 2000 Page(s)14 17, Digital Object
    Identifier 10.1109/52.877854
  • http//softstarsystems.com/cocomo2.htm
  • http//sunset.usc.edu/research/COCOMOII/Docs/mode
    lman.pdf

3
What is COCOMO ?
  • COCOMO COnstructive COst MOdel
  • A software cost estimation method that is based
    on a set of empirically derived equations. The
    equations incorporate a number of variables
    considered to be the major cost drivers of
    software development and maintenance.
  • It is based on the classical waterfall model of
    the software life cycle.
  • System Feasibility
  • Software Plans and Requirements
  • Software Design
  • Programming
  • Integration and Test
  • Implementation
  • Maintenance

4
Waterfall Model of Software life cycle
COCOMO provides effort estimation for the
development phase only.
5
Definitions and Assumptions
  • DSI (Delivered Source Instructions) is the
    primary cost driver. The term delivered
    excludes non-delivered support software.
  • PM (Person-Month) A COCOMO person-month
    consists of 19 days(152hrs) of working time
    (including the average time off due to sick
    leave, holidays, and vacation).
  • The development period covered by COCOMO cost
    estimates start at the beginning of the software
    design phase and ends at the end of the
    integration and test phase.
  • COCOMO estimates assume that the project will be
    managed well by both the developer and the
    customer.
  • COCOMO estimates assume that the requirements
    specification does not significantly change after
    the plans and requirements phase.
  • COCOMO should not be used for projects below 2000
    DSI, since differences in personnel will tend to
    dominate all other effects.

6
Versions of COCOMO
  • Basic, used mostly for rough early estimates.
  • Intermediate, is the most commonly used version.
  • - Incorporates 15 cost drivers to account for
    software project cost variations that are not
    directly related to project size (i.e., personnel
    capability, use of modern tools, hardware
    constraints etc)
  • Detailed, Not used very often
  • - accounts for the influence of the different
    factors on individual project phases..
  • Development Types
  • Organic Type
  • Relatively small software teams develop familiar
    types of software in an in-house environment.
  • Most of the personnel connected with the project
    have previous experience working with related or
    similar systems in the organizations.
  • Embedded Type
  • Project may require new technology, unfamiliar
    algorithms or an innovative new method of solving
    a problem.
  • Semi-detached Type
  • An intermediate stage between organic and
    embedded types (i.e., either a mixture of organic
    and embedded type or an intermediate level of the
    project characteristics).

7
Cost Estimation using Basic COCOMO
  • Type Effort Schedule
  • Organic PM 2.4 (KDSI)1.05 TD 2.5 (PM)0.38
  • Semi-Detached PM 3.0 (KDSI)1.12 TD 2.5
    (PM)0.35
  • Embedded PM 3.6 (KDSI)1.20 TD 2.5 (PM)0.32
  • - PM person-month
  • KDSI delivered source instructions, in
    thousands
  • TD number of months estimated for software
    development
  • EXAMPLE
  • Assumption
  • Organic Project with estimated size of 128,000
    lines of code.
  • Effort PM 2.4 (128)1.05 392 person-months
  • Productivity 128,000 DSI/392 PM 327 DSI/PM
  • Schedule TD 2.5 (392)0.38 24 months
  • Avg. Staffing 392 PM/ 24 months 16 PM/TD

8
Cost Estimation using Intermediate COCOMO
  • It is a compatible extension to basic COCOMO.
  • It provides great accuracy and level of detail
    which makes it more suitable for cost estimations
    in the more detailed stages of software product
    definition.
  • The intermediate COCOMO exponents for the three
    software development types are the same as Basic
    COCOMO, but the coefficients are different. The
    Intermediate development schedule is determined
    using the Basic COCOMO schedule equations.
  • Type Effort Schedule
  • Organic PM 3.2 (KDSI)1.05 TD 2.5 (PM)0.38
  • Semi-Detached PM 3.0 (KDSI)1.12 TD 2.5
    (PM)0.35
  • Embedded PM 2.8 (KDSI)1.20 TD 2.5 (PM)0.32

9
Cost Drivers
  • Intermediate COCOMO incorporates 15 predictor
    variables called Cost Drivers
  • These are grouped into 4 categories
  • - Software Attributes
  • Required Software Reliability (RELY)
  • Data Base Size (DATA)
  • Software Complexity (CPLX)
  • - Personnel Attributes
  • Analyst Capability (ACAP)
  • Applications Experience (AEXP)
  • Programmer Capability (PCAP)
  • Virtual Machine Experience (VEXP)
  • Programming Language Experience (LEXP)
  • - Computer Attributes
  • Execution Time Constraint (TIME)
  • Main Storage Constraint (STOR)
  • Virtual Machine Volatility (VIRT)
  • Computer Turnaround Time (TURN)
  • - Project Attributes
  • Use of Modern Programming Practices (MODP)
  • Use of Software Tools (TOOL)
  • Schedule Constraint (SCED)

Text pp-240 effort calculation chart
10
COCOMO 2.0
  • COCOMO failed to estimate cost for the new
    processes which include
  • Non-sequential and rapid-development process
    model
  • Reuse and re-engineering driven approaches
  • Object-oriented approaches
  • Software process maturity initiatives
  • Changes in scaling effects
  • Changes in cost drivers
  • COCOMO 2.0 was successful in addressing these
    issues
  • COCOMO 2.0 is tuned to modern software life
    cycles.
  • COCOMO 2.0 targets the software projects of the
    1990s and 2000s.

11
COCOMO 2.0 Objectives
  • To develop a software cost and schedule
    estimation model tuned to the life cycle
    practices of the 1990s and 2000s
  • To develop software cost database and tool
    support capabilities for continuous model
    improvement
  • To provide a quantitative analytic framework
  • These objective support
  • Project Planning and scheduling
  • Project staffing
  • Estimates-to-complete
  • Project preparation
  • Preplanning and rescheduling
  • Project tracking
  • Contract negotiation
  • Proposal evaluation
  • Resource leveling
  • Concept exploration
  • Design evaluation and
  • Bid/on-bid decisions

12
COCOMO 2.0 Models
  • Suitable for projects built with modern
    GUI-builder tools.
  • Based on new Object Points.
  • Suitable to get rough estimates of a project's
    cost and duration before its entire architecture
    is determined.
  • Used after the projects overall architecture is
    developed.

13
COCOMO 2.0 Cost Factors Sizing
  • COCOMO 2 Sizing quantities
  • Object Points
  • Function Points
  • Object Point Estimation Procedure
  • Estimates the effort involved in Application
    Composition and prototyping projects.
  • Definitions of terms
  • NOP New Object Points
  • srvr number of server/mainframe data tables
    used in conjunction with the screen or Report
  • Clnt number of client/personal workstation data
    tables used in conjunction with the Screen and
    Report
  • reuse the percentage of screens, reports, and
    3GL modules reused from previous applications.
  • OBJECT in Object Points defines screens,
    reports, and 3GL modules as objects.

14
Object Point Estimation Procedure
Algorithm
  • Step1 Assess Object-Counts by estimating the
    number of screens, reports and 3GL components of
    an application.
  • Step2 Classify each object instances into
    simple, medium and difficult
  • Step3 Weight the number in each cell using the
    following schema

15
Object Point Estimation Procedure contd.
  • Step4 Determine object point by adding all the
    weighted object instances.
  • Step5 Compute NOP (Object-Points) (100 -
    reuse)/100.
  • Step6 Compute Estimated Person-Month
  • This process of person-month calculation is
    followed for the entire software application and
    for each of the components comprising that
    application.

PM NOP / PROD
16
Cost Estimation using Object Points
  • For each component and for the entire software,
    estimate the average man-power cost (K/PM)
  • Compute the dollar cost for each component and
    for the entire software as a whole using the
    following formula
  • Add up the software development costs of the
    components and compare it with the cost of the
    entire software application already obtained.
  • If the difference between the two costs is
    greater than a certain threshold, the whole
    process is redone.

K PM (K / PM)
17
Function Points
  • COCOMO 2.0 model uses Function Points as the
    basic for measuring size for the Early Design
    stage.

Please refer Presentation Slides of Software
System Size Estimation by Shamik Sengupta.
18
COCOMO 2.0 Reuse Model
  • COCOMO 2.0 reuse model is different from original
    COCOMO
  • ESLOC Equivalent source lines of code
  • ASLOC adapted source lines of code
  • DM percentage of design modification
  • CM percentage of code modification
  • IM percentage of original integration effort
    required for integrating the reused software.
  • AA percentage of reuse effort due to Assessment
    and Assimilation
  • SU percentage of reuse effort due to Software
    Understanding

19
COCOMO 2 Cost Factors Scaling
  • Software cost estimation models often have
    exponential factor to account for the relative
    economies or diseconomies of scale encountered as
    a software project increase its size.
  • Effort A (Size)B
  • The value of coefficient A is provisionally set
    at 3.0 for COCOMO 2.0
  • The scaling factor (B) adds two factors
    precedentedness and flexibility, to account for
    the mode effects in the original COCOMO.
  • Also adds Team Cohesiveness factor to account for
    the diseconomy-of-scale effects on software
    projects.
  • A projects numerical ratings Wi are summed
    across all the factors, and used to determine a
    scale exponent B
  • B 0.91 0.01 Sum (Wi)

From Ref4
20
Tools
  • Leading COCOMO 2.0 based Software Cost-Estimation
    Tools
  • These URLs provide descriptions of leading
    software cost-estimation tools. Each tool cited
    has been backed by a lot of effort to relate the
    tool to a wide variety of software project
    experiences.
  • COSTAR (Softstar Systems) www.softstarsystems.com
  • - Software project managers use Costar to produce
    estimates of a project's duration, staffing
    levels, effort, and cost .
  • CostXpert (Marotz, Inc.) www.costxpert.com
  • Cost Xpert is a cost estimating software
    development process tool.
  • COCOTS is a model complementary to COCOMO 2.0

21
Summary
  • Software cost estimation
  • Performed at the beginning of the projects
  • performed by project managers
  • Project manager should go through extensive
    training
  • Methods to support cost estimation
  • basic COCOMO
  • Intermediate COCOMO
  • COCOMO 2.0
  • COCOMO 2.0 more successful for processes tuned to
    the life cycle practices of the 1990s and 2000s
  • Cost estimation method supported by COCOMO 2.0
    applies directly to CMM level 2
Write a Comment
User Comments (0)
About PowerShow.com