software engineering lecturer: giuseppe santuccisantucci/sw_engineering/material/09_a_cocomo.pdf ·...

70
Effort estimation Software Engineering Lecturer: Giuseppe Santucci 1

Upload: others

Post on 10-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Effort estimation

Software Engineering

Lecturer: Giuseppe Santucci

1

Page 2: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Effort estimation goals

Effort estimationRequirementsCostEffortTime

Cocomo.2

Page 3: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Steps

• Requirements--> Function points (FP)

• FP --> LOC

• LOC --> Time / Effort

• Effort --> Cost

Cocomo.3

Page 4: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Some general considerations

4

Page 5: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Overview

Requirements

UFP LOC computation

•ER DFD

UML

•Text

•Prototype

•…

COCOMO

LOC

Cost

computation

Effort

Delivery Time

$

Market

Project parameters

Project parameters

5

AFP

Page 6: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Some statistics

Page 7: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Some statistics

7

Page 8: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Effort estimation from LOC

8

Page 9: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

• M: Effort, Cost:

Man time required to develop the project. Unit: man-day, man-month, man-year

• T: Delivery Time:

Required time (years, months, weeks ) to deliver the workingsoftware

• Manpower:

Effort across the time: it represents the number of people workingduring the project execution. Manpower= Effort/Delivery time

What is estimated

Cocomo.9

Page 10: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

CoCoMo: Constructive Cost Model (Bohem 1981)http://csse.usc.edu/csse/research/COCOMOII/cocomo_downloads.htm

• Estimates effort M and optimal T

• Relies on statistics

• Waterfall model (!)

• Three different models

• Basic formula : M=aSb T=cMd (S represents KLOC)

• Provides an effort indication on four phases: analysis and planning, design, development, integration and test

• http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html

Cocomo.10

Page 11: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Adjusting parameters

• Estimate the context in which the software is developed

• Several parameters

• (Very low-low-nominal-high-very high-extra high)

Cocomo.11

Page 12: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

COCOMO: 1981 formulas

Cocomo.12

Page 13: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Assumptions and definitions

• S: only lines of codes developed within the project

• T : it encompasses design-coding-integration and test. Requirement analysis is not considered.

• MM =

– 19 days of 8 hours

– 152 hours

• Stable requirements

Cocomo.13

Page 14: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Example

• Organic model

• S=32K

• MM = 2.4(32)1.05 = 91 MM

• T = 2.5(91)0.38 = 14 months

• People = 91/14 = 6.5

• Productivity = 32K/91 = 0.352 kloc/month !

18.5 loc / day !!!!

Cocomo.14

Page 15: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

M distribution(organic)

Cocomo.15

Page 16: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

T distribution

Cocomo.16

Page 17: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Example: development phaseMM = 2.4(32)1.05 = 91 MM

T = 2.5(91)0.38 = 14 months• Mdev ?

• Tdev ?

• How many people ?

• Mdev = 0.62 * 91 = 56 Man-month

• Tdev = 0.55 *1 4 = 7.7 months

• Peopledev = 56/7.7 = 7.3

• Linear interpolation for values not in the table

Cocomo.17

Page 18: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Gantt

Design

DevelopmentInt. & test

Cocomo.18

Page 19: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Some considerations about Cocomo1981

• hp1: waterfall model

• hp2: stable requirements

• hp3: adequate personnel

• hp4: project management

• Error <20% on 68% of estimates

Cocomo.19

Page 20: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Cocomo II

20

Page 21: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Cocomo II

• Motivations

– New lifecycle sw models

– Reuse

– Different levels of estimation precision

Cocomo.21

Page 22: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Estimation precision

22

Page 23: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Cocomo II models

• Early Design model– Suitable for the project initial phase

– Little detail (estimation through FP)

– 7 adjusting factors

• Post-Architecture model– for development and maintenance phases

– More detail and information (FP and reuse)

– 17 adjusting factors

• The two models share 5 scaling drivers for computing the exponents factor

Cocomo.23

Page 24: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

PMnominal= A SE

E = B + 0.01

