0% found this document useful (0 votes)
172 views25 pages

COCOMO Function Points

Uploaded by

Nayeem Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
172 views25 pages

COCOMO Function Points

Uploaded by

Nayeem Raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

Estimation

 We examine the following metrics and their


potential use in software testing and maintenance.

 Function Oriented Metrics


 Feature Points
 Function Points

 COCOMO

1
COCOMO
 The overall resources for software project must be
estimated:
 development costs (i.e., programmer-months)
 development interval
 staffing levels
 maintenance costs

 General approaches include:


 expert judgment (e.g., past experience times
judgmental factor accounting for differences).
 algorithmic (empirical models).

2
Empirical Estimation Models
Several models exit with various success and
ease/difficulty of use.
 We consider the COCOMO (Constructive Cost
Model) .
 Decompose the software into small enough
units to be able to estimate the LOC.
 Definitions:
 KDSI as kilo delivered source instructions
(statements)
 not including comments, test drivers, etc.
 PM - person months
 3 levels of the Cocomo models: Basic,
Intermediate and, Detailed
3
COCOMO
Model 1: Basic

Apply the following formulae to


get rough estimates:
PM = 2.4(KDSI)1.05
TDEV = 2.5(PM)0.38
(chronological months)
4
Effort estimates
1000 Person-months

Embedded

800

600
Intermediate

400
Simple

200

0
0
20 40 60 80 100 120
KDSI
5
©Ian Sommerville 1995
Exercise - 1
A project executed in organic mode has 32 KLOC. Find
the effort in person-months, development duration,
and number of people.

6
COCOMO examples
 Organic mode project, 32KLOC
 PM = 2.4 (32) 1.05 = 91 person months
 TDEV = 2.5 (91) 0.38 = 14 months
 N = 91/14 = 6.5 people

7
©Ian Sommerville 1995
Exercise - 2
 A project executed in embedded mode has a size of 128
KLOC. The values of the constants for a, b, c, and d are
3.6, 1.2, 2.5 and 0.32 respectively
Find the effort in person-months, development
duration, and number of people.

8
COCOMO examples
 Embedded mode project, 128KLOC
 PM = 3.6 (128)1.2 = 1216 person-months
 TDEV = 2.5 (1216)0.32 = 24 months
 N = 1216/24 = 51 people

9
©Ian Sommerville 1995
COCOMO examples
 Organic mode project, 32KLOC
 PM = 2.4 (32) 1.05 = 91 person months
 TDEV = 2.5 (91) 0.38 = 14 months
 N = 91/14 = 6.5 people
 Embedded mode project, 128KLOC
 PM = 3.6 (128)1.2 = 1216 person-months
 TDEV = 2.5 (1216)0.32 = 24 months
 N = 1216/24 = 51 people

10
©Ian Sommerville 1995
COCOMO
Model 2: Intermediate
step I: obtain the nominal effort
estimation as:
PMNOM = ai (KDSI)bi where
ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.2

11
COCOMO
 organic: small s/w team; familiar; in-
house environment; extensive experience;
specifications negotiable.
 embedded: firm, tight constraints;
(hardware SRS), generally less known
territory.
 semi-detached: in between.

 step II: determine the effort multipliers:


 From a table of total of 15 attributes, each rated on a 6
point scale 12
COCOMO
 Four attribute groups:

1. product attributes: required reliability, product


complexity,
2. computer attributes: constraints: execution time,
primary memory, virtual machine environment,
volatility (h/w & s/w), turnaround time,
3. personnel attributes: analyst, programmers’
capability, application experience, VM experience,
PL experience,
4. project attributes: modern programming practices,
s/w tools used, schedule realistic .

13
COCOMO
 a total of 15 attributes, each rated on a 6 point scale:
 very low - low - nominal - high - very high - extra high
 use the Cocomo model to calculate the effort
adjustment factor (EAF) as:
15
EAF   attributes
i 1

 step III: estimate the development effort as:


PMDEV = PMNOM  EAF

14
COCOMO
step IV: estimate the related
resources as:
TDEV = ci (PMDEV)di
ci di
Organic 2.5 0.38
Semi-detached 2.5 0.35
Embedded 2.5 0.32

15
Function-Oriented Metrics
 Mainly used in business applications
 The focus is on program functionality
 A measure of the information domain + a
subjective assessment of complexity
 Most common are:
 function points and
 feature points (FP) .

Reference: R.S. Pressman, “Software Engineering: A


Practitioner’s Approach, 3rd Edition”, McGraw Hill,
Chapter 2.

16
Function Points
 The function point metric is evaluated using the following
tables:
Weighting Factor
Parameter Count Simple Average Complex Weight

# of user *3 4 6=
inputs
# of user * 4 5 7=
outputs
#of user *3 4 6=
inquiries
# of files *7 10 15 =

# of *5 7 10 =
external
interfaces
Total_weight =
17
Function Points

The following relationship is used to compute function


points:

FP  total _ weight  [0.65  0.01 SUM ( Fi )]

18
Function Points
 where Fi (i = 1 to 14) are complexity adjustment
values based on the table below:

1. Reliable backup/recovery needed?


2. Any data communications needed?
3. Any distributed processing functions?
4. Performance critical?
5. Will system run in an existing heavily utilized
operational environment?
6. Any on-line data entry?
7. Does on-line data entry need multiple
screens/operations?
19
Function Points
8. Are master files updated on-line?
9. Are inputs, outputs, queries complex?
10. Is internal processing complex?
11. Must code be reusable?
12. Are conversion and installation included in design?
13. Is multiple installations in different organizations
needed in design?
14. Is the application to facilitate change and ease of use by
user?

20
Function Points

 Each of the Fi criteria are given a rating of 0 to 5 as:

 No Influence = 0; Incidental = 1;

 Moderate = 2 Average = 3;

 Significant = 4 Essential = 5

21
Function-Oriented Metrics
 Once function points are calculated, they are used in a
manner analogous to LOC as a measure of software
productivity, quality and other attributes, e.g.:

 productivity FP/person-month
 quality faults/FP
 cost $$/FP
 documentation doc_pages/FP

22
Example: Function Points

23
Example: Your PBX project
 Total of FPs = 25
 F4 = 4, F10 = 4, other Fi’s are set to 0. Sum of all Fi’s
= 8.
 FP = 25 x (0.65 + 0.01 x 8) = 18.25
 Lines of code in C = 18.25 x 128 LOC = 2336 LOC
 For the given example, developers have
implemented their projects using about 2500 LOC
which is very close to predicted value of 2336 LOC

24
Feature Point Metrics
 It represents the same thing – “functionality”
delivered by the software.
 Measurement parameters and weights are:
Number of user inputs – weight = 4
Number of user outputs – weight = 5
Number of user inquiries – weight = 4
Number of files – weight = 7
Number of external interfaces – weight = 7
Number of algorithms – weight = 3
Total_weight or total_count = ?
25

You might also like