0% found this document useful (0 votes)
0 views

Unit 4 Lecture 5 Function Point Analysis Fpa

The document discusses software measurement metrics, focusing on size-oriented and function-oriented metrics to improve software development processes. It details the calculation of Function Points (FP), which assess software functionalities independent of programming languages, and provides a methodology for determining unadjusted and adjusted function point counts. Additionally, it outlines the complexity adjustment factors and their impact on project cost estimation and productivity metrics.

Uploaded by

raj.bhosale
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

Unit 4 Lecture 5 Function Point Analysis Fpa

The document discusses software measurement metrics, focusing on size-oriented and function-oriented metrics to improve software development processes. It details the calculation of Function Points (FP), which assess software functionalities independent of programming languages, and provides a methodology for determining unadjusted and adjusted function point counts. Additionally, it outlines the complexity adjustment factors and their impact on project cost estimation and productivity metrics.

Uploaded by

raj.bhosale
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Process & Project Metrics

https://dipeshagrawal.wordpress.com/sub5/

1. Metrics In Process & Project


Improvement
Software Measurement
1. Size Oriented Metrics
2. Function Oriented Metrics
3. Attributes Of Effective Software Metrics
4. Reconciling LOC & FP Metrics
5. OO Metrics
• Software Measurement –
- is an ability
- To measure attributes of - software & software development
process
- So that the SE activities can be improved

• s/w measurement can be classified into two categories –

1. Direct Measure
- Measures –
- cost & effort applied
- LOC produced
- Execution speed & defects

2. Indirect Measure
- measures
- functionality, quality, reliability, efficiency, maintainability,
Function Oriented Metrics

• Functionalities, provided by the software is


measured
• Independent of programming language used
benefits of Function Points

• Function points are useful −


• In measuring the size of the solution instead of the size of the problem.
• As requirements are the only thing needed for function points count.
• As it is independent of technology.
• As it is independent of programming languages.
• In estimating testing projects.
• In estimating overall project costs, schedule and effort.
• In contract negotiations as it provides a method of easier
communication with business groups.
• As it quantifies and assigns a value to the actual uses, interfaces, and
purposes of the functions in the software.
• In creating ratios with other metrics such as hours, cost, headcount,
duration, and other application metrics.
How To Calculate Function Points?
• Data for following – characteristics are collected.

• Number Of User Inputs –


- each user input,
- which provides, Distinct application data,
- to the software
- Is counted

• Number Of User Outputs -


- each user output
- that provides – application data to the user – is
counted.
• Number Of User Inquiries
- an online input
- that results in
- the generation of some
- immediate software response
- in the form of an output

• Number Of Files
- each logical master file
- i.e. a logical grouping of data, that may be part of a database
or a separate file

• Number Of External Interfaces


- all machine readable interfaces
- That are used to transmit information
- To another system
• The organization needs to develop criteria
- Which determine
- Whether a particular entry is
- simple, average or complex

• The weighting factors


- should be determined
- by observations or by experiments
The FPA functional units are shown in figure given
below:

User

Inquiries

Other
ILF
applications
Inputs
EIF
User
Outputs ILF: Internal logical files
System EIF: External interfaces

Fig. : FPAs functional units System


Counting function points

Functional Units Weighting factors

Low Average High

External Inputs (EI) 3 4 6

External Output (EO) 4 5 7

External Inquiries (EQ) 3 4 6

External logical files (ILF) 7 10 15

External Interface files (EIF) 5 7 10

Table 1 : Functional units with weighting


factors
Table 2: UFP calculation table
Functional Count Complexit Functional
Units Complexi y Unit Totals
ty Totals
Externa Low x 3 =
l Inputs Average x 4 =
(EIs) High x 6 =
Externa Low x 4 =
l Average x 5 =
Outputs High x 7 =
(EOs)
External Low x 3 =
Average x 4 =
Inquirie High x 6 =
s (EQs)
External Low x 7 =
logical Average x 10 =
Files (ILFs) High x 15 =
External Low x 5 =
Interface Average x 7
Files (EIFs) =
High x 10 =
Total Unadjusted Function Point Count
The weighting factors
- are identified for
- all functional units and
- multiplied with the functional units
accordingly.

The procedure for the calculation of

Unadjusted Function Point (UFP)

is given in table shown above.


