19
CONSTRUCTIVE COST MODEL Karan Bhandari Under the aegis and guidance of Dr. Michael Hoffman CoCoMo

CoCoMo seminar Karan

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)