8/4/2019 FP Estimation
1/45
Function Point Estimation
1. FP : Function Point
2. ILF : Internal Logical File.
3. EIF : External Interface file
4. EI : External Inputs
5. EO : External Outputs
6. EQ : External Enquiries
7. RET : Record Element Type
8. DET : Data Element Type
9. FTR : File Type Reference
8/4/2019 FP Estimation
2/45
10. GSC : General System Characteristic
11. VAF : Value Added Factor12. LOC : Line of code
8/4/2019 FP Estimation
3/45
1.Interna ogica i e ILF : T is contains ogica y re ate ata t at resi es insi e app ication oun ary. T e
application has to maintain data . Example like customer table which will be maintained through a Customer
data entry screen. Note the inside application data is updated and not any external data. But if you are updating
external application table, those tables will not be categorized as ILF.
This contains components which will lie external of application boundary and used for only for reference
purpose. Note : Do not include functionality like updating the external application in this section
EI is basically from which we can maintain the ILF. Accountants definitely should have interface through which
they can maintain (Add, Update, Delete) the customer ILF. The basic judgment factor to come out with EI is from
user screens. Like, a customer maintenance screen which gives us an idea that we have 1 EI and 1 ILF of
customer.
Here data passes from inside application to outside. Example your application generates XML or CSV ( Comma
separated values) Files. These files are then used by some external application to update the external application
tables. So in this scenario the data is passed from your application to a external application. So these types of
function will fall in this category.
When you send data to external application if you are getting some output from external application. Later this
output is updated in the ILF of internal application is also scenarios which will come under EO.
So litmus test for identifying EO's are :-
a) When data crosses boundary and goes and updates external application tables(EIF).
b) In response of you data sent you get some derived data which is updated in the internal application(ILF).
These functions will be mainly reports. They have input criteria. Any type of reports and search screens are right
components for EQ.Note like EI and EQ they do not update any ILF or EIF.They only fetch data for display. So the
litmus test for identifying EQ is any reports or search screens which do not update data in any tables(ILF or
EIF).Example Balance sheet in accounting reports.A subgroup of data element inside a logical file. In our customer ILF, we can have multiple addresses or multiple
phone numbers. So for the customer, we can have 2 RETs, Addresses and Phone numbers.
DET is a non-repetitive field in a ILF. Please note, I have said that field should not repeat in counting again. Every
customer ILF can have Customer Code. So the customer code becomes a DET. Every invoice can have customer
code saying whom this invoice belongs to. But once the customer code has been counted, do not count
customer code twice as two different DETs. But in practical scenarios, when doing function point of huge
projects, there is possibility that you can count DET twice, make a second iteration just for removing the
duplicate DETs.
An FTR is a file referenced by transaction. An FTR must also be an internal logical file or external interface file.
8/4/2019 FP Estimation
4/45
This section is the most important section. All the above 3 sections are counting sections. They relate only to
application. But there are other things also to be considered while making a software, like are you going to make
it an N-Tier application, what's the performance level the user is expecting etc. These are external factors which
affect the software a lot and also the cost of it. When you submit a function point to a client, he normally will
skip everything and come to GSC first. GSC gives us something called as VAF (Value Added Factor). There are 14
points considered to come out with VAF (Value Added factor).
1.Data communications: How many communication facilities are there to aid in the transfer or exchange of
information with the application or system?
2.Distributed data processing: How are distributed data and processing functions handled?
3.Performance: Did the user require response time or throughput?
4.Heavily used configuration: How heavily used is the current hardware platform where the application will be
executed?
5.Transaction rate: How frequently are transactions executed; daily, weekly, monthly, etc.?
6.On-Line data entry: What percentage of the information is entered On-Line?
7.End-user efficiency: Was the application designed for end-user efficiency?
8.On-Line update: How many ILFs are updated by On-Line transaction?
9.Complex processing: Does the application have extensive logical or mathematical processing?
10.Reusability: Was the application developed to meet one or many users needs?
11.Installation ease: How difficult is conversion and installation?
12.Operational ease: How effective and/or automated are start-up, back up, and recovery procedures?
13.Multiple sites: Was the application specifically designed, developed, and supported to be installed at multiple
sites for multiple organizations?
14.Facilitate change: Was the application specifically designed, developed, and supported to facilitate change?
All the GSC have ratings from 0 to 5. So, the VAF formulae is something like this:
VAF = 0.65 + ((sum of all GSC factor)/100).
8/4/2019 FP Estimation
5/45
Transaction Section:
Transaction section uses data
section, that is, it maintains
information of ILF and EIF.
Excuse me for the short
acronyms I am using
everywhere, like the ILF and
EIF there's acronym list at top
for everything. All the down 3
components
adds,modifies,deletes,retrieve
s or process information
contained in ILF and EIF so are
termed as Transaction Section.
8/4/2019 FP Estimation
6/45
Less than 2 3 3 4
2 3 4 6
>2 4 6 6
FTR 1 to 5 19-Jun >19
< 2 4 4 5
2 or 3 4 5 7
>3 5 7 7
FTR 1 to 5 19-Jun >19
< 2 3 3 4
2 or 3 3 4 6
>3 4 6 6
RET 1 to 19 20-50
51 or
more
1 RET 7 7 10
2 to 5 7 10 15
>6 10 15 15
RET 1 to 19 20-50
51 or
more
1 RET 5 5 7
2 to 5 5 7 10
>6 7 10 10
Section RETs FTRs DETs
EI 1 1
EO 1 1
Data Elements
EI Rating Table
Data Elements
FTR 1 to 4 15-May >15
EO Rating Table
Data Elements
EQ Rating Table
Data Elements
ILF Rating Table
EIF Rating Table
Data Elements
every transaction which subsection is eligible.If you
8/4/2019 FP Estimation
7/45
EQ 1 1
EIF 1 1
ILF 1 1
Simple Customer Project
Simple Customer Project
This is a simple project requirement where we are supposed only to do the customer form and w
There are 2 ILFs in the above screen:
1. The customer ILF.
2. The Customer Address ILF.
There are no EIFs in the above form.
Description Number of DETNumberof RET
ILF Customer
8/4/2019 FP Estimation
8/45
There are total
10 DETs, all add
and update
buttons, even the
credit check
button, the
address list box,
check box active,all text boxes.
There is only one
RET, the
customer
addresses. Note i
have not included
the credit check
as RET as they
are not Sub-
elements(Childelements of
Customer ILF).
So according to
the above ILF
rankin table
Total function 7
Description Number of DET
Number
of RET
There are total 3
DETs, all the
column names in
the list box, city
name, street
name and pin
For the customer
address ILF there
are no RET.Please
note if this
customer address
screen is any
where else and
they have RET
then make
changes
accordingly.
Total FP 7
Description Number of DET
Number
of RET
10 1
ILF Customer addresses
3 0
EIF Credit card Information
8/4/2019 FP Estimation
9/45
The credit card
information
referenced is
EIF.Note this file
is only referenced
for credit card
check.
There's only one
textbox credit
card number and
hence one DET is
put in the side
column. and RET
0.Looking at the
above rating
table the total FP
is 5.
Total FP 5
Description Number of DET
Number
of FTR
There are total
10 DETs, all add
and update
buttons, even the
credit check
button, the
address list box,
check box active,all text boxes.
There are 2 FTRs,
one is the
address and the
second is the
credit card
Referring ranking
table above
Total Function 4
While counting EI i have seen many people multiplying it by 3.That means we are going to do all
EO Customer
EI Customer
10 2
1 0
8/4/2019 FP Estimation
10/45
No EO for this
screen. As
Customer system
is not sending
any information
to external
system which will
add or update the
external system.
EQ Customer
screen.At this
moment there is
no reports
section
here.Please note
the display of
cutomer
addresses is notcounted as EQ.
So now, let's add the total function point got from above tables :
Section Name
Function Point
Counted
ILF Customer 7
ILF Customer
Address 7
EIF credit card
information 5EI Customer 5
Total
Unadjusted
Function Points 24
So all function point comes to 24.Please note i have said this as Unadjusted function as we have
In order to make it adjusted function point, we have to calculate and tabulate the GSC and com
GSC Value(0-5)
Data
communications 1
Distri ute ata
processing 1
Performance 4
Heavi y use
configuration 0
8/4/2019 FP Estimation
11/45
Transaction rate 1
On-Line ata
entry 0
End-user
efficiency 4
On-Line update 0
Comp exprocessing 0
Reusability 3
Installation ease 4
Operational ease 4
Multiple sites 0
Facilitate change 0
Total 22
So using formulae:
ollapse | Copy Code
VAF = 0.65 + ((sum of all GSC factor)/100). = 0.65 + (22/100) = 0.87.
This factor affects the whole FP like anything, be very particular with this factor. So now, calcula
adjusted FP = VAF * Total unadjusted
FP = 0.87 * 24 = 20.88 = rounded to 21 FP.
Now we know that the complete FP for the customer GUI is 21 FP. Now calculating the efficiency
8/4/2019 FP Estimation
12/45
8/4/2019 FP Estimation
13/45
ith address details of it. Following is the screen.
8/4/2019 FP Estimation
14/45
8/4/2019 FP Estimation
15/45
l CRUD functionality(ADD,UPDATE,DELETE).This is not fair as it just shows laziness of the Co
8/4/2019 FP Estimation
16/45
not accounted other variance factor of project (Programmers leaving job, Language we will
out with the VAF.
8/4/2019 FP Estimation
17/45
ting the
factor, we say that we will complete 3 FP per day, that is 7 working days. So, the whole cus
8/4/2019 FP Estimation
18/45
8/4/2019 FP Estimation
19/45
8/4/2019 FP Estimation
20/45
8/4/2019 FP Estimation
21/45
st estimation team. Here the customer screen has add and update. I can say the 2 * 4 that'
8/4/2019 FP Estimation
22/45
use, What architecture etc etc).
8/4/2019 FP Estimation
23/45
tomer GUI is of 7 working days (Note do not consider Saturday and Sundays in this). I kno
8/4/2019 FP Estimation
24/45
8/4/2019 FP Estimation
25/45
8/4/2019 FP Estimation
26/45
8/4/2019 FP Estimation
27/45
= 8 FP for this EI customer. But i adjust this factor in my buffer. If you start multiplying fo
8/4/2019 FP Estimation
28/45
8/4/2019 FP Estimation
29/45
upper manager people will say make it 7 FP per day and over load the programmer. Thats
8/4/2019 FP Estimation
30/45
8/4/2019 FP Estimation
31/45
8/4/2019 FP Estimation
32/45
8/4/2019 FP Estimation
33/45
r every master screen like this it will be not fair for the customer. So make a genuine count
8/4/2019 FP Estimation
34/45
8/4/2019 FP Estimation
35/45
hy programmer works at night.
8/4/2019 FP Estimation
36/45
8/4/2019 FP Estimation
37/45
8/4/2019 FP Estimation
38/45
8/4/2019 FP Estimation
39/45
t the first half and later in buffer add the extra FPs.So over here i count this as 1 EI and not
8/4/2019 FP Estimation
40/45
8/4/2019 FP Estimation
41/45
8/4/2019 FP Estimation
42/45
8/4/2019 FP Estimation
43/45
8/4/2019 FP Estimation
44/45
8/4/2019 FP Estimation
45/45
multiply by any factor.