Upload
bhandarikaran
View
141
Download
4
Embed Size (px)
Citation preview
CoCoMo
CONSTRUCTIVE COST MODELKaran Bhandari Under the aegis and guidance of Dr. Michael Hoffman
WhatEmpirical cost/effort /schedule estimation model, related to SW development Well-documented, independent model which is not tied to a specific software vendor.
CreatorBarry Boehm
Who
Software managers
How It uses a basic regression formula, with parameters that are derived from historical project data and current project characteristics(size, complexity, FP, LOC,OP). Costar (Softstarsystems.com) Cost Xpert (CostXpert.com) USC SW
When
Why 1981-COCOMO81 1997-COCOMO II 1987 COCOMO ADA
Setting project budgets/schedules Decision Making Negotiating tradeoffs Legacy inventory decisions Develop,reuse,purchase or lease? Investment strategy? Quantitative analytic framework.
Factors affecting S/W estimation Project Complexity Structural uncertaintyAre requirements solidified? Are F(x) compartmentalized? Good Hierarchy?
Project Sizeif
Change Prone?changes
Historical Info
Then cost&schedule
Software scopeObtaining Info Feasibility
Are these available?Money
Material
Context Free Qs Requirement gathering- team approach Facilitated application specification techniques (FAST)
Men
Estimating Objectives
Project Resources
Pe
le
Reusable s ftware c m nents
Hardware/s ftware t
lsDelay estimati n until late Base estimates n similar r jectsO ti ns f S ftware/Eff rt estimate
This is where the grass r ts f C C M materializes d: estimated value V: LOC or FP
Em irical M dels f rm d = f (vi)
Use relatively sim le dec m siti n
COCOMO II -HIERARCHY OF ESTIMATION MODELS THAT ADDRESSUsed during the early stages of software engineering, when prototyping of user interfaces, consideration of software and system interaction, assessment of performance, and evaluation of technology maturity are paramount
Application composition mode
Early design stage model Post-architecturestage model
Used once requirements have been stabilized and basic software architecture has been established.
Used during the construction of the software.
Reuse Model
(WHY PART)COCOMO IS USED FOR FOLLOWING DECISION SITUATIONSf Making investment or other financial decisions involving a software development
effortf Setting project budgets and schedules as a basis for planning and control f Deciding on or negotiating tradeoffs among software cost, schedule, functionality,
performance or quality factorsf Making software cost and schedule risk management decisions f Deciding which parts of a software system to develop, reuse, lease, or purchase f Making legacy software inventory decisions: what parts to modify, phase out,
outsource, etcf Setting mixed investment strategies to improve organization's software capability,
via reuse, tools, process maturity, outsourcing, etcf Deciding how to implement a process improvement strategy.Pasted from
Overall Structure:
Sizing options of COCOMO
E = A + B x (ev)^C
Object Points
FP
LOC
KLOC
1. Indirect software measure that is computed using Screens(at UI) Reports Components 2. Object instances complexity level(simple, medium, difficult) 3. If reuse is involved NOP=(OP)x[(100-%reuse)/100 PROD = NOP/person-month estimated effort=NOP/PROD
Functions measured in function points map easily into useroriented requirements(outputs, inquiries, inputs, internal files, external interfaces), but it also tends to hide internal functions. Albrecht and Gaffney model E = -13.39 + 0.0545 FP Kemerer model E = 60.62 x 7.728 x 10-8 FP3 Matson, Barnett & Mellichamp E = 585.7 + 15.12 FP
Walston-Felix model E = 5.2 x (KLOC)0.91 Bailey-Basili model E = 5.5 + 0.73 x (KLOC)1.16 Boehm simple model E = 3.2 x (KLOC)1.05 Doty model for KLOC > 9 E = 5.288 x (KLOC)1.047
E - effort (person/months), a.k.a PM A,B,C-empirically derived constants ev - estimation variable(FP,LOC,OP)
NOP - New Object Points PROD- Productivity Rate
Impact of experience :Developer's exp/capVery Low Low Nominal High Very High
Environment maturity/capVery Low Low Nominal High Very High 1 2 3 4 5
Complexity weighting for object types
REUSE MODEL ESTIMATESf For generated code:f PM = (ASLOC * AT/100)/ATPROD f ASLOC is the number of lines of generated code f AT is the percentage of code automatically generated. f ATPROD is the productivity of engineers in integrating this code.f Boehm measured ATPROD to be about 2400 LOC
f Example: f If there is 20,000 lines of white-box reused code in a system and
30% of this is automatically generated, then the effort required to integrate this generated code is as follows:PM = (20000 * 30/100) / 2400 = 2.5 man-month. f When code has to be understood and integrated:f ESLOC = ASLOC * (1-AT/100) * AAM.
f Adaptation Adjustment Multiplier
POSTMORTEM OF POST-ARCHITECTURE LEVEL
PM = A v SizeB v MPerson, months FP,OP,LOC, ESLOCEstimated New LOC
Multipliers(needs 17 attributes) Fall in the following categories Product Computer Personnel Project
B=1.01+0.01(Wi)Exponent scale factorsPrecedenteness Development flexibility Architecture/risk resolution Team cohesion Process maturity
I
E LI
I L
S LI E.
EWW
FRIGHTENED? SHED YOUR INHIBITIONS
PUT YOUR HANDS TOGETHER FORUSC COCOMO II Software(Launch) Developed by graduate student programming teams under the leadership of Dr. Ellis Horowitz.(University Of Southern California) The tool is available for Unix, Microsoft Windows, and Java-enabled environments.The program files download in compressed format and need to be unzipped with the appropriate utility.
USE OF COCOMO2 MODELSNumber of application points Based on Application composition model Used for Prototype system developed using scripting, DB programming etc. Initial effort estimation based on requirements and design options Effort to integrate reusable components or automatically generated code Development effort based on system design specification
Number of function points
Based on
Early design model
Used for
Number of lines of code reused or generated
Based on Reuse model
Used for
Number of lines of source code
Based on
Post-architecture model
Used for
SCOPE OF COCOMOf Organic projects - "small" teams with "good" experience working with
"less than rigid" requirements f Semi-detached projects - "medium" teams with mixed experience working with a mix of rigid and less than rigid requirements f Embedded projects - developed within a set of "tight" constraints (hardware, software, operational, ...) The basic COCOMO equations take the form Effort Applied = ab(KLOC)bb [ man-months ] Development Time = cb(Effort Applied)db [months] People required = Effort Applied / Development Time [count]
BASIC COCOMO MODEL EQMode Organic Effort Schedule
E=2.4*(KDSI)1.05 TDEV=2.5*(E)0.38
Semidetached E=3.0*(KDSI)1.12 TDEV=2.5*(E)0.35 Embedded E=3.6*(KDSI)1.20 TDEV=2.5*(E)0.32
EXAMPLE USING BASIC EQf We have determined our project fits the characteristics of Semif f f f f
Detached mode We estimate our project will have 32,000 Delivered Source Instructions. Using the formulas, we can estimate: Effort = 3.0*(32) 1.12 = 146 man-months Schedule = 2.5*(146) 0.35 = 14 months Productivity = 32,000 DSI / 146 MM = 219 DSI/MM Average Staffing = 146 MM /14 months = 10 FSP
VARIATIONSAgile COCOM O II Uses analogy-based estimation to generate accurate results while being very simple to use. (Constructive COTS), focuses on estimating the cost/effort/schedule associated with COTS components. Still experimental. Capturing costs that traditionally have been outside the scope of COCOMO
COCOTS
CO QUALMO
Cost, Schedule and Quality form 3 sides of the same triangle. Beyond a certain point (the "Quality is Free" point), it is difficult to increase software quality without increasing either the cost or schedule or both.
CORADMO
(Construction Rapid Application Development Model)-calculate/predict the schedule, personnel, and adjusted effort (Person-Months, PM) based on the distribution of effort and schedule to the various stages, and impacts
COPROMO
Constructive Productivity Improvement Model : Focuses on predicting the most-cost-effective allocation of investment resources in new technologies, intending to improve productivity.
iDAVE
(Information Dependability Attribute Value Estimation model) Let users express time-phased information-processing capabilities and life-cycle investment costs in terms of software size and the projects product, platform, people, and project attributes.
COPSEMO-Constructive Phased Schedule & Effort Model COSYSMO-Constructive Systems Engineering Cost Model OTHERS COPLIMO-Constructive Product Line Investment Model
DIFFERENCES BW COCOMO 81 & IICOCOMO 81 KDSI Supports Waterfall 63 data points Point estimates 3 development modes COCOMO II KSLOC Supports modern SE models(spiral,iterative) 161 data points Range of estimates 5 scale factors Room for automated tools,reuse,changes,volatility
REFERENCESf Booksf Getting Results from Software Development Teams -Lawrence J. Peters (pg169-189) f Software Engineering Economics - Barry W. Boehm f S/W Engineering -PRACTITIONERS APPROACH 5th edition(pg. 133) f S/W Engineering - PRACTITIONERS APPROACH 7th edition(pg .709)
f Linksf http://csse.usc.edu/csse/research/COCOMOII f http://en.wikipedia.org/ f http://kkspot.110mb.com/Data/CS/spm/COCOMO%20Model.ppt
f Universitiesf CSULB IEEE explore , safari f USC Center for Sys/SW Engineering f Bangladesh University of Engineering
Not to be confused with Docomo. Not to be confused with Kokomo (Launch)