Interpretation of COCOMO Model Application of Software Scale Estimation



 

 

 The COCOMO model is a structured cost estimation model developed by TRW and proposed by Boehm. is an accurate, easy-to-use cost estimation method.
 
Models can be divided into three levels according to their level of detail: basic COCOMO model, intermediate COCOMO model, and detailed COCOMO model . The basic COCOMO model is a static univariate model, which uses an empirical function with estimated lines of code (LOC) as an independent variable to calculate the software development effort. The intermediate COCOMO model is based on the basic COCOMO model, and then adjusts the estimation of workload with influencing factors involving products, hardware, personnel, projects, etc. The detailed COCOMO model includes all the features of the intermediate COCOMO model, but further considers the impact of each step in software engineering (eg analysis, design).
 
In the model, considering the development environment, the types of software development projects can be divided into 3 types:
1.Organic : A relatively small and simple software project. The developers have a good understanding of the development goals, have rich working experience related to software systems, are familiar with the use environment of the software, are less constrained by hardware, and the scale of the program is not very large (<50000 lines) 
2. Embedded (embedded) : It is required to operate under the constraints of closely related hardware, software and operation, usually with a complex hardware device. High requirements for interfaces, data structures, and algorithms. The software scale is arbitrary. Such as large and complex transaction processing systems, large/super-large operating systems, aerospace control systems, large command systems, etc. 
3. Semidetached : between the above two software. Both size and complexity are moderate or higher. Up to 300,000 lines.
 
In the COCOMO model we define the following variables:
L-------Number of source instructions. Notes are not included. 1KDSI = 1000DSI.
E-------Development workload (in person-months) 1MM = 19 person-days = 152 person-hours = 1/12 person-years
D-----development progress. (in months)
 
According to the above definitions, we explain the application of the basic COCOMO model, the intermediate COCOMO model, and the detailed COCOMO model as follows:
 
Basic COCOMO Model
 
1. We know that the COCOMO model is a cost analysis method based on code line estimation, so we first estimate the code line size L of the software (unit is kLoc, that is, thousand lines of code)
2. Then we get the estimated workload and development time according to the formula  E = a*L^b , D = c*E^d  . Among them, a, b, c, and d are fixed parameter values. It should be noted that for different types of software projects, the parameter values ​​are different, as shown in the table.

Obviously, this method is too crude and we need to refine it, hence the intermediate COCOMO model.
 
Intermediate COCOMO Model
 
The difference between the intermediate COCOMO model and the basic COCOMO model is the estimation of workload. The calculation formula is E=a*EAF*L^b, D=cE^d, where EAF refers to the workload adjustment factor. EAF is generated based on 15 factors that may affect the workload, as follows, the calculation formula is the product of 15 parameters (the value of each factor of different projects is different, this is customized):
 


 
 
Detailed COCOMO model
The detailed COCOMO model is another refinement of the intermediate model. For each influencing factor, the detailed model has three workload factor grading tables according to the module layer, subsystem layer and system layer, which are used for estimation at different levels, and each table is given according to different stages of development. For example, the workload factor classification table of software reliability at the subsystem level is as follows:
 


 
The detailed model is too cumbersome and is suitable for the estimation of large and complex projects. We do not interpret it too much, and there are too many parameters in it.
 
 
The difference between COCOMO and COCOMOII
 
COCOMOII is an improved version of COCOMO in line with the changes of modern software development, taking the latest software development methods into account. It is still under continuous development, and is currently being developed by a teacher from the University of Southern California leading a student team.
 
COCOMOII is actually composed of three different computing models:
 
1. Application composition model : suitable for projects developed with modern GUI tools.
2. Early development model : It is suitable for rough cost and event estimation of software before the software architecture is determined, and includes a series of new cost and schedule estimation methods. Based on function points or lines of code.
3. Structured Post Model : This is the most detailed model in COCOMOII. It is used after the overall software architecture has been determined. Contains the latest cost estimates, line of code calculations.
 
 
 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326615702&siteId=291194637