COCOMO II Demo and ARS COCOMO II Demo and ARS
ExampleExample
CS 566 CS 566 –– Software Management and EconomicsSoftware Management and Economics
Lecture 5 (Madachy 2005; Chapter 3, Boehm et al. 2000)Lecture 5 (Madachy 2005; Chapter 3, Boehm et al. 2000)
Ali Afzal MalikAli Afzal Malik
6/23/20086/23/2008 LUMSLUMS 22
OutlineOutline
�� USC COCOMO II tool demoUSC COCOMO II tool demo
�� Overview of Airborne Radar System (ARS) Overview of Airborne Radar System (ARS)
�� Usage of different COCOMO subUsage of different COCOMO sub--models within an models within an evolutionary spiral development processevolutionary spiral development process
�� Estimation of reuse, modification, COTS, and Estimation of reuse, modification, COTS, and automated translation automated translation
�� Refinement of (aggregate) estimatesRefinement of (aggregate) estimates
�� Iterative developmentIterative development
�� SummarySummary
�� ReferencesReferences
6/23/20086/23/2008 LUMSLUMS 33
USC COCOMO II DemoUSC COCOMO II Demo
6/23/20086/23/2008 LUMSLUMS 44
ARS EstimationARS Estimation
�� Use Applications Composition, Early Design Use Applications Composition, Early Design
and Postand Post--Architecture submodelsArchitecture submodels
�� Two PostTwo Post--Architecture estimates are Architecture estimates are
demonstrated: topdemonstrated: top--level and detailedlevel and detailed–– scale drivers apply to overall system in both estimatesscale drivers apply to overall system in both estimates
–– cost drivers are rated for the aggregate system in the cost drivers are rated for the aggregate system in the
toptop--level estimate (17 ratings)level estimate (17 ratings)
–– cost drivers are refined for each individual software cost drivers are refined for each individual software
component in the detailed estimate (17*6 component in the detailed estimate (17*6
components=102 ratings)components=102 ratings)
6/23/20086/23/2008 LUMSLUMS 55
ARS System OverviewARS System Overview
centralcomputer
displayworkstationand console
radar unitcomputer radar
radar controlcommands
received radardata
user input
graphicscommands
other sensor dataother user commands
6/23/20086/23/2008 LUMSLUMS 66
Software ComponentsSoftware Components
�� Radar Unit ControlRadar Unit Control–– controls radar hardwarecontrols radar hardware
�� Radar Item ProcessingRadar Item Processing–– extracts information returned from radar to identify objectsextracts information returned from radar to identify objects
�� Radar DatabaseRadar Database–– maintains radar object tracking datamaintains radar object tracking data
�� Display ManagerDisplay Manager–– high level displays managementhigh level displays management
�� Display ConsoleDisplay Console–– user input device interface and primitive graphic processinguser input device interface and primitive graphic processing
�� Built In TestBuilt In Test–– hardware monitoring and fault localizationhardware monitoring and fault localization
6/23/20086/23/2008 LUMSLUMS 77
COCOMO Coverage in COCOMO Coverage in
Evolutionary Lifecycle Evolutionary Lifecycle
ProcessProcess
DevelopmentPhase
ARS ProductMilestone
COCOMOSub-model
Inception Prototype ApplicationsComposition
Elaboration Breadboard Early Design
Construction Initial OperatingCapability (IOC)
Post-Architecture*
* both top-level and detailed estimates shown
6/23/20086/23/2008 LUMSLUMS 88
Prototype Size and EffortPrototype Size and Effort
Component Size (ApplicationPoints)
Estimated Reuse New ApplicationPoints (NAP)
Radar Unit Control 11 20 % 8.8Radar Item Processing 65 30 % 45.5Radar Database 23 0 % 23Display Manager 42 0 % 42Display Console 17 0 % 17Built In Test 0 0 % 0TOTAL 136.3
Productivity is “high” at 25 NAP/PM Effort = NAP/ Productivity = 136.3/25 = 5.45 PM (or 23.6 person-weeks)Personnel = 23.6 person-weeks/6 weeks ~ 4 full-time personnel
6/23/20086/23/2008 LUMSLUMS 99
�� Precedentedness (PREC)Precedentedness (PREC)
�� Development Flexibility (FLEX)Development Flexibility (FLEX)
�� Architecture/Risk Resolution (RESL)Architecture/Risk Resolution (RESL)
�� Team Cohesion (TEAM)Team Cohesion (TEAM)
�� Process Maturity (PMAT)Process Maturity (PMAT)
�� NominalNominal
�� LowLow
�� HighHigh
�� NominalNominal
�� NominalNominal
Factor Rating
Scale Factors for BreadboardScale Factors for Breadboard
6/23/20086/23/2008 LUMSLUMS 1010
Early Design Cost Drivers Early Design Cost Drivers
for Breadboardfor Breadboard
�� HighHigh
�� Very HighVery High
�� HighHigh
�� HighHigh
�� NominalNominal
�� NominalNominal
�� NominalNominal
Factor Rating
�� Product Reliability and Complexity (RCPX)Product Reliability and Complexity (RCPX)
�� Required Reuse (RUSE)Required Reuse (RUSE)
�� Platform Difficulty (PDIF)Platform Difficulty (PDIF)
�� Personnel Capability (PERS)Personnel Capability (PERS)
�� Personnel Experience (PREX)Personnel Experience (PREX)
�� Facilities (FCIL)Facilities (FCIL)
�� Schedule (SCED)Schedule (SCED)
6/23/20086/23/2008 LUMSLUMS 1111
Breadboard System Size Breadboard System Size
CalculationsCalculations
Component Size (SLOC) Language Type REVL (%) DM CM IM AA SU UNFM AAM EquivalentSize (SLOC)
Radar UnitControl
4500 Ada 95 New 10 - - - - - - - 4950
1238 Ada 95 Reused 10 0 0 30 1 - - 10 136Radar Item
Processing19110 Ada 95 New 20 - - - - - - - 22932
25450 Ada 95 Translated
0
Radar Database 6272 Ada 95 New 12 - - - - - - 0 70253222 Ada 95 Modified 12 15 20 50 2 15 .1 29.81 1076
Display Manager 12480 Ada 95, C New 9 - - - - - - - 1360318960 Ada 95, C Reused 9 0 0 25 2 - - 9.5 196324566 C COTS 9 0 0 20 0 - 6 1607
Display Console 5400 C,microcode
New 7 - - - - - - - 5778
2876 C,microcode
COTS 7 0 0 20 0 - - 6 185
Built In Test 4200 Ada 95,assembler
New 15 - - - - - - - 4830
TOTAL 64084
6/23/20086/23/2008 LUMSLUMS 1212
Early Design Estimate for Early Design Estimate for
BreadboardBreadboard
6/23/20086/23/2008 LUMSLUMS 1313
ARS Full Development for ARS Full Development for
IOCIOC
�� Use PostUse Post--Architecture estimation modelArchitecture estimation model–– same general techniques as the Early Design model for the same general techniques as the Early Design model for the
Breadboard system, except for elaborated cost driversBreadboard system, except for elaborated cost drivers
�� Two estimates are demonstrated: topTwo estimates are demonstrated: top--level level
and detailedand detailed–– scale drivers apply to overall system in both estimatesscale drivers apply to overall system in both estimates
–– cost drivers are rated for the aggregate system in the topcost drivers are rated for the aggregate system in the top--
level estimate (17 ratings)level estimate (17 ratings)
–– cost drivers are refined for each individual software cost drivers are refined for each individual software
component in the detailed estimate (17*6 component in the detailed estimate (17*6
components=102 ratings)components=102 ratings)
6/23/20086/23/2008 LUMSLUMS 1414
ARS TopARS Top--Level Size Level Size
CalculationsCalculationsComponent Size (SLOCS)LanguageType REVL (%)DM (%) CM (%) IM (%) AA SU UNFM AAF (%) AAM (%)eq sizeRadar Unit Control 3215 Ada new 2 0 0 0 0 0 0 0 0 3279
500 Ada modified 2 30 30 40 6 33 0.4 33 47.712 2435738 Ada reused 2 0 0 40 0 0 0 12 12 702
Radar Item Processing 13715 Ada new 15 0 0 0 0 0 0 0 0 1577211500 Ada modified 15 5 14 40 2 30 0.4 18.2 24.568 324958320 Ada translated* 0 0 0
Radar Database 12200 Ada new 6 0 0 0 0 0 0 0 0 129329494 Ada reused 6 40 0 0 0 12 12 1208
Display Manager 15400 Ada, C new 4 0 0 0 0 0 0 0 0 1601631440 Ada, C reused 4 0 0 40 0 0 0 12 12 392424566 C COTS 4 0 0 40 0 0 0 12 12 3066
Display Console 13200 C new 4 0 0 0 0 0 0 0 0 137281800 C modified 4 20 20 40 2 30 0.4 26 34.24 6412876C, microcodeCOTS 4 0 0 40 0 0 0 12 12 359
Built In Test 16000Ada, assemblernew 10 0 0 0 0 0 0 0 0 176004200Ada, assemblerreused 10 0 0 40 0 0 0 12 12 554
0 0 00 0 00 0 00 0 00 0 0
totals 224164 93274
6/23/20086/23/2008 LUMSLUMS 1515
PostPost--Architecture Estimate Architecture Estimate
for IOC (Topfor IOC (Top--level)level)
6/23/20086/23/2008 LUMSLUMS 1616
PostPost--Architecture Estimate Architecture Estimate
for IOC (Detailed)for IOC (Detailed)
6/23/20086/23/2008 LUMSLUMS 1717
Sample Incremental Sample Incremental
EstimateEstimate
6/23/20086/23/2008 LUMSLUMS 1818
Incremental COCOMOIncremental COCOMO
�� Costar (commercial tool) provides Costar (commercial tool) provides
comprehensive implementationcomprehensive implementation
6/23/20086/23/2008 LUMSLUMS 1919
Increment PhasingIncrement Phasing
6/23/20086/23/2008 LUMSLUMS 2020
Increment SummaryIncrement Summary
6/23/20086/23/2008 LUMSLUMS 2121
SummarySummary
�� Learned the basics of USC COCOMO II Learned the basics of USC COCOMO II
�� ARS exampleARS example
–– Use of COCOMO subUse of COCOMO sub--models for differing models for differing
lifecycle phases and levels of detaillifecycle phases and levels of detail
�� Incremental developmentIncremental development
6/23/20086/23/2008 LUMSLUMS 2222
ReferencesReferences
� Raymond J. Madachy, EC-6 –COCOMO II: Airborne Radar System Example, CS 510 Lecture, 2005.
� Barry W. Boehm et al., Software Cost Estimation with COCOMO II, Prentice Hall PTR, 2000.