Composable Spiral Processes for CBA Development

Download Report

Transcript Composable Spiral Processes for CBA Development

University of Southern California
Center for Systems and Software Engineering
577a 2010 Tutorial:
Software Cost Estimation Tools
– COCOMO II + COPSEMO
and COCOTS
A Winsor Brown
Center for Systems and Software Engineering
University of Southern California
[email protected]
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
1
University of Southern California
Center for Systems and Software Engineering
Prepare Your Machine
• 1. "Install COCOMO II .2000.00"
If you are not running Windows 7/Vista (32 or 64 bit) and
have enough rights but , download and install
"CII2000.EXE" [3,161 KB] from SwCEwCII* Book's CD
OR, otherwise,
Download COCOMO_II_2000.0 from Class Website
CSSE.USC.edu >> Courses >> Current >> CSCI 577
(AKA http://greenbay.usc.edu/csci577/fall2010/site/tools)
and Unzip it to C:\Program Files
[the default installation location of download; although that is not what
the "Choose Destination Folder" page of the Wizard says]
• 2. Download COCOMO_II_2000.3 from Class Website
to the same folder in which you "installed"
COCOMOII .2000.0
* Software Cost Estimation with COCOMO II
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
2
University of Southern California
Center for Systems and Software Engineering
CS577ab Course/Project Characteristics
• Learn by Doing
• Real Projects for Real Clients
• Teaches Software Engineering of Medium-Sized
systems using small e-services/tools projects
• 577A: most projects through preliminary DCR
• 577B: <½ as many projects—Construction, Transition
• 577C [someday soon]: Maintenance and Enhancement
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
3
University of Southern California
Center for Systems and Software Engineering
Part I: COCOMO II Model and Demo
If you haven’t done so already,
Download COCOMO II.2000.3 on top of
COCOMO II 2000.0 from the class Tools
Website;
Quietly, in parallel with next few slides,
explore COCOMO II' on-line help;
If doing this on your own computer, start the
Help: Click on Help.html in “Help” folder;
explore the Model Manual – find basic
equation.Start
COCOMO II.2000.3; Estimate a project with
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
4
University of Southern California
Center for Systems and Software Engineering
Software Cost Estimation Methods
• Cost estimation: prediction of both the
person-effort and elapsed time of a project
• Methods:
– Algorithmic = Parametric – Price-to-win
– Top-down
– Expert judgement
– Bottom-up
– Estimation by analogy
– Parkinsonian
• Best approach: a combination of at least two
methods
– compare and iterate estimates
– AND reconcile differences
• COCOMO is the most widely used, thoroughly
documented and calibrated cost model; and free
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
5
University of Southern California
Center for Systems and Software Engineering
COCOMO Background
• COCOMO - the “COnstructive COst MOdel”
– COCOMOII.2000.3 is the update to COCOMO 1981
– Results from ongoing research with new data collection & model calibration
(SFs; more data points; new ratings values; Bayesian calibration)
• Originally developed by Dr. Barry Boehm and published in
1981 book Software Engineering Economics
• COCOMO II [2000.0] described in new book
Software Cost Estimation with COCOMO II
• COCOMO II can be used as a framework for
cost estimation and related activities
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
6
University of Southern California
Center for Systems and Software Engineering
RUP/ICM Anchor Points Enable Concurrent Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
7
University of Southern California
Center for Systems and Software Engineering
COCOMO Black Box Model
product size estimate
development, maintenance
cost and schedule estimates
product, process,
platform, and personnel
attributes
reuse, maintenance,
and increment parameters
COCOMO II
cost, schedule distribution by
phase and activity
(for Elaboration and Construction!)
organizational
project data
local recalibration to
organizational data
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
8
University of Southern California
Center for Systems and Software Engineering
COCOMO Sub-models
• Applications Composition involves rapid development or prototyping
efforts to resolve potential high-risk issues such as user interfaces,
software/system interaction, performance, or technology maturity. It’s
sized with application points (weighted screen elements, reports and
3GL modules).
• The Early Design model involves exploration of alternative
software/system architectures and concepts of operation using
function points and a course-grained set of 7 cost drivers.
• The Post-Architecture model involves the actual development and
maintenance of a software product using source instructions and / or
function points for sizing, with modifiers for reuse and software
breakage; a set of 17 multiplicative cost drivers; and a set of 5 factors
determining the project's scaling exponent.
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
9
University of Southern California
Center for Systems and Software Engineering
COCOMO Effort Formulation
# of cost drivers
Effort (person-months) = A (Size)B  EMi
• Where:
i=1
– A is a constant derived from historical project data
(currently A = 2.94 in COCOMOII.2000)
– Size is in KSLOC (thousand source lines of code),
or converted from function points or object points
– B is an exponent for the diseconomy of scale dependent on five additive
scale drivers according to b = .91 + .01*SFi,
where SFi is a weighting factor for ith scale driver
– EMi is the effort multiplier for the ith cost driver. The geometric product
results in an overall effort adjustment factor to the nominal effort.
• Automated translation effects are not included
Quietly: Estimate a project with 2,000 lines of code
using COCOMOII_2000.3 [following steps on next page]
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
10
University of Southern California
Center for Systems and Software Engineering
1st Run of COCOMO II
• Start COCOMO II
• Edit / Add Module Or Click on
• Set Size: Click on
• Select “SLOC” Method
• Enter SLOC
• Change "Project Name" to 1st run
• Save project in folder: “Single”
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
11
University of Southern California
1st Run of COCOMO II (cont.)
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
12
University of Southern California
Center for Systems and Software Engineering
Coverage of Different Processes
• COCOMO II provides a framework for tailoring the model to
any desired process
• Original COCOMO was predicated on the waterfall process
– single-pass, sequential progression of requirements, design,
code, test
• Modern processes are concurrent, iterative, incremental,
and cyclic
– e.g. Rational Unified Process (RUP), or USC's IICSM-Sw
process
• Effort and schedule are distributed among different phases
and activities per work breakdown structure of chosen
process
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
13
University of Southern California
Center for Systems and Software Engineering
RUP/ICSM-Sw Anchor Points Enable Concurrent Engineering
I V
R C
R R
LA
CC
OR
L D
C C
A R
C
C
D
I
O
C
P O
R C
R R
COCOMO II covers
ONLY E&C (A/F & D[C])
VCR: Validation Commitment Review
ACR: Architecting Commitment Review
(c) 2004-2010 USC CSSE
DCR: Development Commitment Review
OCR: Operations Commitment Review
CSCI 577a 2010 COCOMO + COCOTS Tutorial
14
University of Southern California
Center for Systems and Software Engineering
RUP & IICSM-Sw for Sw Phase Distributions
RUP Phases*
Lean ICM for
Software Phase
Effort %
Schedule %
Inception
Exploration
1
2.5
Inception
Valuation
5
10
Elaboration
Foundations
24
37.5
Construction
ICM Development:
Code and Test
76
62.5
ICM Development: 12
[System] Integration
12.5
Transition
COCOMO Total 100
100
Project Total 118
125
* see COCOMO II book for complete phase/activity distributions
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
15
University of Southern California
Center for Systems and Software Engineering
Part I: COCOMO II Model and Demo
• Quietly, in parallel with next few slides,
copy folder with “Software Estimation”
to the desktop;
Download COCOMO II.2000.3 from the class Tools
Website;
Start the Help; Start COCOMO II.2000.3;
• Make estimate a realistic project with 2,000
lines of code: Add REVL!
• Save Project as 2ndRun
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
16
University of Southern California
Center for Systems and Software Engineering
2nd Run COCOMO II
• Set REVL to 15%
(a good first guess)
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
17
University of Southern California
Center for Systems and Software Engineering
Cost Factors
• Significant factors of development cost:
– scale drivers are sources of exponential effort variation
– cost drivers are sources of linear effort variation
• product, platform, personnel and project attributes
• effort multipliers associated with cost driver ratings
– Defined to be as objective as possible
• Each factor is rated between very low and very
high per rating guidelines
– relevant effort multipliers adjust the cost up or down
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
18
University of Southern California
Center for Systems and Software Engineering
Scale Drivers
• Precedentedness (PREC)
– Degree to which system is new and past experience applies
• Development Flexibility (FLEX)
– Need to conform with specified requirements
• Architecture/Risk Resolution (RESL)
– Degree of design thoroughness and risk elimination
• Team Cohesion (TEAM)
– Need to synchronize stakeholders and minimize conflict
• Process Maturity (PMAT)
– SEI CMM process maturity rating
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
19
University of Southern California
Center for Systems and Software Engineering
Scale Factors
• Sum scale factors SFi across all of the factors to determine
a scale exponent, B, using B = .91 + .01  SFi
Scale Factors (Wi)
Very Low
Low
Nominal
Precedentedness
(PREC)
thoroughly
unprecedented
largely
unprecedented
somewhat
unprecedented
Development
Flexibility (FLEX)
rigorous
occasional
relaxation
Architecture/Risk
little (20%)
Resolution (RESL)*
Team Cohesion
(TEAM)
very difficult
interactions
High
Very High
Extra High
generally
familiar
largely
familiar
throughly
familiar
some
relaxation
general
conformity
some
conformity
general
goals
some (40%)
often (60%)
generally
(75%)
mostly
(90%)
full (100%)
some difficult
interactions
basically
cooperative
interactions
largely
highly
seamless
cooperative cooperative interactions
Weighted average of “Yes” answers to CMM Maturity Questionnaire
Process Maturity
(PMAT)
* % significant module interfaces specified, % significant risks eliminated
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
20
University of Southern California
Center for Systems and Software Engineering
Cost Drivers
• Personnel factors
• Product Factors
–
–
–
–
–
Reliability (RELY)
Data (DATA)
Complexity (CPLX)
Reusability (RUSE)
Documentation (DOCU)
• Platform Factors
– Time constraint (TIME)
– Storage constraint (STOR)
– Platform volatility (PVOL)
(c) 2004-2010 USC CSSE
–
–
–
–
–
Analyst capability (ACAP)
Program capability (PCAP)
Applications experience (APEX)
Platform experience (PLEX)
Language and tool experience
(LTEX)
– Personnel continuity (PCON)
• Project Factors
– Software tools (TOOL)
– Multisite development (SITE)
– Required schedule (SCED)
CSCI 577a 2010 COCOMO + COCOTS Tutorial
21
University of Southern California
Center for Systems and Software Engineering
Example Cost Driver - Required Software
Reliability (RELY)
• Measures the extent to which the software must perform
its intended function over a period of time.
• Ask: what is the effect of a software failure?
Very Low
RELY
slight
inconvenience
Low
low, easily
recoverable
losses
(c) 2004-2010 USC CSSE
Nominal
moderate,
easily
recoverable
losses
High
Very High
high financial
loss
risk to human
life
CSCI 577a 2010 COCOMO + COCOTS Tutorial
Extra High
22
University of Southern California
Center for Systems and Software Engineering
Significant CSCI577a Scale Factors
• PREC
• RESL
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
23
University of Southern California
Center for Systems and Software Engineering
Significant CSCI577A Effort Multipliers
DATA
(c) 2004-2010 USC CSSE
DOCU
PCON
CSCI 577a 2010 COCOMO + COCOTS Tutorial
24
University of Southern California
Center for Systems and Software Engineering
Significant CSCI577A Effort Multipliers (cont.)
DATA
(c) 2004-2010 USC CSSE
DOCU
PCON
CSCI 577a 2010 COCOMO + COCOTS Tutorial
25
University of Southern California
Center for Systems and Software Engineering
Part I: COCOMO II Model and Demo Exercise 3
• Set Significant SF
• Set Significant EAFs
• Save Project as 3rdRun
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
26
University of Southern California
Center for Systems and Software Engineering
3rd Run COCOMO II
• Set PREC to Low
• Set RESL to High
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
27
3rd Run COCOMO II (cont.)
University of Southern California
Center for Systems and Software Engineering
• Set RELY to 50% of
Nominal to High
• Set DATA to Low
• Set DOCU to High
• Set PCON to Very Low
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
28
University of Southern California
3rd Run COCOMO II (cont.)
Center for Systems and Software Engineering
NB: EAF should be 1.24, not 1.29 as above.
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
29
University of Southern California
Center for Systems and Software Engineering
Add Reused Component: Realistic Estimates
• Define Re-Use Model
• Do another exercise
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
30
University of Southern California
Center for Systems and Software Engineering
Reused and Modified Software
• Effort for adapted software (reused or modified)
is not the same as for new software.
• Approach: convert adapted software into
equivalent size of new software.
• NOT NDI unless Open Source
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
31
Nonlinear Reuse Effects
University of Southern California
Center for Systems and Software Engineering
• The reuse cost function does not go through the origin due to a
cost of about 5% for assessing, selecting, and assimilating
the reusable component.
• Small modifications generate disproportionately large costs
primarily due the cost of understanding the software to be
modified, and the relative cost of interface checking.
Data on 2954
NASA modules
[Selby,1988]
1.0
1.0
0.70
0.75
0.55
Relative
cost
0.5
Usual Linear
Assumption
0.25
0.046
0.25
0.5
0.75
1.0
Amount Modified
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
32
University of Southern California
Center for Systems and Software Engineering
COCOMO Reuse Model
• A nonlinear estimation model to convert adapted
(reused or modified) software into equivalent size of
new software:
AAF  0.4 ( DM )  0.3( CM )  0.3( IM )
ASLOC[ AA  AAF (1  0.02( SU )(UNFM ))]
ESLOC 
, AAF  0.5
100
ASLOC[ AA  AAF  ( SU )(UNFM )]
ESLOC 
, AAF  0.5
100
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
33
University of Southern California
Center for Systems and Software Engineering
COCOMO Reuse Model (cont’d)
•
•
•
•
•
•
•
•
•
ASLOC - Adapted Source Lines of Code
ESLOC - Equivalent Source Lines of Code
AAF - Adaptation Adjustment Factor
DM - Percent Design Modified. The percentage of the adapted software's
design which is modified in order to adapt it to the new objectives and
environment.
CM - Percent Code Modified. The percentage of the adapted software's code
which is modified in order to adapt it to the new objectives and environment.
IM - Percent of Integration Required for Modified Software. The percentage of
effort required to integrate the adapted software into an overall product and to
test the resulting product as compared to the normal amount of integration
and test effort for software of comparable size.
AA - Assessment and Assimilation effort needed to determine whether a fullyreused software module is appropriate to the application, and to integrate its
description into the overall product description. See table.
SU - Software Understanding. Effort increment as a percentage. Only used
when code is modified (zero when DM=0 and CM=0). See table.
UNFM - Unfamiliarity. The programmer's relative unfamiliarity with the
software which is applied multiplicatively to the software understanding effort
increment (0-1).
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
34
University of Southern California
Center for Systems and Software Engineering
Sizing - Lines of Code
• Source Lines of Code (SLOCs) = logical source statements
• Logical source statements = data declarations +
executable statements
• Executable statements cause runtime actions
• Declaration statements are non-executable statements that
affect an assembler's or compiler's interpretation of other
program elements
• CodeCount tool available on CSSE website
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
35
University of Southern California
Center for Systems and Software Engineering
USC COCOMO II Exercise 4
• Re-do COCOMO II Estimation
– Size: 3300 Total SLOC in two modules;
• Re-Use 1,800 SLOC from Open Source "Library"
treated as COTS
– DM, CM = 0; IM = 50%;
– Unfm=.80
• 1,500 new SLOC
– SFs as appropriate based on earlier discussion
PREC to Low
RESL to High
– EAFs as appropriate based on earlier discussion
RELY to 50% Low to Nom
DATA to Low
DOCU to High
PCON to Very Low
• Save project (4thRun) in new folder “2Modules”
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
36
University of Southern California
4th Run COCOMO II
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
37
University of Southern California
4th Run COCOMO II (cont.)
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
38
University of Southern California
Center for Systems and Software Engineering
Schedule and Effort Over Full SDLC*
• COCOMO II Covers Elaboration and Construction
• COPSEMO to spread Effort and Schedule over
ALL phases
– COPSEMO uses COCOMO_Charts.xls as a helper
* Software Development Life Cycle (of a system Increment)
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
39
University of Southern California
Center for Systems and Software Engineering
RUP/ICM Anchor Points Enable Concurrent Engineering
I V
R C
R R
LA
CC
OR
L D
C C
A R
C
C
D
I
O
C
P O
R C
R R
COCOMO II covers
ONLY E&C (F & D[C])
VCR: Validation Commitment Review
ACR: Architecting Commitment Review
(c) 2004-2010 USC CSSE
DCR: Development Commitment Review
OCR: Operations Commitment Review
CSCI 577a 2010 COCOMO + COCOTS Tutorial
40
University of Southern California
Center for Systems and Software Engineering
RUP & [Instructional] ICM for Sw
Phase Distributions
RUP Phases*
Lean ICM for
Software Phase
Effort %
Schedule %
Inception
Exploration
1
2.5
Inception
Valuation
5
10
Elaboration
Foundations
24
37.5
Construction
ICM Development:
Code and Test
76
62.5
ICM Development: 12
[System] Integration
12.5
Transition
COCOMO Total 100
100
Project Total 118
125
* see COCOMO II book for complete phase/activity distributions
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
41
University of Southern California
COPSEMO Distributes Effort & Schedule
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
42
University of Southern California
Center for Systems and Software Engineering
Physical COCOMO II PSE (CoPSEMo) Extension
COCOMO II
cost drivers
COCOMO II.2000
Main.csv & Phase.csv
COCOMO_Charts.xls
COCOMO.xls
Baseline Effort & Sched.
Workhours
per month
% Distributions
of Schedule
and Effort
Stage
Distributions
(COPSEMO Extension)
(c) 2004-2010 USC CSSE
Schedule calculated; SCED removed;
PM & M distributed per stage
CSCI 577a 2010 COCOMO + COCOTS Tutorial
43
University of Southern California
Center for Systems and Software Engineering
Size Estimation
• By analogy with Wide-Band Delphi before FCR/LCO
– Ask each team member what they think the size
might be
• Apply personal experience,
• Look at completed projects,
• Guess (WAG),
• SWAG based on “modules” known to date
– Collect and share in a meeting: discuss why/how
different people made their estimate
– Repeat
– When stable, Size = (H + 4 X Ave. + L)/6
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
44
University of Southern California
Center for Systems and Software Engineering
Size Estimation (cont.)
• By analogy with Wide-Band Delphi after LCO/FCR
– Measure Size of Prototype Code (CodeCount, or other tools)
– Measure Size of Reused Code (CodeCount, or other tools)
– Ask each team member what they think the final size might
be
• Extrapolate from prototype (apply personal experience)
• Guess (WAG),
• SWAG based on “modules” known to date
– Collect and share in a meeting: discuss why/how different
people made their estimate
– Repeat
– When stable, Size = (H + 4 X Ave. + L)/6
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
45
University of Southern California
Center for Systems and Software Engineering
Size Estimation (cont.)
• By analogy with Wide-Band Delphi before DCR&RDCR/LCA
– Measure Size of “final” Prototype Code; provide along with
original prototype code measure
– Measure Size of Reused Code (CodeCount, or other tools)
– Ask each team member what they think the final size might
be
• Extrapolate from prototypes (apply personal experience?)
• Guess (WAG),
• SWAG based on “modules” known to date
– Collect and share in a meeting: discuss why/how different
people made their estimate
– Repeat
– When stable, Size = (H + 4 X Ave. + L)/6
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
46
University of Southern California
Center for Systems and Software Engineering
COCOMO II Estimates in 577A
For Homework: “Homework 4: Cost Estimation”;
For Project
• Before FCR/LCO (for ARB)
• After FCR/LCO ARB (for grading)
• Before DCR/LCA (for ARB)
• After DCR/LCA ARB (after re-scoping guidance)
(for grading, “plan” for 577B, or actuals)
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
47
University of Southern California
Center for Systems and Software Engineering
Incremental Commitment Model in Software Engineering Class
06/24/08
(c) 2004-2010 USC CSSE
©USC-CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
48
48
University of Southern California
Center for Systems and Software Engineering
Part II: COCOTS Model and Demo
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
49
University of Southern California
Center for Systems and Software Engineering
Outline
• Modeling Context
• COCOTS Cost Sources
• Current Status
• Tool Demo
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
50
University of Southern California
Center for Systems and Software Engineering
COTS Modeling Problem Context
(COTS Components as Application Elements, Infrastructure, or Tools)
COTS
and Custom
Applications Components
---------------New
Modeling
Problem
----------------
COTS
as Infrastructure
(COCOMOII parms PVOL, PLEX)
COTS
as Tools
(COCOMOII parms LTEX, TOOL)
Cost Modeling Currently Addressed Within
COCOMO II: COTS as Infrastructure and Tools
1
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
51
University of Southern California
Center for Systems and Software Engineering
COCOTS Cost Sources
LCA
(preliminary
design review)
LCO
(requirements
review)
IOC
(system
delivery)
Staffing
3. COTS Glue Code
Development
1. COTS
Assessment
2. COTS
Tailoring
Application Code Development,
Integration, and Test Separate
from COTS Effects
Time
LCO – Lifecycle Objectives
LCA – Lifecycle Architecture
IOC – Initial Operational Capability
(c) 2004-2010 USC CSSE
COCOTS Effort Estimate
COCOMO II Effort Estimate
CSCI 577a 2010 COCOMO + COCOTS Tutorial
52
University of Southern California
Center for Systems and Software Engineering
About COCOTS
• Three Sub-models
– Assessment sub-model
– Tailoring sub-model
– Glue code sub-model
• Mathematical form of each sub-model is different
– However, a common feature is estimates based upon
classes of COTS components being examined
– Example COTS classes: GUI builders, operating systems,
databases, word processors, etc
– See demo later
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
53
University of Southern California
Center for Systems and Software Engineering
COCOTS Architecture
COTS Classes
COTS
Assessment
COTS Tailoring
COTS Glue
Code
Generic Component
Communication packages
Data conversion
Databases
Engineering Tools
Report Generators
Middleware
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
54
University of Southern California
Center for Systems and Software Engineering
Current Status
• Calibrated on 20 data points
• Project Domains
–
–
–
–
–
–
–
Air Traffic Management
Business (including databases)
Communication, Navigation, & Surveillance
Logistics
Mission Planning
Operations
Web-based Maps
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
55
University of Southern California
Center for Systems and Software Engineering
COCOTS
• COCOTS is the acronym for the Constructive
COTS integration cost estimation model
• A member of the USC COCOMO II suite of cost
estimation models
• For estimating the expected initial cost of
integrating COTS software into a new software
system development
• Three sub-models:
– COTS Assessment
– COTS Tailoring
– COTS Glue code development
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
56
University of Southern California
Center for Systems and Software Engineering
COCOTS Demo Steps
•
•
•
•
Get from Class Webpage--Tools
Starting up (enable Macro's)
Main Screen
Focus on COCOTS Estimation: four worksheets opened
–
–
–
–
•
•
•
•
"COCOTSAssessment",
"COCOTSTailoring",
"GlueCodeInfo",
"COCOTSGlueCode"
COCOTSAssessment: shows 23 COTS package types
Two stage assessment: 3 to 2 using DBMS and CMS
COCOTSTailoring
COCOTSGlueCode
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
57
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
COCOTS Main Screen
CSCI 577a 2010 COCOMO + COCOTS Tutorial
58
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
COCOTS Effort Modeling
CSCI 577a 2010 COCOMO + COCOTS Tutorial
59
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
COCOTS Assessment
CSCI 577a 2010 COCOMO + COCOTS Tutorial
60
University of Southern California
Assessment: DBMS & CMS
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
61
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
COCOTS DBMS Assessment
CSCI 577a 2010 COCOMO + COCOTS Tutorial
62
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
COCOTS DBMS Assessment
CSCI 577a 2010 COCOMO + COCOTS Tutorial
63
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
LAST
CSCI 577a 2010 COCOMO + COCOTS Tutorial
64
University of Southern California
Center for Systems and Software Engineering
(c) 2004-2010 USC CSSE
Aggregate ClueCode (B=1)
CSCI 577a 2010 COCOMO + COCOTS Tutorial
65
University of Southern California
Center for Systems and Software Engineering
Questions and Answers
• Questions from you?
• Any Answers?
• Question from HHGG: “the great question of Life,
the Universe and Everything”.
• Answer: 42! (=1010102 ???)
(c) 2004-2010 USC CSSE
CSCI 577a 2010 COCOMO + COCOTS Tutorial
66