Which Cocomo estimation model is used to evaluate the effort to system requirements and design options?

  • Introduction
  • Types of COCOMO Models
    • Basic COCOMO Model
    • Intermediate COCOMO Model
    • Detailed/Advanced COCOMO model
  • Advantages of COCOMO Model
  • Limitations of COCOMO Model
  • Is COCOMO model agile methodology?
  • Conclusion
  • Additional Resources

Introduction

COnstructive COst MOdel was introduced by Dr. Barry Boehm’s textbook Software Engineering Economics. This model is now generally called “COCOMO 81”.it refers to a group of models and is used to estimate the development efforts which are involved in a project. COCOMO is based upon the estimation of lines of code in a system and the time.COCOMO has also considered the aspects like project attributes, hardware, assessment of produce, etc. This provides transparency to the model which allows software managers to understand why the model gives the estimates it does. Moreover, the baseline COCOMO originally underlies a waterfall model lifecycle. The developments are done on multiple COCOMO models in parallel for cost estimates that cover a broader scope that exceeds the boundaries of traditional software development are discussed. The COCOMO model has basically two parameters like effort calculation and development time to define the quality of any software product:

Efforts calculation: Efforts can be calculated by the number of persons required to complete the task successfully. It is calculated in the unit person-month.

Development time: the time that is required to complete the task.it is calculated in the unit of time like months, weeks, and days. It depends on the effort calculation, if the number of persons is greater then definitely the development time is low.

There are various types of models of cocomo that have been proposed to check the correctness of the software products and to calculate the cost estimations at the different levels. These levels also depend on the strategies to develop accurate software products. these strategies are as follows:

Software projects under COCOMO model strategies are classified into 3 categories, organic, semi-detached, and embedded.

Organic: A software project is said to be an organic type if-

  • Project is small and simple.
  • Project team is small with prior experience.
  • The  problem is well understood and has been solved in the past.
  • Requirements of projects are not rigid, such a mode example is payroll processing system.

Semi-Detached Mode:  A software project is said to be a Semi-Detached type if-

  • Project has complexity.
  • Project team requires more experience,better guidance and creativity.
  • The  project has an intermediate size and has mixed rigid requirements such a mode example is a transaction processing system which has fixed requirements.
  • It also includes the elements of organic mode and embedded mode.
  • Few such projects are- Database Management System[DBMS], new unknown operating system, difficult inventory management system.

Embedded Mode: A software project is said to be an Embedded mode type if-

  • A software project has fixed requirements of resources .
  • Product is developed within very tight constraints.
  • A software project requiring the highest level of complexity, creativity, and experience requirement fall under this category.
  • Such mode software requires a larger team size than the other two models.

Types of COCOMO Models

COCOMO consists of a hierarchy of three increasingly detailed and accurate forms. Any of the three forms can be adapted according to our requirements. These are types of COCOMO model:

  • Basic COCOMO Model
  • Intermediate COCOMO Model
  • Detailed COCOMO Model

Basic COCOMO Model

Basic COCOMO Model: The first level, Basic COCOMO can be used for quick and slightly rough calculations of Software Costs. This is because the model solely considers based on lines of source code together with constant values obtained from software project types rather than other factors which have major influences on the Software development process as a whole. It requires to calculate the efforts which are required to develop in three modes of development that are organic mode, semi-detached mode, and embedded mode.
The basic COCOMO estimation model is given by the following expressions:

E = ax [KLOC]b
D = c x [Effort]d
P = effort/time

Where,

E is effort applied in person-months.
D is development time in months.
P is the total no. of persons required to accomplish the project.

The constant values a,b,c, and d for the Basic Model for the different categories of the system

Software ProjectABCD
Organic   2.4 1.05 2.5 0.38
Semi-Detached   3.0 1.12 2.5 0.35
Embedded   3.6 1.20 2.5 0.32

These formulas are used as such in the Basic Model calculations, as not much consideration of different factors such as reliability, expertise is taken into account, henceforth the estimate is rough.

Example – Consider a software project using semi-detached mode with 300 Kloc .find out effort estimation, development time, and person estimation.

Solution –

Effort [E] = a*[KLOC]b = 3.0*[300]1.12 = 1784.42 PM
Development Time [D] = c[E]d = 2.5[1784.42]0.35 = 34.35 Months[M]
Person Required [P] = E/D = 1784.42/34.35 = 51.9481 Persons ~52 Persons

Below is the C++ program for the Basic COCOMO model

#include // C++ program to implement basic COCOMO #include using namespace std; // Function for rounding off float to int int fround[float x] { int a; x=x+0.5; a=x; return[a]; } // Function to calculate parameters of Basic COCOMO void calculate[float table[][4], int n,char mode[][15], int size] { float effort,time,staff; int model; // Check the mode according to size if[size>=2 && size50 && size300] model=2; //embedded cout

Chủ Đề