TDEV=C(PMadjusted)F SCED/100

F = D + 0.2 x 0.01 = D+0.2(E-B)

E denotes scale economy and diseconomy

In Cocomo 1981 E={1.05, 1.12, 1.20} (only diseconomies)

In Cocomo II: E= ranges between 0.91 a 1.226

5

1i

iw

Cocomo II formulas6+SCED or 16+SCED

Cocomo.24

5

1i

iw

E=1.226

E=1

E=0.91

Page 25: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Actual calibration

A=2.94

B=0.91

C=3.67

D=0.28

Cocomo.25

PMnom= 2.94 SE

E=0.91+

TDEV = 3.67 (PMadjusted)F

F = 0.28 +0.2 x 0.01

Page 26: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

The 5 scale factors

26

Page 27: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Scale factors

Cocomo.27

Page 28: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

PRECedenteness & Development FLEXibility

Cocomo.28

The PREC and FLEX scale factors are largely intrinsic to a project and uncontrollable

Page 29: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Architecture/Risk RESoLution

Product

Design

Review

Component

Off

The

Shelf

Cocomo.29

Page 30: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

TEAM Cohesion

Cocomo.30

Page 31: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Process MATurity

• Based on CMMI

• Two calculation methods:

– CMMI level (1-, 1+, 2, 3, 4 , 5)

– Implementation % of the 18 key process areas

Cocomo.31

Page 32: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

KPA Implementation %

32

Page 33: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Numerical values

33

Page 34: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

The SCED+16 / SCED+6 adjusting factors

34

Page 35: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Pmnom adjusting

Early Design model

Post-Architecture

model

Cocomo.35

Page 36: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

SCED + Adjusting factors

Cocomo.36

Page 37: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

• RELY: REquired software reliabiLitY(0.82-0.92-1.0-1.10-1.26-n/a)

This is the measure of the extent to which the software must perform its intendedfunction over a period of time. If the effect of a software failure is only slightinconvenience then RELY is low. If a failure would risk human life then RELY is veryhigh

• DATA: DATA base size (n/a-0.90-1.0-1.14-1.28-n/a)

Product

Cocomo.37

Page 38: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

• CPLX: product ComPLeXity (0.73-0.87-1.0-1.17-1.34-1.75)

Product

Cocomo.38

Page 39: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

• CPLX: product ComPLeXity (0.73-0.87-1.0-1.17-1.34-1.75)

Product

Cocomo.39

Page 40: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

• RUSE: developing reusable software (n/a-0.95-1.0-1.07-1.15-1.24)

• DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a)

– Several software cost models have a cost driver for the level of required documentation. In COCOMO II, therating scale for the DOCU cost driver is evaluated in terms of the suitability of the project’s documentation toits life-cycle needs. The rating scale goes from Very Low (many life-cycle needs uncovered) to Very High (veryexcessive for life-cycle needs).

Product

Cocomo.40

Page 41: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

System• TIME: execution TIME constraint (n/a-n/a-1.0-1.11-1.29-1.63)

• STOR: main STORage constraint (n/a-n/a-1.0-1.05-1.17-1.46)

Cocomo.41

Page 42: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

System• PVOL - Platform volatility (n/a-0.87-1.0-1.15-1.30-n/a)

Cocomo.42

Page 43: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Personnel• ACAP - Analyst CAPability (1.42-1.19-1.0-0.85-0.71-n/a)

• PCAP - Programmer CAPability (1.34-1.15-1.0-0.88-0.76-n/a)

• APEX - Application EXPerience (1.22-1.10-1.0-0.88-0.81-n/a)

• PLEX – Platform EXPerience (1.19-1.09-1.0-0.91-0.85-n/a)

• LTEX: Language and tool EXPerience (1.20-1.09-1.0-0.91-0.84-n/a)

• PCON – Personnel continuity(1.29-1.12-1.0-0.90-0.81-n/a)

Cocomo.43

Page 44: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Project• TOOL - use of software TOOLs (1.17-1.09-1.00-0.90-0.78-n/a)

• SITE - Multisite development (1.22-1.09-1.0-0.93-0.86-0.80)

