Cost Estimation And Cocomo
Model
Cost Estimation:
a. A cost estimate is an approximate prediction of how much money is
needed to complete a project.
b. important to accurately estimate the cost
c. accurate cost estimating helps you manage your project budget
better
d. the project manager must include cost estimates for all resources,
including materials, equipment, services, software, facilities, human
resources etc.
Division of cost:
Costs can be divided in direct and indirect costs.
• Direct costs are those that you can allocate directly, such as salaries
for project team members, materials, supplies, equipment, travel
costs, subcontracts etc.
• Conversely, indirect costs cannot be allocated directly, but without
them you won’t be able to perform the project. Indirect costs can
include office space rent, or general and administrative costs.
project cost estimation techniques:
• Analogous estimation: use actual costs of previous, similar projects to
determine estimates for new projects, the more similar projects are the more
accurate the estimate
• Resource cost estimating: list of all resources needed for project and adding
up their total costs
• Bottom-up estimating: make estimates for individual tasks and activities,
calculation of higher-level estimates based on the individual estimates, more
detailed definition of individual tasks means more accurate estimate
• Expert judgment: use knowledge and experience from past projects to make
estimates for new projects, have a subject matter expert as advisor because
they have a solid understanding of the project’s (technical) requirements.
COCOMO Model
• developed by Barry W. Boehm.
• The Constructive Cost Model (COCOMO) is the most widely used
software estimation model in the world
• The model uses a basic regression formula with parameters that are
derived from historical project data and current as well as future
project characteristics
COCOMO Models
• COCOMO is defined in terms of three different models:
• the Basic model,
• the Intermediate model, and
• the Detailed model.
• Basic COCOMO computes software development effort (and cost) as
a function of program size. Program size is expressed in estimated
thousands of source lines of code (SLOC), (KLOC).
Intermediate COCOMO
• Intermediate COCOMO computes software development effort as
function of program size and a set of "cost drivers" that include
subjective assessment of product, hardware, personnel and project
attributes.
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.
• Embedded Mode: The project is characterized by tight, inflexible constraints and
interface requirements. An embedded mode project will require a great deal of
innovation.
COCOMO equations
• Basic COCMO
• Effort Applied (E) = a(KLOC)b
• Development Time (D) = c(Effort Applied)d
• People required (P) = Effort Applied / Development Time
Constants
constants
Modes a b C D
Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
embedded 3.6 1.20 2.5 0.32
Intermediate COCOMO formula
• E=ai(KLoC)(bi).EAF
• Total EAF = Product of the selected factors
 COCOMO is used to estimate the cost and schedule of the project, starting from
the design phase and till the end of integration phase. For the remaining phases
a separate estimation model should be used.
 COCOMO is not a perfect realistic model. Assumptions made at the beginning
may vary as time progresses in developing the project.
 When need arises to revise the cost of the project. A new estimate may show
over budget or under budget for the project. This may lead to a partial
development of the system, excluding certain requirements.
 COCOMO assumes that the requirements are constant throughout the
development of the project; any changes in the requirements are not
accommodated for calculation of cost of the project.
 COCOMO is not suitable for non-sequential ,rapid development, reengineering
,reuse cases models.
LIMITATIONS OF COCOMO
different techniques to estimate
• LOC (Line Of Code)
• Function count
Function Points
• STEP 1: measure size in terms of the amount of functionality in a system.
Function points are computed by first calculating an unadjusted function point
count (UFC). Counts are made for the following categories
• External inputs – those items provided by the user that describe distinct
application-oriented data (such as file names and menu selections)
• External outputs – those items provided to the user that generate distinct
application-oriented data (such as reports and messages, rather than the
individual components of these)
Function Points(.)
•  External inquiries – interactive inputs requiring a response
•  External files – machine-readable interfaces to other systems
•  Internal files – logical master files in the system
Function Points(..)
• STEP 2: Multiply each number by a weight factor, according to complexity
(simple, average or complex) of the parameter, associated with that number. The
value is given by a table:
Function Points(...)
• STEP 3: Calculate the total UFP (Unadjusted Function Points)
• STEP 4: Calculate the total TCF (Technical Complexity Factor) by giving a value
between 0 and 5 according to the importance of the following points:
Function Points(....)
• Technical Complexity Factors:
• 1. Data Communication
• 2. Distributed Data Processing
• 3. Performance Criteria
• 4. Heavily Utilized Hardware
• 5. High Transaction Rates
• 6. Online Data Entry
• 7. Online Updating
• 8. End-user Efficiency
• 9. Complex Computations
• 10. Reusability
• 11. Ease of Installation
• 12. Ease of Operation
• 13. Portability
• 14. Maintainability
Function Points(.....)
• STEP 5: Sum the resulting numbers too obtain DI (degree of influence)
• STEP 6: TCF (Technical Complexity Factor) by given by the formula
• TCF=0.65+0.01*DI
• STEP 6: Function Points are by given by the formula
• FP=UFP*TCF
Example

