170 likes | 181 Views
This article discusses the COCOMO model, the most widely used software estimation model, which predicts the effort and duration of a project based on system size and cost drives. It also explores the limitations of the model and provides examples of its application.
E N D
COCOMO MODEL 1.The COstructive COst Model (COCOMO) is the most widely used software estimation model in the world. 2. It was given by Boehm. 3. The COCOMO model predicts theeffortand duration of a project based on inputs relating to the size of the resulting systems and a number of "cost drives" that affect productivity. 4. This model estimates the total effort in terms of “person-months” of the technical project staff
S/W Estimation: COCOMO applies to three classes of software projects: • Organic projects – these are relatively small, simple software projects in which small teams with good application experience work with a set of less rigid requirements.
COCOMO Contd. • Semi-detached projects – These are inter-mediate projects in size and complexity.Projects may have a mix of rigid and less than rigid requirements. • Embedded projects – These are software projects that must be developed within a set of tight hardware, software, and operational constraints. Ex.-Air traffic control sytem
Basic COCOMO or COCOMO81 • Basic COCOMO is good for quick, early, rough order of magnitude estimates of software costs • It does not account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, • Also it does not account for differences in other project attributes known to have a significant influence on software costs, which limits its accuracy.
Basic COCOMO Contd. • The basic COCOMO equations take the form E=ab (KLOC)Exp(bb) persons-months D=cb(E)Exp(db)months P= E/D
Basic COCOMO Contd. … where • E is the effort applied in person-months • D is the development time in chronological months • KLOC is the estimated number of delivered lines of code for the project (expressed in thousands) • P is the number of people required. • The coefficients ab, bb, cb and db are given in the following table.
Basic COCOMO Contd. Software project abbbcbdb 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
Limitations : 1.The accuracy of this model is limited because it does not consider certain factors for cost estimation of software. 2. These factors are hardware constraints, personal quality and experiences, modern techniques and tools. 3. The estimates of COCOMO model are within a factor of 1.3 only 29% of the time.
Example: consider a software project using semi-detached mode with 30,000 lines of code . We will obtain estimation for this project as follows: • Effort estimation • E= ab(KLOC)Exp(bb)person-months • E=3.0(30)1.12 where lines of code=30000=30 KLOC • E=135 person-month • (2) Duration estimation • D=cb(E)Exp(db)months • =2.5(135)0.35 • D=14 months(3)Person estimation • P=E/D • =135/14 • P=10 persons approx.
Intermediate COCOMO 1. The Intermediate COCOMO is an extension of the “Basic COCOMO“ model, 2. It estimates the programmer time to develop a software product. 3. This extension considers a set of four "cost driver attributes", each with a number of subsidiary attributes:
Intermediate COCOMO Contd. • Product attributes • Required software reliability • Size of application database • Complexity of the product • Hardware attributes • Run-time performance constraints • Memory constraints • Volatility of the virtual machine environment • Required turnabout time
Intermediate COCOMO Contd. • Personnel attributes • Analyst capability • Software engineer capability • Applications experience • Virtual machine experience • Programming language experience • Project attributes • Use of software tools • Application of software engineering methods • Required development schedule
Intermediate COCOMO Contd. • Each of the 15 attributes receives a rating on a 6-point scale that ranges from "very low" to "extra high" (in importance) 2. Based on the rating, effort multipliers is determined. The product of all effort Multipliers result in “effort adjustment factor” (EAF). 3. Typical values for EAF range from 0.9 to 1.4.
The Intermediate Cocomo formula now takes the form... • E=ai(KLOC)^(bi)*EAF • E is the effort applied in person-months • KLOC is kilo lines of code for the project • EAF is the effort adjustment factor • The coefficient ai and the exponent biare given in the next table.
Intermediate COCOMO Contd. Software project ai bi Organic 3.2 1.05 Semi-detached 3.0 1.12 Embedded 2.8 1.20 The duration and person estimate is same as in basic Cocomo model i.e; D=cb(E)Exp (db) months i.e; use values of cb and db coefficients P=E/D persons
Example: Consider a project having 30,000 lines of code which in an embedded software with critical area hence reliability is high.The estimation can be E=ai(KLOC)bi*(EAF) As reliability is high EAF=1.15(product attribute) ai=2.8 bi=1.20 for embedded software E=2.8(30)1.20 *1.15 =191 person month D=cb(E)db=2.5(191)0.32 =13 months approximately P=E/D =191/13 P=15 persons approx.