COCOMO Model Basic The Constructive Cost Model COCOMO
COCOMO Model Basic
The Constructive Cost Model (COCOMO) l l l COCOMO is one of the most widely used software estimation models in the world It was developed by Barry Boehm in 1981 COCOMO predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity
COCOMO Models l COCOMO has three different models that reflect the complexity: l l l the Basic Model the Intermediate Model and the Detailed Model
Basic Model l Applicable to small to medium sized software projects Use for a quick and rough estimates Three modes of software development are considered l l l Organic Semi-detached Embedded
Organic Mode l l l A small team of experienced programmers develop software in a very familiar environment Require little Innovation Size range ( 0 -50 KLOC)
Semi-detached mode l l l An intermediate mode between the organic mode and embedded mode Depending on the problem at hand, the team include the mixture of experienced and less experienced people Require medium Innovation Development environment is medium Size range ( 50 - 300 KLOC)
Embedded mode l l l Project has tight constraints Hard to find experienced persons Require significant Innovation Development environment is complex Size range ( over 300 KLOC)
COCOMO: Some Assumptions l l Primary cost driver is the number of Delivered Source Instructions (DSI) / Delivered Line Of Code developed by the project COCOMO estimates assume that the project will enjoy good management by both the developer and the customer
Basic COCOMO Model: Formula The basic COCOMO equation l E= ab (KLOC or KDSI) bb l D= cb (E) db P=E/D where l l E is the effort applied in person-months, l D is the development time in months, KLOC / KDSI is the estimated number of delivered lines of code for the project (expressed in thousands) P is the number of people required and l l l ab, bb, cb and db are coefficients given in next slide.
Contd… l l l Software project ab Organic 2. 4 Semi-detached 3. 0 Embedded 3. 6 bb 1. 05 1. 12 1. 20 cb 2. 5 db 0. 38 0. 35 0. 32
Basic COCOMO Model: Equation
Basic COCOMO Model: Example E. g. 2: We have determined our project fits the characteristics of Semi-Detached mode l We estimate our project will have 32, 000 Delivered Source Instructions. Using the formulas, we can estimate: l Effort = 3. 0*(32) 1. 12 = 146 man-months l Schedule = 2. 5*(146) 0. 35 = 14 months l Productivity = 32, 000 DSI / 146 MM = 219 DSI/MM l Average Staffing = 146 MM /14 months = 10 FSP
Basic COCOMO Model: Example E. g. 1: Suppose that a project was estimated to be 400 KLOC. Calculate the effort and development time for each of the three modes I. e. , organic, semidetached and embedded The basic COCOMO equation take the form: E = ab(KLOC) bb D = cb(E) db
Basic COCOMO Model: Example cont… E = ab(KLOC)bb D = Cb(E)db Organic Mode E = 2. 4(400)1. 05 = 1285. 31 PM D = 2. 5(1285. 31)0. 38 =38. 07 M Semidetached Mode E = 3. 0(400)1. 12 = 2462. 79 PM D = 2. 5(2462. 79)0. 38 =38. 45 M Embedded Mode E = 3. 6(400)1. 20 = 4772. 81 PM D = 2. 5(2462. 79)0. 32 = 38 M
COCOMO II l l l Revised version of the original COCOMO Developed at University of Southern California under the leadership of Dr. Barry Boehm Categories of application/project identified by COCOMO II l l l End User Programming Infrastructure Sector Intermediate Sectors
Levels of COCOMO II l l 3 level model that allows increasingly detailed estimates to be prepared as development progresses Early prototyping level/ Application composition Use for Application composition projects Estimates based on object points and a simple formula is used for effort estimation Early design level Use for Application generators, infrastructure & system integration projects Estimates based on function points that are then translated to LOC Post-architecture level Use for Application generators, infrastructure & system integration projects Estimates based on lines of source code
Early prototyping/ Application Composition Estimation Model l Supports prototyping projects and projects where there is extensive reuse. Size is first estimated using object points Suitable for projects built with modern GUI-builder tools. Based on new Object Points
Steps for the Estimation of Efforts in Person Month
1. Access Object Counts l estimate the number of screens, reports, and 3 GL components that will comprise this application.
2. Classification of Complexity Levels
3. Assign Complexity weights to each objects
Steps 4 -6 Step 4 : Determine Object-Points: add all the weighted l object instances to get one number, the Object- Point count. Step 5 : Compute new object points NOP = (Object points) * (100 -%reuse)/100 Step 6 : Calculation of productivity rate Productivity rate(PROD) = NOP/Person month (Table given)
Step 7 : Compute the effort in Person-Months using following scheme l Effort in PM = NOP/PROD
Example Consider a database application project with the following characteristics: l The application has 4 screens with 4 views each and 7 data tables for 3 servers and 4 clients l The application may generate two report of 6 sections each from 7 data tables for two server and 3 clients. l There is 10% reuse of object points l The developer’s experience and capability in the similar environment is low. The maturity of organization in terms of capability is also low. Calculate the object point count, new object points and effort to develop such a project
Example cont. . Number of screens (medium) Number of reports (difficult) =4 with 4 views each =2 with 6 section each Object point count = 4*2+2*8 =24 NOP = 24 *(100 -10)/100 = 21. 6 Efforts in PM = NOP/PROD Effort = 21. 6/7 = 3. 086 PM
- Slides: 26