Software Estimation

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 12

Software Estimation

Intermediate COCOMO
• Extension of Basic COCOMO
• Why Use ?
Basic model lacks accuracy
• Computes software development effort as a function of program size and
set of 15 Cost Drivers
• Cost Driver: A multiplicative factor that determines the effort required to
complete the software project.
• Why Cost Drivers?
Adjust the nominal cost of a project to the actual project
Environment.
• For each Characteristics, Estimator decides the scale factor
Very Very Extra
Low Nominal High
Low High High
2
P)OD
3 • • ExeP)
Applic
Use
cuti
•ation
of
on
Experi
Soft
Tim
ence
ewar
Attributes
(AEX
P) e
Con
tool
strai
Project
• Progr
s
nt
amme
(TO
r (TI
OL)
ME)
Capab
Req
Mai
••ility
Attributes
Req
• nuire
(PCA
P) uire
d
Stor
Personnel
d
dev
age
• Virtual
Soft
elop
con
Machi
ne war
me
strai
e
nt
nt
Experi
Reli
sch
(ST
Attributes
ence
abili
edul
OR)
(VEX
ty
e
• Virt
Computer
P)
(RE
(SC
ual
• ProgrLY)
ED)
Mac
ammi
Dat
• hine
ng
Attributes
aba
vola
langu
se
tility
age
Siz
Product
(VI
Experi
e
RT)
ence
(DA
Co
•(LEXP
TA)
Cost Drivers
) mp
Pro
• uter
The Calculation
• Multiply all 15 Cost Drivers to get Effort Adjustment Factor(EAF)
• E(Effort) = a1*(KLOC)a2 * EAF(in Person-Month)
• D(Development Time) = b1*(E)b2 (in month)
• SS (Avg Staff Size) = E/D (in persons)
• P (Productivity) = KLOC/E (in KLOC/Person-month)

Project a1 a2 b1 b2
Organic 3.2 1.05 2.5 0.38

Semidetached 3.0 1.12 2.5 0.35

Embedded 2.8 1.20 2.5 0.32

4
• Effort Adjustment Factor

Cost Driver Very Low Nominal High Very Extra


Low High High
Required Reliability .75 .88 1.00 1.15 1.40 1.40

Database Size .94 .94 1.00 1.08 1.16 1.16

Product Complexity .70 .85 1.00 1.15 1.30 1.65

Execution Time Constraint 1.00 1.00 1.00 1.11 1.30 1.66

Main Storage Constraint 1.00 1.00 1.00 1.06 1.21 1.56

Virtual Machine Volatility .87 .87 1.00 1.15 1.30 1.30

Comp Turn Around Time .87 .87 1.00 1.07 1.15 1.15

Analyst Capability 1.46 1.19 1.00 .86 .71 .71

Application Experience 1.29 1.13 1.00 .91 .82 .82

Programmers Capability 1.42 1.17 1.00 .86 .70 .70

Virtual machine Experience 1.21 1.10 1.00 .90 .90 .90

Language Experience 1.14 1.07 1.00 .95 .95 .95

Modern Prog Practices 1.24 1.10 1.00 .91 .82 .82

SW Tools 1.24 1.10 1.00 .91 .83 .83

Required Dev Schedule 1.23 1.08 1.00 1.04 1.10 1,10

5
Intermediate COCOMO : Example

A new project with estimated 400 KLOC embedded system has to


be developed. Project manager hires developers of very low
quality in application experience but a high experience in
programming language. Calculate the Effort, Development time,
Staff size & Productivity.
Cost Drivers Very Low Nominal High Very High Extra High
Low
AEXP 1.29 1.13 1.00 0.91 0.82 --

LEXP 1.14 1.07 1.00 0.95 -- --

6
Example (Contd.)

EAF = 1.29 * 0.95 = 1.22


400 KLOC implies Embedded System
Effort = 2.8*(400)1.20 * 1.22 = 3712 * 1.22 = 4528 person-months
Development Time = 2.5 * (4528)0.32 = 2.5 * 14.78 = 36.9 months
Avg. Staff Size = E/D = 4528/36.9 = 122 persons
Productivity = KLOC/Effort = 400/4528 = 0.0884 KLOC/person-month

7
Complete COCOMO

• Detailed COCOMO = Intermediate COCOMO +


assessment of Cost Drivers impact on each phase.
• Phases
1) Plans and requirements
2) System Design
3) Detailed Design
4) Module code and test
5) Integrate and test
• Cost of each subsystem is estimated separately. This reduces the
margin of error.

8
The Calculation

• Multiply all 15 Cost Drivers to get Effort Adjustment Factor(EAF)


• E(Effort) = a1(KLOC)a2 * EAF(in Person-Month)
• D(Development Time) = b1(E)b2 (in month)

• Ep (Total Effort) = µp * E (in Person-Month)


• Dp (Total Development Time) = τp * D (in month)

µp , τp Phase sensitive multipliers

9
Detailed COCOMO : Example
Consider a oraganic project to develop a full screen editor. The major components identified and their sizes are (i)
Screen Edit – 4K (ii) Command Lang Interpreter – 2K (iii) File Input and Output – 1K (iv) Cursor movement – 2K (v)
Screen Movement – 3K. Assume the Required software reliability is high, product complexity is high, analyst
capability is high & programming language experience is low. Use COCOMO model to estimate cost and time for
different phases.

Cost Drivers Very Low Low Nominal High Very High Extra High

RELY 0.75 0.88 1.00 1.15 1.40 --


CPLX 0.70 0.85 1.00 1.15 1.30 1.65
ACAP 1.46 1.19 1.00 0.86 0.71
LEXP 1.14 1.07 1.00 0.95 -- --
Phase value of µp and τp

Plan & Reqr System Detail Module code & Integration &
Design Design test Test
Organic Small µp 0.06 0.16 0.26 0.42 0.16
Organic Small τp 0.10 0.19 0.24 0.39 0.18

10
Example (Contd.)

Size of modules : 4 + 2 + 1 + 2 + 3 = 13 KLOC [Organic]

EAF = 1.15 * 1.15 * 0.86 * 1.07 = 1.2169

Initial Effort (E) = ab(KLOC)bb * EAF = 3.2*(12)1.05 * 1.2169


= 52.9 person-months

Initial Development Time = cb(E)db =2.5*(52.9)0.38 = 11.29 months

11
Example (Contd.)

Phase wise effort & development time distribution

E D Ep (in person-months) Dp (in months)

Plan & 52.9 11.29 0.06*52.9 = 3.17 0.10*11.29=1.12


Requirement
System Design 52.9 11.29 0.16*52.9=8.46 0.19*11.29=2.14

Detail Design 52.9 11.29 0.26*52.9=13.74 0.24*11.29=2.70

Module code & 52.9 11.29 0.42*52.9=22.21 0.39*11.29=4.40


test
Integration & test 52.9 11.29 0.16*52.9=8.46 0.18*11.29=2.03

Total 56.04 12.39

12

You might also like