Presentation Template

Download Report

Transcript Presentation Template

Estimation
Function Point Analysis
December 5, 2006
1
Agenda
FPA Overview
FPA Detail
How to Count Function Points?
When to Use Function Points?
Quick Recap
2
FPA Overview
What are Function Points?
A standard metric for the relative size and complexity of a
software system.
developed by Alan Albrecht of {IBM} in the late 1970s.
Functon points (FPs) can be used to estimate the relative
size and complexity of software in the early stages of
development - analysis and design.
The size is determined by identifying the components of the
system as seen by the end-user: the inputs, outputs, inquiries,
interfaces to other systems, and logical internal files.
The components are classified as simple, average, or
complex. All of these values are then scored and the total is
expressed in Unadjusted FPs (UFPs).
Complexity factors described by 14 general systems
3
FPA DETAIL
Types of Function Points
Transaction Function Points
 External Inputs
 External outputs
 External Inquiries
Data Function Points
 Internal Logical Files
 External Interface Files
4
Transaction Function Points
External Inputs
EI - Information that comes from outside the application to
inside the application boundary.
External outputs
EO - Information that crosses the boundary from inside to
outside the application boundary that contains derived
information or updates an internal logical file.
External Inquiries
EQ - Information that crosses the boundary from inside to
outside the application boundary that does not contain
derived information or does not update an internal logical
file.
5
Transaction Function Points Continued…
Transaction Function Point count is based on DET’s and FTR’s
DET – Data Element Types
The number of user-recognizable fields.
FTR – File Type Referenced
The number of files updated or referenced.
6
Data Function Points
Internal Logical Files
ILF - a user identifiable group of logically related data that
resides entirely within the applications boundary and is
maintained through external inputs.
External Interface Files
EIF - a user identifiable group of logically related data that
is used for reference purposes only.
7
Data Function Points Continued…
Data Function Count is based on DET’s and RET’s
DET – Data Element Types
The number of user-recognizable fields.
RET – Record Element Types
The number of user-recognizable data elements in an ILF
or EIF.
8
Rating External Inputs
External Inputs (EI) - is an elementary process in which data
crosses the boundary from outside to inside. This data may
come from a data input screen, electronically or another
application. The data can be either control information or
business information. If the data is business information it is
used to maintain one or more internal logical files. If the data is
control information it does not have to update an internal
logical file.
Rating of External Inputs is based on the number FTR’s and
DET’s and is rated as low, average and high as shown in the
table below.
9
Rating External Outputs/External Inquiries
External Outputs (EO) - an elementary process in
which derived data passes across the boundary from
inside to outside. The data creates reports or output
files sent to other applications. These reports and files
are created from one or more internal logical files and
external interface file.
External Inquiry (EQ) - is an elementary process with
both input and output components that result in data
retrieval from oneEOorand
more
internal logical files and
EQ Table
external interface files. This information is sent outside
the application boundary. The input process does not
update any Internal Logical Files and the output side
does not contain derived data.
10
Function Count Values for transactions
An EQ is rated (Low, Average or High) like an EO, but
assigned a value like an EI.
11
External Input example
This external input would be rated as a low external
input and valued at 3 unadjusted function points.
This example demonstrates an external input with 15
data elements (DET's) that creates data on one internal
logical file (ILF).
12
External Output Example
The following EO has 3 data elements (DET's) and
references 4 FTR's (file types referenced) and would be
rated as an Average and valued at 5 unadjusted function
points.
The Amount data element is a calculated value (derived
data) and you would not be find it on any FTR. The
description and due date data element (or fields) could be
found on FTR's. What makes this an EO is the calculated
values.
13
External Inquiry Example
The following EQ has 4 data elements (DET's) and
references 1 FTR (file types referenced) and would be
rated as a Low and valued at 3 unadjusted function
points.
The Soc. Sec # is a data element that has been read
from an employee file (ILF). The name is three data
elements in this case, first name, middle initial and last
name. All three DET's are needed to distinguish
between employees and the SSI# is needed. So there
are four data elements on this EQ and it gets all
information from one FTR (ILF). Again, this EQ
would be rated as a low and valued at 3 unadjusted
function points.
14
Rating Data Functions
Internal Logical Files (ILF) - a user identifiable group
of logically related data that resides entirely within the
applications boundary and is maintained through
External Inputs.
External Interface Files (EIF) - a user identifiable
group of logically related data that is used for reference
purposes only. The data resides entirely outside the
application and is maintained by another application.
The External Interface File is an Internal Logical File
for another application.
both ILF’s and EIF’s the number of record element
types and the number of data elements types are used
to determine a ranking of low, average or high.
15
Function Count Values for Data Functions
16
External Interface Example
This example combines an EQ with an EIF. The EQ
contains three (3) DET's {Zip Code, City and State}
and references one FTR (Zip Code EIF). The Zip
Code information is maintained by another
application. Keep in mind, that an FTR must be either
an EIF or ILF.
From the perspective of the application being counted,
the EIF contains three data elements {zip code, city
and state}. In actuality, the file may contain more than
three data elements but we only consider the logical
view from the application being counted.
17
EIF Example …
To summarize, this example has on EIF rated low and
one EQ rated low. This is only a snapshot of the detail
address information. Of course, there would be
additionally transactions and files to complete this
process.
Assumptions -- Beyond this example and it general, it
is safe to say that every EIF must have at least one
transaction against it. That is at least one transaction
(EI, EO and EQ) should reference the EIF.
18
Counting Unadjusted Function Points
Following Table gives us the UFP
19
General System Characteristics
GSC 1
Data communications
 How many communication facilities are there to aid in the transfer or
exchange of information with the application or system?
GSC 2
Distributed data processing
 How are distributed data and processing functions handled?
GSC 3
Performance
 Was response time or throughput required by the user?
GSC 4
Heavily used configuration
 How heavily used is the current hardware platform where the
application will be executed?
GSC 5
20
General System Characteristics Continued…
GSC 6
On-Line data entry
 What percentage of the information is entered On-Line?
GSC 7
End-user efficiency
 Was the application designed for end-user efficiency?
GSC 8
On-Line update
 How many ILF’s are updated by On-Line transaction?
GSC 9
Complex processing
 Does the application have extensive logical or mathematical
processing?
21
General System Characteristics Continued…
GSC 11
Installation ease
 How difficult is conversion and installation?
GSC 12
Operational ease
 How effective and/or automated are start-up, back-up, and recovery
procedures?
GSC 13
Multiple sites
 Was the application specifically designed, developed, and supported
to be installed at multiple sites for multiple organizations?
GSC 14
Facilitate change
 Was the application specifically designed, developed, and supported
22
Adjusted Function Points
FP=VAF*UFP
Where UFP=Unadjusted Function Points
VAF = Value Adjustment Factor based on the Value of 14
general system characterstics
FP = Adjusted Function Points
VAF = 0.65 + (sum(GSC) * .01)
23
Using Function Points to Estimate Test Cases
There is a strong relationship between the number of
defects and the number of test cases and number of
function points.
The number of acceptance test cases can be estimated
by multiplying the number of function points by
1.2. Like function points, acceptance test cases should
be independent of technology and implementation
techniques.
Total number of test cases will approximately equal the
number of Function Points raised to the 1.2 power
(FP1.2).
Total Number of Test Cases = (FP)1.2
number of acceptance test cases = 1.2xFP
Estimating Defects
24
Defect Removal Efficiency
25
References
http://www.softwaremetrics.com/freemanual.htm
http://www.ifpug.org/
http://www.qpmg.com/fp-intro.htm
http://www.sei.cmu.edu/str/descriptions/fpa_body.ht
ml
26