Title: Function Point Analysis
1Function Point Analysis
2Function point
- FP is defined as one end-user business function
- FPA evaluates the system from a user perspective
3Function point
- 5 groups of FP
- Outputs
- Inquiries
- Inputs
- Files
- interfaces
4FP Calculations
- There is no universally acceptable standard to
calculate FP. Therefore, different groups, or
companies have their approach to making the
calculation. - Some approaches are more straight forward than
others. - The most important things to remember are
- to choose an approach and use it consistently.
- Collect data (estimate and actual) on all
projects with the intent of improving project
estimates - We will use a simple approach to make the
calculations
5Outputs
- Outputs are items of business info that is
processed by the computer - E.g., a report printed or otherwise
6Output Examples
- Transaction flies send to another application
- Customer invoices
- Accounts payable checks
- Punch cards
- User screen message
- Tape transaction
- Backup file
- Floppy disk transactions
- Etc.
7Inquiries
- Inquiries are when you ask a question that
requires the use of a database, and these
conditions are true - solicit an immediate response,
- use simple keys, and
- perform no update function
- E.g., looking up a customer info
- E.g., Requesting info on a customer account
- Inquiries have an input part and an output part.
Consider each separately.
8Inquiries example
- Suppose I want to find out about AA flight 73,
this is an inquiry because it is a simple key,
response immediate, and no update takes place. - If we wanted to find out about all flights
leaving Chicago between 9-11 am for New York,
this would not be an inquiry because the key is
no longer simple even though the other two
conditions are true.
9Inputs
- Inputs are unique if
- It has a different format, or
- It has the same format as another input but
requires different processing logic - Suppose we had two input screens, each with the
same format but different processing logic. We
count each screen as a separate input. - If the same two screens had identical processing
logic, only one would be counted as an input. - Suppose we have a screen whose function is to
update a file. Since each of the three update
functions (delete, change, add) requires
different processing logic, we would have three
update functions, not just one.
10Files
- Only stores that hold permanent data are
considered logical files. - Each logical view is considered a separate file.
- E.g., suppose we have a master customer file. One
door (i.e., key) to the file is the cust and
another door is the customer name. In this
situation, we have two logical files. - Also each logical user view into a database is
considered a separate file. - Suppose a database employs 5 different logical
views for 26 users. We would count 5 logical
files.
11Interfaces
- Interfaces are data, files, or control
information within the application boundary that
is sent to, shared with, or received from another
application. - Files shared between applications are counted as
both files and interfaces within each application
if they are used in both. Otherwise, file credit
is given only to the application using,
maintaining or doing the work on the file. The
other application would receive no file credit
but will receive interface credit.
12Interfaces Example
- Data or control info is passed from file A to
file B. A receives credit for file and interface.
B receives interface credit only. - Data or control info is passed from file B to
file A. B receives credit for file and interface.
A receives interface credit only. - Data or control info is shared between file A and
file B. A and B would each receive both file and
interface credit.
13Function point
- Each business function is classified and weighted
by its level of complexity being - Simple (low)
- Average (med)
- Complex (high)
14TABLES
INPUTS 1-4 FIELDS 5-15 FIELDS 16 FIELDS
0-1 FILES SIMPLE (3) SIMPLE (3) AVG (4)
2 FILES SIMPLE (3) AVG (4) COMPLEX (6)
3 FILES AVG (4) COMPLEX (6) COMPLEX (6)
INQUIRIES OUTPUT PART 1-5 FIELDS 6-19 FIELDS 20 FIELDS
0-1 FILES SIMPLE (4) SIMPLE (4) AVG (5)
2 FILES SIMPLE (4) AVG (5) COMPLEX (7)
3 FILES AVG (5) COMPLEX (7) COMPLEX (7)
15TABLES
INQUIRIES INPUT PART 1-5 FIELDS 5-15 FIELDS 16 FIELDS
0-1 FILES SIMPLE (3) SIMPLE (3) AVG (4)
2 FILES SIMPLE (3) AVG (4) COMPLEX (6)
3 FILES AVG (4) COMPLEX (6) COMPLEX (6)
OUTPUTS 1-5 FIELDS 6-19 FIELDS 20 FIELDS
0-1 FILES SIMPLE (4) SIMPLE (4) AVG (5)
2-3FILES SIMPLE (4) AVG (5) COMPLEX (7)
4 FILES AVG (5) COMPLEX (7) COMPLEX (7)
16TABLES
FILES 1-19 FIELDS 20-50 FIELDS 51 FIELDS
1 FILES SIMPLE (7) SIMPLE (7) AVG (10)
2 FILES SIMPLE (7) AVG (10) COMPLEX (15)
3 FILES AVG (10) COMPLEX (15) COMPLEX (15)
INTERFACES 1-19 FIELDS 20-50 FIELDS 51 FIELDS
1 FILES SIMPLE (5) SIMPLE (5) AVG (7)
2 FILES SIMPLE (5) AVG (7) COMPLEX (10)
3 FILES AVG (7) COMPLEX (10) COMPLEX (10)
17Calculation
- See pg 62- 65 for formulas