The Indicative
function point count can be calculated in following steps:
- Identify the number of data
functions(ILFs & EIFs)
- Identify the count of ILFs (#ILF)
- Identify the count of EIFs (#EIF)
- Calculate the total unadjusted function point count of the application
as follows: Indicative Size
(UFP) = 35 × #ILF + 15 × #EIF
- Here #ILF represents the count of ILFs and #EIF represents the count of
EIFs
Thus this
estimate is based solely on the logical files (ILFs and EIFs) which are
present.
The
indicative function point count is based on the assumption that there will be
about three EIs (to add, change, and delete information in the ILF), two EOs,
and one EQ on average for every ILF, and about one EO and one EQ for every EIF.
Case Study 1:
In above Customer
Input screen, the “Add Customer” button causes the Customer data maintained
inside the application boundary to be updated with the fields entered by the user.
The “Clear
Screen” button causes all of the fields to be erased.
The “Error
Message Window” displays any errors associated with validations performed
against an externally maintained Zip Code Data file after the “Add Customer” button
is pressed.
Solution:
Step1:
Identify the number of data functions (ILFs & EIFs)
Step 1.1: Identify the count of ILFs
ILFs:
1. Customer data
Total ILF Count (#ILF) = 1
Step 1.2: Identify the count of EIFs
EIFs:
2. Zip code data
Total EIF Count (#EIF) = 1
Step2:
Indicative Size
(UFP) = 35 × #ILF + 15 × #EIF = 35*1 +
15*1 = 50
Case Study 2:
The user
requires the Human Resources application to provide the following capabilities:
- The software application must store and maintain employee information
- The software application must store and maintain department information
- All foreign employees must be paid in Euros
- When the user adds or changes employee information, the Human Resources
application must access the Currency application to retrieve a conversion
rate.
- After retrieving the conversion rate, the HR application converts the
employee’s local rate to a Euro rate using the following calculation: standard local
rate ÷ conversion rate = Euro rate.
Solution:
Step1:
Identify the number of data functions (ILFs & EIFs)
Step 1.1: Identify the count of ILFs
ILFs:
1. Employee data
2. Department data
Total ILF Count (#ILF) = 2
Step 1.2: Identify the count of EIFs
EIFs:
1. Currency Conversion Rate data
Total EIF Count (#EIF) = 1
Step2:
Indicative Size
(UFP) = 35 × #ILF + 15 × #EIF = 35*2 +
15*1 = 85
Case Study 3:
The following list represents a
sample set of user requirements for a new development software project:
- The software application
must store and maintain employee information consisting of the following data
fields: name, employee number, rank, street address, city, state, ZIP code, date
of birth, phone number, office assigned, and the date the employee data was
last maintained.
- The software application
must provide a means to add new employees, update employee information,
terminate employees, and merge duplicate employee records (in cases where all
fields other than employee number are identical).
- The software application
must provide a scheduled weekly report. Its header includes the Report Period
and provides a retrieved list of all employees (Name and Employee Number) where
information has changed within the previous 7 calendar days (report period).
- The application must
provide a means for the end user to view an employee’s data.
- User security data (user
ID, password) is referenced from the security application for user logon
security validation.
- Complex algorithms are
used to encrypt the employee date of birth so that it cannot be directly read
from the information stored for an employee.
- The software application
must provide sub second response time for data maintenance processes during the
peak business hours between 8 a.m. and 5 p.m.
Eastern USA
Standard Time (GMT – 5).
- The software application
must use programming language(s) that
are compatible
Solution:
Of the preceding list of user
requirements, 1 through 5 represents the functional user requirements, while 6
through 8 are non-functional (quality and technical) requirements. Only
requirements 1 through 5 will be used to determine the functional size of the software.
Step1:
Identify the number of data functions (ILFs & EIFs)
Step 1.1: Identify the count of ILFs
ILFs:
1. Employee data
Total ILF Count (#ILF) = 1
Step 1.2: Identify the count of EIFs
EIFs:
2. Security data
Total EIF Count (#EIF) = 1
Step2:
Indicative Size
(UFP) = 35 × #ILF + 15 × #EIF = 35*1 +
15*1 = 50
Summary:
To summarize Indicative FPA is an extrapolative
approach to size approximation. The strength of this type of count is that one
easily gets a rough estimate of the size of an application in only a very short
time.
Acronyms:
- FPA: Function Point Analysis
- ILF: Internal Logical File
- EIF: External Interface File
- EI: External Input
- EO: External Output
- EQ: External Inquiry
References:
- NESMA (Netherlands Software Metrics Users Association), www.nesma.nl
- Practical Software Project
Estimation: A Toolkit for Estimating Software Development Effort &
Duration. Compiled and edited by Peter R. Hill
- Certified Function Point
Specialist Examination Guide by David Garmus, Janet Russac & Royce Edwards