Cocomo.44

Page 45: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Project• SCED - SChEDule constraints (1.43-1.14-1.0-1.00-1.10-n/a).

Cocomo.45

Page 46: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Summary

46

Page 47: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Variability!!!

• Best case:• 0,82*0,9*0,73*0,95*0,81*1*1*0,87*0,71*0,76*0,81*0,81*0,85*0,84=

0,09

• Worst case:• 1,26*1,28*1,74*1,24*1,23*1,63*1,46*1,3*1,42*1,34*1,29*1,22*1,19*1,2*1,17*1,22*1,43=

115

Cocomo.47

Page 48: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

7 vs 17

Affects both M and T

Cocomo.48

Page 49: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

M and T

PMnom= 2.94 SE

Cocomo.49

SCED

Page 50: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Reuse

How to estimate the effort for reusing existing modules

50

Page 51: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

The cost of reuse

Cocomo.51

Page 52: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Cocomo II reuse• The main idea is to model the effort for adapting an existing module

(ASLOC lines of code) as the required effort for developing a newmodule: ESLOC = Equivalent Source Line of Code

• Cocomo uses a non linear model based two aspects:

1. The inherent complexity of adapting the software– SU : Software Understanding (as percentage)– AA: Assessment and Assimilation– UNFM: Programmer Unfamiliarity

2. The percentage of modification AAF: Adaptation Adjusting Factor– DM, percentage of modified design – CM, percentage of modified code– IM, percentage of modification to the original integration effort

required for integrating the reused software

Cocomo.52

Page 53: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

SU : Software Understanding

Penality percentage53

Page 54: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

AA: Assessment and Assimilation

Assessment and Assimilation (AA) effort needed to

a) determine whether a reused software module is

appropriate to the application, and

b) to integrate its description into the overall product description

54

Page 55: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

UNFM: Programmer Unfamiliarity

programmer’s relative unfamiliarity

with the software

55

Page 56: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Equivalent SLOC2 distinct formulas, driven by relative modification

of size AAF

56

Automated

translation

Page 57: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

AAM range

57

Page 58: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

ExampleSoftware module (ASLOC=8k) to browse, on the

Web, a relational table– Code well written and documented SU=20– Easy to evaluate and to integrate in

the overall documentation AA=2– No familiarity with the code UNF=1.0– 10% percentage of modified design DM=10– 20% percentage of modified code CM=20– 35 %percentage of modification to the

original integration effort required for integrating the reused software IM=35

Cocomo.58

Page 59: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Example (2)SU=20 AA=2 UNFM=1.0 DM=10 CM=20 IM=35

AAF= 0.4 (10)+0.3 (20) +0.3 (35)=20.5 (AAF<= 50)

AAM= [2+20.5(1+0.02x20x1.0)]/100= 0,307

ESLOC=8 x 0,307=2,456 KLOC

Cocomo.59

Page 60: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Backfiring

60

Page 61: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

BACKFIRING

Cocomo.61

Page 62: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

BACKFIRING

Cocomo.62

Page 63: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

BACKFIRING

Cocomo.63

Page 64: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

BACKFIRING

Cocomo.64

Page 65: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

LOC estimation

65

Page 66: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Invoice database

• 51 Fp

• C language

• Coefficiente di backfiring del C :128

• LOC=51*128=6528=6.5 KLOC

All parameters are set to NOMINAL

Page 67: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

SLOC within Cocomo SW

67

Page 68: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

UFP/LOC

Cocomo.68

Page 69: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Other sources

69

http://www.qsm.com/reso

urces/function-point-

languages-table

Page 70: Software Engineering Lecturer: Giuseppe Santuccisantucci/SW_Engineering/Material/09_A_COCOMO.pdf · • DOCU: level of required documentation (0.81-0.91-1.0-1.11-1.23-n/a) – Several

Proposed methodology

Requirements

UFP LOC computation

•ER DFD

UML

•Text

•Prototype

•…

COCOMO

LOC

Cost

computation

Effort

Delivery Time

$

Market

Project parameters

(only once)

70