Weighting Factor
Domain Characteristics Count Count
low avg high
Number Of User Inputs * 3 4 6

Number Of User Outputs


* 4 5 7
Number Of User Enquiries
* 3 4 6
Number Of Files
* 7 10 15
Number Of External
Interfaces * 5 7 10

Count Total
• The Count Total – can be computed with the help of
above given table

• Now – The Software Complexity –

- can be computed
- by answering following questions

• These are complexity adjustment values – (sum(Fi))


1. Does the system need – reliable backup & recovery?

2. Are – data communications – required?

3. Are there – distributed processing functions?

4. Is – performance of the system – critical?

5. Will the system – run in an existing, heavily utilized operational

environment?

6. Does the system require – online data entry?

7. Does – the online data entry – require – the input transaction to

be built over multiple screens or operations?


8. Are the master files updated online?

9. Are – the inputs, outputs, files or inquiries – complex?

10. Is the internal processing complex?

11. Is the code, which is designed – being reusable?

12. Are conversion & installation included in the design?

13. Is the system designed for multiple installations in different


organizations?

14. Is the application designed to facilitate – change & ease of use – by the
user?
Table 3 : Computing function points.
Rate each factor on a scale of 0 to 5.

2 3 4 5

No Average
Influence Incidental Moderate Significant Essential

Number of factors considered ( Fi )

1. Does the system require reliable backup and recovery ?


2. Is data communication required ?
3. Are there distributed processing functions ?
4. Is performance critical ?
5. Will the system run in an existing heavily utilized operational environment ?
6. Does the system require on line data entry ?
7. Does the on line data entry require the input transaction to be built over multiple screens or operations ?
8. Are the master files updated on line ?
9. Is the inputs, outputs, files, or inquiries complex ?
10. Is the internal processing complex ?
11. Is the code designed to be reusable ?
12. Are conversion and installation included in the design ?
13. Is the system designed for multiple installations in different organizations ?
14. Is the application designed to facilitate change and ease of use by the user ?
• Rate –
- each of the above factors
- according to the following scale of (0 to
5)

• Function Points (FP) =

• count total * (0.65 + (0.01 * sum (Fi)))


0 1 2 3 4 5
• Rate each factor on a scale of 0 to 5.

0 – No Influence

1 - Incidental

2 - Moderate

3 - Average

4 - Significant

5 – Essential

• Number of factors considered ( Fi )


•These metrics are controversial
•and are not universally acceptable.

•There are standards issued by

•the International Functions Point User Group (IFPUG)

•and

•The United Kingdom Function Point User Group (UFPGU).

•An ISO standard for function point method is also being


developed.
Example:1

Consider a project with the following functional units:

Number of user inputs = 50


Number of user outputs = 40
Number of user = 35
enquiries Number of = 06
user files = 04
Number of external
interfaces

Assume all complexity adjustment factors and weighting factors are


average.

Compute the function points for the project.


Domain Characteristics Count Weighting Factor Count

Simple Average Complex

Number Of User Inputs 50 * 4 200

Number Of User Outputs 40 * 5 200

Number Of User Enquiries 35 * 4 140

Number Of Files 06 * 10 60

Number Of External 04 * 7 28
Interfaces

Count Total 628


Solution
We know 5 3
UFP  ∑∑ Zij wij
i1 J 1

UFP = (50 * 4) + (40 * 5) + (35 * 4) + (6 * 10) + (4 *


7)
= 200 + 200 + 140 + 60 + 28 = 628

CAF = (0.65 + 0.01 * ΣFi)


= (0.65 + 0.01 * (14 * 3))
= (0.65 + 0.01 * 42)
= (0.65 + 0.42)
= 1.07
FP = UFP * CAF
• Function Points (FP) =
• count total * (0.65 + (0.01 * sum (Fi)))

• FP = 628 * (0.65 + 0.01 * (14*3))


= 628 * (0.65 + 0.42)
= 628 * (1.07)
= 671.96
• Functions points may compute the following important metrics:

• Avg productivity is  6.5 FP per person-month


• (i.e. 1 person works for 1 month – to develop 6.5 FP)
• Avg labor cost is  Rs. 6000/- per month

1. Cost per function point = 6000/6.5 = Rs. 923 per function point

2. Total estimated project cost = Rs. 923 * 672 FP = Rs. 6,20,256/-

