COCOMO II 資管研一 張永昌. Agenda Overall Model Definition COCOMO II Models for the Software...

Preview:

Citation preview

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

Precedentedness (PREC) and Development Flexibility (FLEX)

Architecture / Risk Resolution (RESL) Team Cohesion (TEAM) Process Maturity (PMAT)

Adjusting Nominal Effort Development Schedule Estimation Using COCOMO II

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 life- cycle architecture, which provides more accurate information on cost driver inputs, and enables more accurate cost estimates.

Development Effort Estimates

Bnominal (Size) A PM

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 :

Organic B=1.05 Semidetached B=1.12 Embedded B=1.20

Ada COCOMO : Embedded ( COCOMO ) B : 1.04~1.24

COCOMO II : combin : COCOMO and Ada COCOMO Arcgitecture 、 Risk ( Ada COCOMO ) =>RESL add : Precedentedness

(PREC) 、 Development Flexibility (FLEX) 、 Team Cohesion (TEAM)

Scaling Drivers

iw0.010.91B

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 processingarchitectures, 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 CMM Level 1 (lower half) p CMM Level 1 (upper half) p CMM Level 2 p CMM Level 3 p CMM Level 4 p CMM Level 5

Key Process Areas ( KPAs )

18

1 18

5

100

%5

i

iKPA

KPAs:

Adjusting Nominal Effort Early Design Model

Post-Architecture Model

7

1nominaladjusted PMPM

iiEM

17

1nominaladjusted PMPM

iiEM

Development Schedule Estimation

100

%)(67.3 )01.12.028.0( SCED

PMTDEV B

Using COCOMO II

Determining Size Lines of Code

Function Points

Counting Procedure for Unadjusted Function Points1.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

%20100000

20000: ex

Recommended