COCOMO (Constructive Cost Estimation Model) model was proposed by Boehm (1981). According to Boehm, software cost estimation should be done through three stages: Basic COCOMO, Intermediate COCOMO, and Complete COCOMO. According to Boehm (1981), any software development project can be classified into one of the following three categories based. Software Engineering COCOMO Model - Tutorialspoint.dev Software Engineering Tutorial - TutorialsPoint.dev. Posted: (17 days ago) Software Engineering is the application of engineering concepts, techniques and methods to the development of mission-critical software systems.
- Cocomo Software Estimating
- Introduction To Software Engineering
- Cocomo Model In Software Engineering Tutorial Point Pdf
Cocomo (Constructive Cost Model) is a regression model based on LOC, i.e number of Lines of Code. It is a procedural cost estimate model for software projects and often used as a process of reliably predicting the various parameters associated with making a project such as size, effort, cost, time and quality. It was proposed by Barry Boehm in 1970 and is based on the study of 63 projects, which make it one of the best-documented models.
Access Free Software Engineering Tutorial Point Software Engineering COCOMO Model - GeeksforGeeks Advanced Software Engineering The process of framework defines a small set of activities that are applicable to all types of projects. The software process framework is a collection of task sets. Software Process Framework - Code. Mar 11, 2019 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.
The key parameters which define the quality of any software products, which are also an outcome of the Cocomo are primarily Effort & Schedule:
- Effort: Amount of labor that will be required to complete a task. It is measured in person-months units.
- Schedule: Simply means the amount of time required for the completion of the job, which is, of course, proportional to the effort put. It is measured in the units of time such as weeks, months.
Different models of Cocomo have been proposed to predict the cost estimation at different levels, based on the amount of accuracy and correctness required. All of these models can be applied to a variety of projects, whose characteristics determine the value of constant to be used in subsequent calculations. These characteristics pertaining to different system types are mentioned below.
Boehm's definition of organic, semidetached, and embedded systems:
- Organic – A software project is said to be an organic type if the team size required is adequately small, the problem is well understood and has been solved in the past and also the team members have a nominal experience regarding the problem.
- Semi-detached – A software project is said to be a Semi-detached type if the vital characteristics such as team-size, experience, knowledge of the various programming environment lie in between that of organic and Embedded. The projects classified as Semi-Detached are comparatively less familiar and difficult to develop compared to the organic ones and require more experience and better guidance and creativity. Eg: Compilers or different Embedded Systems can be considered of Semi-Detached type.
- Embedded – A software project with requiring the highest level of complexity, creativity, and experience requirement fall under this category. Such software requires a larger team size than the other two models and also the developers need to be sufficiently experienced and creative to develop such complex models.
- Basic COCOMO Model
- Intermediate COCOMO Model
- Detailed COCOMO Model
- Basic Model –
The above formula is used for the cost estimation of for the basic COCOMO model, and also is used in the subsequent models. The constant values a and b for the Basic Model for the different categories of system:
Software Projects a b Organic 2.4 1.05 Semi Detached 3.0 1.12 Embedded 3.6 1.20 The effort is measured in Person-Months and as evident from the formula is dependent on Kilo-Lines of code. 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.
- Intermediate Model –
The basic Cocomo model assumes that the effort is only a function of the number of lines of code and some constants evaluated according to the different software system. However, in reality, no system's effort and schedule can be solely calculated on the basis of Lines of Code. For that, various other factors such as reliability, experience, Capability. These factors are known as Cost Drivers and the Intermediate Model utilizes 15 such drivers for cost estimation.
Classification of Cost Drivers and their attributes:
(i) Product attributes –
- Required software reliability extent
- Size of the application database
- The complexity of the product
(ii) Hardware attributes –
- Run-time performance constraints
- Memory constraints
- The volatility of the virtual machine environment
- Required turnabout time
(iii) Personnel attributes –
- Analyst capability
- Software engineering capability
- Applications experience
- Virtual machine experience
- Programming language experience
(iv) Project attributes –
- Use of software tools
- Application of software engineering methods
- Required development schedule
;
Cost Drivers Very Low Low Nominal High Very High Product Attributes Required Software Reliability 0.75 0.88 1.00 1.15 1.40 Size of Application Database 0.94 1.00 1.08 1.16 Complexity of The Product 0.70 0.85 1.00 1.15 1.30 Hardware Attributes Runtime Performance Constraints 1.00 1.11 1.30 Memory Constraints 1.00 1.06 1.21 Volatility of the virtual machine environment 0.87 1.00 1.15 1.30 Required turnabout time 0.94 1.00 1.07 1.15 Personnel attributes Analyst capability 1.46 1.19 1.00 0.86 0.71 Applications experience 1.29 1.13 1.00 0.91 0.82 Software engineer capability 1.42 1.17 1.00 0.86 0.70 Virtual machine experience 1.21 1.10 1.00 0.90 Programming language experience 1.14 1.07 1.00 0.95 Project Attributes Application of software engineering methods 1.24 1.10 1.00 0.91 0.82 Use of software tools 1.24 1.10 1.00 0.91 0.83 Required development schedule 1.23 1.08 1.00 1.04 1.10 The project manager is to rate these 15 different parameters for a particular project on a scale of one to three. Then, depending on these ratings, appropriate cost driver values are taken from the above table. These 15 values are then multiplied to calculate the EAF (Effort Adjustment Factor). The Intermediate COCOMO formula now takes the form:
The values of a and b in case of the intermediate model are as follows:
Software Projects a b Organic 3.2 1.05 Semi Detached 3.0 1.12 Embeddedc 2.8 1.20 - Detailed Model –
Detailed COCOMO incorporates all characteristics of the intermediate version with an assessment of the cost driver's impact on each step of the software engineering process. The detailed model uses different effort multipliers for each cost driver attribute. In detailed cocomo, the whole software is divided into different modules and then we apply COCOMO in different modules to estimate effort and then sum the effort.The Six phases of detailed COCOMO are:
- Planning and requirements
- System design
- Detailed design
- Module code and test
- Integration and test
- Cost Constructive model
The effort is calculated as a function of program size and a set of cost drivers are given according to each phase of the software lifecycle.
All the above system types utilize different values of the constants used in Effort Calculations.
Types of Models: COCOMO consists of a hierarchy of three increasingly detailed and accurate forms. Any of the three forms can be adopted according to our requirements. These are types of COCOMO model:
The first level, Basic COCOMO can be used for quick and slightly rough calculations of Software Costs. Its accuracy is somewhat restricted due to the absence of sufficient factor considerations.
Intermediate COCOMO takes these Cost Drivers into account and Detailed COCOMO additionally accounts for the influence of individual project phases, i.e in case of Detailed it accounts for both these cost drivers and also calculations are performed phase wise henceforth producing a more accurate result. These two models are further discussed below.
Estimation of Effort: Calculations –
Also read: Classical Waterfall Model, Iterative Waterfall Model, Prototyping Model, Spiral Model
COCOMO Model in Software Engineering:
Constructive Cost Estimation Model (COCOMO) was proposed by Boehm in 1981. It prescribes a three-stage process for project estimation. In the first stage, an initial estimate arrives. Over the next two stages, the initial estimate refines to arrive at a more accurate estimate. COCOMO uses both single and multi-variable estimation models at different stages of estimation.
In Software Engineering, There are three stages of the COCOMO Model estimation technique are:
i. Basic COCOMO Model
ii. Intermediate COCOMO Model
iii. Complete COCOMO Model
Basic COCOMO Model:
Boehm postulated that any software development project. It classifies into one of the following three categories based on the development complexity –
i. Organic
ii. Semi-detached
iii. Embedded
Organic:
We can classify a development project to be of the organic type if the project deals with developing a well-understood application program, the size of the development team is reasonably small, and the team members are experienced in developing similar types of projects.
Semidetached:
A development project classifies the semidetached type if the development team. It consists of a mixture of experienced and inexperienced staff. Team members may have limited experience in related systems but may be unfamiliar with some aspects of the system being developed.
Embedded:
Fane death knight build. A development project considers the embedded type, if the software being developed is strongly coupled to hardware, or if stringent regulations on the operational procedures exist. Team members may have limited experience in related systems but they may be unfamiliar with some aspects of the system being developed.
General form of the Basic COCOMO Expressions:
The basic COCOMO model is a single variable heuristic model that gives an approximate estimate of the project parameters. The basic COCOMO estimation model is of the following forms:
Effort = a1 × (KLOC)a2 PMTdev = b1 × (Effort)b2 months
where,
i. KLOC: It is the estimated size of the software product expressed in Kilo Lines Of Code.
ii. a1, a2, b1, b2 are constants for each category of software product.
iii. Tdev: It is the estimated time to develop the software, expressed in months.
iv. Effort: It is the total effort required to develop the software product, expressed in person- months (PMs).
Person month curve:
Person-month (PM) is a popular unit for effort measurement. It considers an appropriate unit for measuring effort. Because most developers assigning to a project for a certain number of months.
Intermediate COCOMO Model:
Cocomo Software Estimating
The basic COCOMO model assumes that effort and development time are functions of the product size alone. However, a host of other project parameters besides the product size affect the effort as well as the time required to develop the product.
It uses a set of 15 cost drivers (multipliers) that determines based on various attributes of software development. These cost drivers multiply with the initial cost and effort estimates to appropriately scale those up or down.
In general, Boehm identifies the cost drivers. He also classifies as being attributes of the following items:
Product: The characteristics of the product that considers include the inherent complexity of the product, reliability requirements of the product, etc.Computer: The Characteristics of the computer that considers include the execution speed required, storage space required, etc.
Personnel: The attributes of development personnel that considers include the experience level of personnel, their programming capability, analysis capability, etc.
Development environment: These attributes capture the development facilities available to the developers. An important parameter that considers the sophistication of the automation (CASE) tools are uses for software development.
Introduction To Software Engineering
Complete COCOMO model:
A major shortcoming of both the basic and the intermediate COCOMO models is that they consider a software product as a single homogeneous entity. However, most large systems are made up of several smaller sub-systems. These sub-systems often have widely different characteristics.
Cocomo Model In Software Engineering Tutorial Point Pdf
The Complete COCOMO model considers these differences in characteristics of the subsystems and estimates the effort and development time as the sum of the estimates for the individual sub-systems.
In other words, the cost to develop each sub-system estimates separately. The complete system cost determines as the subsystem costs. This approach reduces the margin of error in the final estimate.