0% found this document useful (0 votes)
79 views5 pages

Function Point SPM

Albrecht's Function Point Method provides a standardized way to measure software functionality from the user's perspective. It involves determining the number of external inputs, outputs, queries, internal logical files, and external logical files. These components are rated and converted to unadjusted function points. Additional factors like the value adjustment factor based on 14 general system characteristics are then used to calculate the final function points count. Complexity is also considered, involving the resources required for an optimal problem solution and the complexity of implementing a particular solution in terms of time and space complexity.

Uploaded by

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

Function Point SPM

Albrecht's Function Point Method provides a standardized way to measure software functionality from the user's perspective. It involves determining the number of external inputs, outputs, queries, internal logical files, and external logical files. These components are rated and converted to unadjusted function points. Additional factors like the value adjustment factor based on 14 general system characteristics are then used to calculate the final function points count. Complexity is also considered, involving the resources required for an optimal problem solution and the complexity of implementing a particular solution in terms of time and space complexity.

Uploaded by

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

Albrecht’s Function Point Method

Function point metrics provide a standardized method for measuring the various
functions of a software application. It measures the functionality from the user’s point
of view, that is, on the basis of what the user requests and receives in return. Function
point analysis is a standard method for measuring software development from the
user's point of view.
The Function Point measure originally conceived by Albrecht received increased
popularity with the inception of the International Function Point Users Group (IFPUG)
in 1986. In 2002, IFPUG Function Points became an international ISO standard –
ISO/IEC 20926.

What is a Function Point?


FP (Function Point) is the most widespread functional type metrics suitable for
quantifying a software application. It is based on five users identifiable logical
"functions", which are divided into two data function types and three transactional
function types. For a given software application, each of these elements is quantified
and weighted, counting its characteristic elements, such as file references or logical
fields.
The resulting numbers (Unadjusted FP) are grouped into Added, Changed, or Deleted
functions sets, and combined with the Value Adjustment Factor (VAF) to obtain the
final number of FP. A distinct final formula is used for each count type: Application,
Development Project, or Enhancement Project.

Applying Albrecht’s Function Point Method


Let us now understand how to apply the Albrecht’s Function Point method. Its
procedure is as follows −

Determine the number of components (EI, EO, EQ, ILF, and ELF)
 EI − The number of external inputs. These are elementary processes in
which derived data passes across the boundary from outside to inside. In
an example library database system, enter an existing patron's library
card number.
 EO − The number of external output. These are elementary processes in
which derived data passes across the boundary from inside to outside. In
an example library database system, display a list of books checked out to
a patron.
 EQ − The number of external queries. These are elementary processes
with both input and output components that result in data retrieval from
one or more internal logical files and external interface files. In an
example library database system, determine what books are currently
checked out to a patron.
 ILF − The number of internal log files. These are user identifiable groups
of logically related data that resides entirely within the applications
boundary that are maintained through external inputs. In an example
library database system, the file of books in the library.
 ELF − The number of external log files. These are user identifiable groups
of logically related data that are used for reference purposes only, and
which reside entirely outside the system. In an example library database
system, the file that contains transactions in the library's billing system.
Compute the Unadjusted Function Point Count (UFC)
 Rate each component as low, average, or high.
 For transactions (EI, EO, and EQ), the rating is based on FTR and DET.
o FTR − The number of files updated or referenced.
o DET − The number of user-recognizable fields.
o Based on the following table, an EI that references 2 files
and 10 data elements would be ranked as average.
FTRs DETs

1-5 6-15 >15

0-1 Low Low Average

2-3 Low Average High

>3 Average High High

 For files (ILF and ELF), the rating is based on the RET and DET.


o RET − The number of user-recognizable data elements in
an ILF or ELF.
o DET − The number of user-recognizable fields.
o Based on the following table, an ILF that contains 10 data
elements and 5 fields would be ranked as high.
RETs DETs
1-5 6-15 >15

1 Low Low Average

2-5 Low Average High

>5 Average High High

 Convert ratings into UFCs.


Rating Values

EO EQ EI ILF ELF

Low 4 3 3 7 5

Average 5 4 4 10 7

High 6 5 6 15 10

Compute the Final Function Point Count (FPC)


 Compute value adjustment factor (VAF) based on 14 general system
characteristics (GSC).
General System Characteristic Brief Description

GSC 1 How many communication facilities are there to aid in


Data communications the transfer or exchange of information with the
application or system?

GSC 2 Distributed data How are distributed data and processing functions
processing handled?

GSC 3 Was the response time or throughput required by the


Performance
user?

GSC 4 Heavily used How heavily used is the current hardware platform
configuration where the application will be executed?

GSC 5 How frequently are transactions executed daily,


Transaction rate
weekly, monthly, etc.?

GSC 6 On-Line data entry What percentage of the information is entered online?

GSC 7 End-user efficiency Was the application designed for end-user efficiency?
GSC 8 On-Line update How many ILFs are updated by online transaction?

GSC 9 Complex processing Does the application have extensive logical or


mathematical processing?

GSC 10 Was the application developed to meet one or many


Reusability
user’s needs?

GSC 11 Installation ease How difficult is conversion and installation?

GSC 12 How effective and/or automated are start-up, back-up,


Operational ease
and recovery procedures?

GSC 13 Was the application specifically designed, developed,


Multiple sites and supported to be installed at multiple sites for
multiple organizations?

GSC 14 Was the application specifically designed, developed,


Facilitate change
and supported to facilitate change?

 Weigh each GSC on a scale of 0 to 5 based on whether it has no


influence to strong influence.
 Compute the FPC as follows −
FPC = UFC * (0.65+(sum(GSC) * .01))
Complexity
Complexity is a separate component of size. It is of two types −

 Complexity of a problem − It is the amount of resources required for an


optimal solution to the problem.
 Complexity of a solution − It is the resources needed to implement a
particular solution. It has two aspects. They are as follows −
o Time complexity − The resource is computer time.
o Space complexity − The resource is computer memory.
Measuring Complexity
One aspect of complexity is efficiency. It measures any software product that can be
modeled as an algorithm.
For example: If an algorithm for solving all instances of a particular problem
requires f(n) computations, then f(n) is asymptotically optimal, if for every other
algorithm with complexity g that solves the problem f is O(g). Then, the complexity of
the given problem is big - O of the asymptotically optimal algorithm for the problem’s
solution.

You might also like