3. Total estimated effort = (672 / 6.5) = 103 person – month.

i.e. 103 person will work for 1 month to complete the project.
Or 52 person will work for 2 months to complete the project.
Or 26 person will work for 4 months to complete the project.
Or 13 person will work for 8 months to complete the project.
What is Person-month?
• It's mean amount of work performed by the average
worker in one month.
• So, if:

• project requires 12 persons-months of development time

• then:

• for 12 persons-months project -


• 4 developers will spend 3 months.
Example:2
An application has the following:
10 low external inputs,
12 high external outputs,
20 low internal logical files,
15 high external interface files,
12 average external inquiries,
and a value of complexity adjustment factor of 1.10.
What are the unadjusted and adjusted function point counts ?
Solution
Unadjusted function point counts may be calculated using
as:
5 3

UFP  i1 ∑∑ J Zij


1
wij
= (10 * 3) + (12 * 7) + (20 * 7) + (15 * 10) + (12 * 4)
= 30 + 84 +140 + 150 + 48
= 452
FP = UFP x CAF
= 452 x 1.10 = 497.2.
Example: 3
Consider a project with the following parameters.
(i) External Inputs:
(a) 10 with low complexity (b)15 with
average complexity
(c) 17 with high complexity

(ii) External Outputs:


(a) 6 with low complexity (b)13 with
high complexity

(iii) External Inquiries:


(a) 3 with low complexity
(b) 4 with average complexity
(c) 2 high complexity
(iv) Internal logical files:
• (a) 2 with average complexity
(b)1 with high complexity

(v) External Interface files:


• (a) 9 with low complexity

•In addition to above, system requires


i. Significant data communication
ii. Performance is very critical
iii. Designed code may be moderately
reusable
iv. System is not designed for multiple installation in
different organizations.

•Other complexity adjustment factors are treated as average. Compute


Solution: Unadjusted function points may be counted using table 2
Functional Count Complexity Complexit Functional
Units y Unit
Totals Totals
Externa 10 Low x 3 30
=
l Inputs 15 Average x 4 60
=
(EIs) 17 High x 6 = 102 192
Externa 6 Low x 4 24
=
l 0 Average x 5 0
=
Outputs 13 High x 7 = 91 115

(EOs)
External 3 Low x 3 9
=
4 Average x 4 16
=
Inquirie 2 High x 6 = 12 37

s (EQs)
Externa 0 Low x 7 0
=
l 2 Average x 10 20
=
logical
Files (ILFs) 1 High x 15 = 15 35
External 9 Low x 5 = 45
Interface 0 0
Average(3x 7ed.), By K.K Aggarwal=& Yogesh Singh, Copyright
Files (EIFs) Software Engineering rd © New Age International
0 High x 10 Publishers, 2007
= 0 45
Total Unadjusted Function Point Count 424
14

∑i1

Fi 3+4+3+5+3+3+3+3+3+3+2+3+0+3=41
CAF = (0.65 + 0.01 x ΣFi)
= (0.65 + 0.01 x 41)
= 1.06
FP = UFP x CAF
= 424 x 1.06
= 449.44

Hence FP = 449
Relative Cost of Software Phases
Example 4
• An application has the following:

• 10 low external inputs, 12 high external outputs, 20 low

• internal logical files, 15 high external interface files, 12

• average external inquiries, and a value of complexity

• adjustment factor of 1.10.

• What are the unadjusted and adjusted function point counts ?


• Example –

• Study of requirement specification for ABC project has produced


following results –

• need for
- 7 inputs,
- 10 outputs,
- 6 inquiries,
- 17 files &
- 4 external interfaces.

• Input & external interface FP attributes are of Average Complexity


&
• all other FP attributes are of – Low Complexity

• Determine – adjusted FPs assuming Complexity Adjustment Value


Domain Characteristics Count Weighting Factor Count

Simple Average Complex

Number Of User Inputs 7 X 4 28

Number Of User Outputs 10 X 4 40

Number Of User Enquiries 6 X 3 18

Number Of Files 17 X 7 119

Number Of External 4 X 7 28
Interfaces

Count Total 233


• FP = Count Total * {(0.65 + 0.01) * Sum(Fi)}
= 233 * {(0.65 + 0.01) * 32}
= 233 * 0.97
= 226.01

Hence, adjusted FP = 226.01

You might also like