Function Points What is Function Point Analysis? Approach to - - PowerPoint PPT Presentation
Function Points What is Function Point Analysis? Approach to - - PowerPoint PPT Presentation
Function Points What is Function Point Analysis? Approach to estimating SW size, which is independent of language development methodology technology capability of the project team hardness of the problem
What is Function Point Analysis?
- Approach to estimating SW size, which is
independent of
– language – development methodology – technology – capability of the project team – hardness of the problem
- User-centric approach--in terms of screens,
reports, etc., produced.
Basic Transaction Types
- External inputs—data that is entering the system
(logical transaction inputs, system feeds)
- External outputs and external inquiries—data that
is leaving the system (online displays, reports, feeds to other systems)
- Internal logical files—data that is manufactured
and stored within the system (logical groups of user defined data)
- External interface files—data maintained outside
the system but necessary to satisfy a particular process requirement (interfaces to other systems.
Functional Characteristics of a Software System
User User External system User User Plant Molds Parts Bill of Materials Internal logical files Plant Information Center External Interface File External Output List of Molds Work Centers Parts listing Order parts Pricing External Inquiries External Inputs Change Bill of Materials
Internal Logical Files
User-identifiable group of logically related data or control information maintained within the boundary of the application. Some Examples
- Application transaction data such as employee training
records, payroll records, product sales, etc.
- Application security or password data maintained
within the application.
- Help data maintained within the application.
- Error files and their descriptions maintained within the
application.
External Interface Files
User-identifiable group of logically related data or control information referenced by the application but maintained within the boundary of a different application. Some Examples
- Application data extracted and read from other
applications.
- Application security or password data maintained
- utside the application.
- Help data maintained outside the application.
- Error files and their descriptions maintained outside the
application.
External Inputs
An elementary process of the application that processes data (maintains one or more ILF) or control information which enters from outside the boundary of the application Some Examples
- Transactional data that used to maintain an ILF, such as
a sale item or an insurance form.
- Input that provides control information, such as an
earthquake sensor report.
- Messages from other applications that require
processing.
External Outputs
An elementary process of the application that generates data
- r control information which exits the boundary of the
- application. Further, the processing logic of the elementary
process of an EO must perform one of the following:
- Contain at least one mathematical formula or
calculation.
- Create derived data.
- Maintain at least one ILF.
- Alter the behavior of the application.
Some examples of External Outputs
- Reports that require the use of algorithms or calculations.
- Data transfers, files, and/or messages sent to other
applications when data is calculated or derived.
- A check that, when created, simultaneously updates the
check record with the check number.
- Derived or calculated information displayed on a screen or
passed in a file.
- Calculated responses returned by telephone.
- Notification that a credit card is missing, with the calculated
totals of current charges.
External Inquiries
An elementary process of the application that results in retrieval
- f data or control information which exits the boundary of the
- application. Further, the processing logic of the elementary
process of an EO must satisfy all of the following:
- Contain no mathematical formula or calculation.
- Creates no derived data.
- Maintains no ILF.
- Does no alter the behavior of the application.
Some Examples of External Inquiries
- Transactional data that is retrieved from one or
more ILFs and/or EIFs and displayed, e.g., an appointment, payment data.
- User functions such as view, lookup, display, etc.
- Log-on screens that provide application specific
security.
- Retrieval of mail from mailbox.
Function Point Weights
File Type Low Medium High External inputs 3 4 6 External outputs 4 5 7 External inquiries 3 4 6 External interfaces 5 7 10 Internal interfaces 7 10 15
Computing UFC
- Based on a set of requirements.
- Enumerate the number of each of five types of
behaviors or transactions.
- Determine the weight of each such behavior
by estimating for each such behavior whether it is low, medium, or high.
- Adding the weighted values gives UFC.
Questions about Computing UFC
- How is complexity of transaction
determined?
– IFPUG makes this determination in terms of record types and data types, or file types, accessed.
- How are requirements mapped onto the
categories of external and internal behaviors?
Sample Requirements
- The requirements state that the user needs
– to add an order – to initiate a change request to an order – to check the status of an order
- Additionally, a regional report will be
generated
- And, an order notification report will be
distributed.
Context Diagram for the Sample Requirements
User User Order File Internal logical file Purchase Order Function Check order status Add order External inputs External Inquiries Initiate change req. User Order notification User External Output User Regional request
Unadjusted Function Count
Function Type Value
Check order status
EQ 3
Add order
EI 3
Initiate change request
EI 3
Order notification
EO 4
Regional report
EO 4
Order file
ILF 7 Total UFC 24
FP Value Adjustment Factors
Data Communications Ease of change
- Dist. Functions
Online update Performance Complex processing Heavily used operational config.s Reusability of system code Transaction rate Installation ease Online data entry Operational ease Design for end-user efficiency Multiple sites
Each adjustment factor scored from 0 to 5
Computing Function Points
∑ =
+ =
14 1
01 . 65 .
i i
F TCF
FP = UFC * TCF
Lines of code can be computed from number of FP
FP to LOC Conversion
Language FI Assembly 320 C 150 Fortran/COBOL 105 ADA 71 Prolog/Lisp 64 Spreadsheet 6
Computing Effort using FP
Productivity can be computed for past projects thus: productivity = size/effort Effort can be computed for new projects using productivity rate thus: effort = size/productivity
- r
Effort = constant1 + size x constant2