COCOMO Modal In Software Engineering By NADEEM AHMED

  • 1.
    Cost Estimation AndCocomo Model
  • 2.
    Cost Estimation: a. Acost estimate is an approximate prediction of how much money is needed to complete a project. b. important to accurately estimate the cost c. accurate cost estimating helps you manage your project budget better d. the project manager must include cost estimates for all resources, including materials, equipment, services, software, facilities, human resources etc.
  • 3.
    Division of cost: Costscan be divided in direct and indirect costs. • Direct costs are those that you can allocate directly, such as salaries for project team members, materials, supplies, equipment, travel costs, subcontracts etc. • Conversely, indirect costs cannot be allocated directly, but without them you won’t be able to perform the project. Indirect costs can include office space rent, or general and administrative costs.
  • 4.
    project cost estimationtechniques: • Analogous estimation: use actual costs of previous, similar projects to determine estimates for new projects, the more similar projects are the more accurate the estimate • Resource cost estimating: list of all resources needed for project and adding up their total costs • Bottom-up estimating: make estimates for individual tasks and activities, calculation of higher-level estimates based on the individual estimates, more detailed definition of individual tasks means more accurate estimate • Expert judgment: use knowledge and experience from past projects to make estimates for new projects, have a subject matter expert as advisor because they have a solid understanding of the project’s (technical) requirements.
  • 5.
    COCOMO Model • developedby Barry W. Boehm. • The Constructive Cost Model (COCOMO) is the most widely used software estimation model in the world • The model uses a basic regression formula with parameters that are derived from historical project data and current as well as future project characteristics
  • 6.
    COCOMO Models • COCOMOis defined in terms of three different models: • the Basic model, • the Intermediate model, and • the Detailed model. • Basic COCOMO computes software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code (SLOC), (KLOC).
  • 7.
    Intermediate COCOMO • IntermediateCOCOMO computes software development effort as function of program size and a set of "cost drivers" that include subjective assessment of product, hardware, personnel and project attributes.
  • 8.
    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. • Embedded Mode: The project is characterized by tight, inflexible constraints and interface requirements. An embedded mode project will require a great deal of innovation.
  • 9.
    COCOMO equations • BasicCOCMO • Effort Applied (E) = a(KLOC)b • Development Time (D) = c(Effort Applied)d • People required (P) = Effort Applied / Development Time
  • 10.
    Constants constants Modes a bC D Organic 2.4 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 embedded 3.6 1.20 2.5 0.32
  • 11.
    Intermediate COCOMO formula •E=ai(KLoC)(bi).EAF • Total EAF = Product of the selected factors
  • 12.
     COCOMO isused to estimate the cost and schedule of the project, starting from the design phase and till the end of integration phase. For the remaining phases a separate estimation model should be used.  COCOMO is not a perfect realistic model. Assumptions made at the beginning may vary as time progresses in developing the project.  When need arises to revise the cost of the project. A new estimate may show over budget or under budget for the project. This may lead to a partial development of the system, excluding certain requirements.  COCOMO assumes that the requirements are constant throughout the development of the project; any changes in the requirements are not accommodated for calculation of cost of the project.  COCOMO is not suitable for non-sequential ,rapid development, reengineering ,reuse cases models. LIMITATIONS OF COCOMO
  • 13.
    different techniques toestimate • LOC (Line Of Code) • Function count
  • 14.
    Function Points • STEP1: measure size in terms of the amount of functionality in a system. Function points are computed by first calculating an unadjusted function point count (UFC). Counts are made for the following categories • External inputs – those items provided by the user that describe distinct application-oriented data (such as file names and menu selections) • External outputs – those items provided to the user that generate distinct application-oriented data (such as reports and messages, rather than the individual components of these)
  • 15.
    Function Points(.) • External inquiries – interactive inputs requiring a response •  External files – machine-readable interfaces to other systems •  Internal files – logical master files in the system
  • 16.
    Function Points(..) • STEP2: Multiply each number by a weight factor, according to complexity (simple, average or complex) of the parameter, associated with that number. The value is given by a table:
  • 17.
    Function Points(...) • STEP3: Calculate the total UFP (Unadjusted Function Points) • STEP 4: Calculate the total TCF (Technical Complexity Factor) by giving a value between 0 and 5 according to the importance of the following points:
  • 18.
    Function Points(....) • TechnicalComplexity Factors: • 1. Data Communication • 2. Distributed Data Processing • 3. Performance Criteria • 4. Heavily Utilized Hardware • 5. High Transaction Rates • 6. Online Data Entry • 7. Online Updating • 8. End-user Efficiency • 9. Complex Computations • 10. Reusability • 11. Ease of Installation • 12. Ease of Operation • 13. Portability • 14. Maintainability
  • 19.
    Function Points(.....) • STEP5: Sum the resulting numbers too obtain DI (degree of influence) • STEP 6: TCF (Technical Complexity Factor) by given by the formula • TCF=0.65+0.01*DI • STEP 6: Function Points are by given by the formula • FP=UFP*TCF
  • 20.

Editor's Notes

  • #8 Product attributes  Required software reliability  Size of application database  Complexity of the product  Hardware attributes   Run-time performance constraints  Memory constraints  Volatility of the virtual machine environment  Required turnabout time  Personnel attributes  Analyst capability  Software engineering capability  Applications experience  Virtual machine experience  Programming language experience  Project attributes  Use of software tools  Application of software engineering methods  Required development schedule