Transcript COCOMO II

COCOMO II
資管研一 張永昌
Agenda







Overall Model Definition
COCOMO II Models for the Software Marketplace Sectors
COCOMO II Model Rationale and Elaboration
Development Effort Estimates
Software Economies and Diseconomies of Scale
Previous Approaches
Scaling Drivers







Adjusting Nominal Effort
Development Schedule Estimation
Using COCOMO II




Precedentedness (PREC) and Development Flexibility (FLEX)
Architecture / Risk Resolution (RESL)
Team Cohesion (TEAM)
Process Maturity (PMAT)
Lines of Code
Function Points
Converting Function Points to Lines of Code
Breakage
Overall Model Definition

COCOMO II strategy:




Preserve the openness of the original COCOMO;
Key the structure of COCOMO II to the future
software marketplace sectors described earlier;
Key the inputs and outputs of the COCOMO II
submodels to the level of information available;
Enable the COCOMO II submodels to be
tailored to a project's particular process
strategy.
COCOMO II Models for the
Software Marketplace Sectors

COCOMO II capability for estimation:
Application Generator
 System Integration
 Infrastructure


Two life cycle:
Early Design
 Post-Architecture

COCOMO II Model
Rationale and Elaboration

Three-stage



The earliest phases or spiral cycles will
generally involve prototyping, using the
Application Composition model capabilities.
The next phases or spiral cycles will generally
involve exploration of architectural alternatives
or incremental development strategies.
Once the project is ready to develop and
sustain a fielded system, it should have a lifecycle architecture, which provides more
accurate information on cost driver inputs, and
enables more accurate cost estimates.
Development Effort
Estimates
PMnominal  A  (Size)
B
PM:Person Months(人月)
A:constant
Size:Size of software development
units=KSLOC(units of thousands of source lines of
code)
B:scale factor
Software Economies and
Diseconomies of Scale
B<1.0:the project exhibits
economies of scale.
 B=1.0:the economies and
diseconomies of scale are in balance.
 B>1.0:the project exhibits
diseconomies of scale.

Previous Approaches

Original COCOMO:




Ada COCOMO:


Embedded(COCOMO) B:1.04~1.24
COCOMO II:





Organic B=1.05
Semidetached B=1.12
Embedded B=1.20
combin:COCOMO and Ada COCOMO
Arcgitecture、Risk( Ada COCOMO )
=>RESL
add: Precedentedness (PREC) 、Development
Flexibility (FLEX) 、 Team Cohesion (TEAM)
Scaling Drivers
B  0.91 0.01  wi
Precedentedness (PREC) and
Development Flexibility (FLEX)
Feature
Very Low Nominal
/ High
Extra
High
Precedentedness
Organizational understanding of product
objectives
General
Considerable
Thorough
Experience in working with related
software Systems
Moderate
Considerable
Extensive
Concurrent development of associated
new hardware and operational
procedures
Extensive
Moderate
Some
Need for innovative data processing
architectures, algorithms
Considerable
Some
Minimal
Development Flexibility
Need for software conformance with
preestablished requirements
Full
Considerable
Basic
Need for software conformance with
external interface specifications
Full
Considerable
Basic
Premium on early completion
High
Medium
Low
Architecture / Risk
Resolution (RESL)
Team Cohesion (TEAM)
Process Maturity (PMAT)


organized around:Software Engineering
Institute’s Capability Maturity Model (CMM)
two ways of rating Process Maturity:

CMM Maturity level

Overall Maturity Level







p
p
p
p
p
p
CMM
CMM
CMM
CMM
CMM
CMM
Level
Level
Level
Level
Level
Level
1 (lower half)
1 (upper half)
2
3
4
5
Key Process Areas(KPAs)
KPAs:
  KPA%i 5 
5   
 
18 
 i 1  100
18
Adjusting Nominal Effort

Early Design Model

 7

PMadjusted  PMnominal   EMi 
 i 1

Post-Architecture Model
 17

PMadjusted  PMnominal   EMi 
 i 1

Development Schedule
Estimation

TDEV  3.67  ( PM )
( 0.28  0.2 B 1.01)

SCED %

100
Using COCOMO II
Determining Size
 Lines of Code

Function Points

Counting Procedure for
Unadjusted Function Points
1.Determine function counts by type.
2. Determine complexity-level
function counts.

Apply complexity weights.

Compute Unadjusted Function Points.

Converting Function Points to
Lines of Code
Breakage
額外
BRAK百分比 
原本
20000
ex :
 20%
100000