Function Point Analysis

Download Report

Transcript Function Point Analysis

Function Point Analysis
example
Function point
• FP is defined as one end-user business
function
• FPA evaluates the system from a user
perspective
Function point
• 5 groups of FP
– Outputs
– Inquiries
– Inputs
– Files
– interfaces
FP 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
Outputs
• Outputs are items of business info that is
processed by the computer
– E.g., a report printed or otherwise
Output 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.
Inquiries
• 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.
Inquiries 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.
Inputs
• 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.
Files
• 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.
Interfaces
• 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.
Interfaces 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.
Function point
• Each business function is classified and
weighted by its level of complexity being
– Simple (low)
– Average (med)
– Complex (high)
TABLES
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)
TABLES
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)
TABLES
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)
Calculation
• See pg 62- 65 for formulas