Discuss COCOMO model in cost estimation of the software in detail.

 COCOMO Model 

  • The COCOMO (Constructive Cost Model) is one of the most popularly used software cost estimation models i.e. it estimates or predicts the effort required for the project, total project cost, and scheduled time for the project. This model depends on the number of lines of code for software product development. 
  • This model was developed in 1981 by Barry Boehm to estimate the number of man-months it will take to develop a software product.
  • COCOMO predicts the efforts and schedule of a software product based on the size of the software.

The COCOMO model has three types:

According to Boehm, software cost estimation should be done through three stages:


Basic Model
Intermediate Model
Detailed Model

1. The Basic COCOMO

It is the one type of static model to estimate software development effort quickly and roughly. It mainly deals with the number of lines of code and the level of estimation accuracy is less as we don’t consider all parameters belonging to the project. The estimated effort and scheduled time for the project are given by the relation:

Effort (E) = a*(KLOC)b  MM

Scheduled Time (D) = c*(E)d  Months(M)

Where,

E = Total effort required for the project in Man-Months (MM).
D = Total time required for project development in Months (M).
KLOC = the size of the code for the project in Kilo lines of code.
a, b, c, d = The constant parameters for a software project.


2. The Intermediate COCOMO

The intermediate model estimates software development effort in terms of the size of the program and other related cost drivers parameters (product parameter, hardware parameter, resource parameter, and project parameter) of the project. The estimated effort and scheduled time are given by the relationship:

Effort (E) = a*(KLOC)b *EAF  MM
Scheduled Time (D) = c*(E)d  Months(M)

EAF = It is an Effort Adjustment Factor, which is calculated by multiplying the parameter values of different cost driver parameters. For ideal, the value is 1.


3. The Detailed COCOMO

It is the advanced model that estimates the software development effort like Intermediate COCOMO in each stage of the software development life cycle process.
                                  OR,

     COCOMO Model 

    COCOMO (Constructive Cost Modeling) cost modeling is an empirical model based on project experience. It is a well-documented, 'independent' model which is not tied to a specific software vendor. A long history from the initial version published in 1981 (COCOMO-81) through various instantiations to COCOMO 2. COCOMO 2 takes into account different approaches to software development, reuse, etc. COCOMO 2 incorporates a range of sub-models that produce increasingly detailed software estimates. The sub-models in COCOMO 2 are:

    • Application composition model used when software is composed of existing parts.

    • Early design model used when requirements are available but the design has not yet started.

    • Reuse model used to compute the effort of integrating reusable components.

    • Post-architecture model is used once the system architecture has been designed and more information about the system.


    Example of COCOMO Model

    Example: A project size of 200 KLOC is to be developed. The software development team has average experience on similar types of projects. The project schedule is not very tight. Calculate the Effort, development time, average staff size, and productivity of the project.

    Solution: The semidetached mode is the most appropriate, keeping in view the size,

    schedule and experience of development time.

    Hence E=3.0(200)1.12=1133.12PM

    D=2.5(1133.12)0.35=29.3PM

    P= 176 LOC/PM


    Advantages and Disadvantages of the COCOMO Model

    Following are some advantages and disadvantages of the COCOMO model.

    Advantages

    • Easy to estimate the total cost of the project.
    • Easy to implement with various factors.
    • Provide ideas about historical projects.

    Disadvantages

    • It ignores requirements, customer skills, and hardware issues.
    • It limits the accuracy of the software costs.
    • It mostly depends on time factors.


    Comments

    Popular posts from this blog

    Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

    Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

    Discuss classification or taxonomy of virtualization at different levels.