Which Cocomo estimation model is used to evaluate the effort to system requirements and design options?
Show
IntroductionCOnstructive 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-
Semi-Detached Mode: A software project is said to be a Semi-Detached type if-
Embedded Mode: A software project is said to be an Embedded mode type if-
Types of COCOMO ModelsCOCOMO 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 ModelBasic 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. E = ax (KLOC)b Where, E is effort applied in person-months. The constant values a,b,c, and d for the Basic Model for the different categories of the system
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 Below is the C++ program for the Basic COCOMO model #includeThe mode is semi-Detached. Intermediate COCOMO ModelIntermediate COCOMO model is an extension of the Basic COCOMO model which includes a set of cost drivers into account in order to enhance more accuracy to the cost estimation model as a result.The estimation model makes use of a set of “cost driver attributes” to compute the cost of the software.The estimated effort and scheduled time are given by the relationship: Effort (E) = a*(KLOC)b *EAF
PM Where, E = Total effort required for the project in Person-Months (MM). 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. Classification of Cost Drivers and their attributes:Product attributes
Hardware attributes
Personal attributes –
Project attributes
The cost drivers are divided into four categories The values of a and b in the case of the intermediate model are as follows:
Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development by considering the developer having high application experience and very low experience in programming. Solution – Given the estimated size of the project is: 300 KLOC EAF = 0.821.14 = 0.9348 Effort (E) = a(KLOC)b EAF = 3.0(300)1.12 0.9348 = 1668.07 MM Detailed/Advanced COCOMO modelThe model incorporates all qualities of both Basic COCOMO and Intermediate COCOMO strategies on each software engineering process. The model accounts for the influence of the individual development phase (analysis, design, etc.) of the project.it uses multipliers for each phase of the project .it is a complex mode.it includes more factors that influence the software projects and give more accurate estimations. In this, the whole software is divided into different modules and then we apply COCOMO in different modules to estimate effort and then sum the effort. For instance, detailed COCOMO will perform cost estimation in each development phase of the Waterfall Model- The Six phases of detailed COCOMO are:
In the Detailed COCOMO Model, the cost of each subsystem is estimated separately. This approach reduces the margin of error in the final estimate. Example: A distributed Management Information System (MIS) product for an organization having offices at several places across the country can have the following sub-components:
Of these, the communication part can be considered as Embedded software. The database part could be Semi-detached software, and the GUI part Organic software. The costs for these three components can be estimated separately, and summed up to give the overall cost of the system. Advantages of COCOMO Model
Limitations of COCOMO Model
Is COCOMO model agile methodology?The COCOMO model does not support agile methodology because methods such as COCOMO and Function Point Analysis are based on construction characteristics of the system that has to be developed. Story points are a relative measurement, created by the team itself and not related to objective criteria. Also, COCOMO is based on creating the design beforehand, while agile is based on short feedback cycles and benefiting from new insights. A significant problem with Cocomo tools is that they lead you to believe that you can produce a fairly precise and accurate estimate based simply on plugging some parameters into a tool and that can be very misleading. It doesn’t adequately account for the level of uncertainty in a project. No project estimate can be any more accurate than the requirements are certain and well-defined and it is very important to clearly communicate the level of uncertainty in any project estimate. ConclusionAlthough neither of these calculations is precise still it gives a rough idea or estimation about the cost of the project and time taken to complete it. Considering these factors the model does help and keeps transparency between the client and the developers. However, it comes with its disadvantages. Like, it does not consider factors like customer skills, cooperation, knowledge, and some other parameters. And as it is dependent on a few factors thus if the actual time taken is more than the calculation then it affects the project as a whole. Thus it is always advised to be cautious while depending on any such practice or method. Additional Resources
What are the various forms of COCOMO used in effort estimation?The Basic COCOMO
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.
What is COCOMO 2 estimation model?COCOMO-II is the revised version of the original Cocomo (Constructive Cost Model) and is developed at University of Southern California. It is the model that allows one to estimate the cost, effort and schedule when planning a new software development activity.
How do you calculate project effort and time using Cocomo model?COCOMO'81 models depend upon the two main equations:. Development Effort : MM = a * KDSI b. Which is based on MM - man-month / person month / staff-month is one month of effort by one person. ... . Efforts and Development Time (TDEV) : TDEV = 2.5 * MM c. Note: The coefficients a, b and c depend on the mode of the development.. How many types of COCOMO models are there?Software Project Types
COCOMO model techniques divide software projects into three categories: organic, semi-detached, and embedded.
|