CMSC 645, Section 6060, Advanced Software Engineering, Summer 2002
Home

Function Point Overview

Determine the number of components (EI, EO, EQ, ILF, and ELF)

  1. EI - The number of external inputs. These are elementary processes in which derived data passes across the boundary from outside to inside.

  2. EO - The number of external output. These are elementary processes in which derived data passes across the boundary from inside to outside. 

  3. EQ - The number of external queries. These are elementary processes with both input and output components that result in data retrieval from one or more internal logical files and external interface files. 

  4. ILF - The number of internal log files. These are user identifiable groups of logically related data that resides entirely within the applications boundary that are maintained through external inputs.

  5. ELF - The number of external log files. These are user identifiable groups of logically related data that are used for reference purposes only, and which reside entirely outside the system .

Compute the Unadjusted Function Point Count (UFC)

  1. Rate each component as low, average, or high.

  2. For transactions (EI, EO, and EQ), the rating is based on the FTR and DET.

    1. FTR - The number of files updated or referenced.
    2. DET - The number of user-recognizable fields.
    3. Based on the table below, an EI that references 2 files and 10 data elements would be ranked as average.

       

    FTR's

    DET's

    1 - 5 6 - 15 > 15
    0 - 1 Low Low Average
    2 - 3 Low Average High
    > 3 Average High High


  3. For files (ILF and ELF), the rating is based on the RET and DET.

    1. RET - The number of user-recognizable data elements in an ILF or ELF.
    2. DET - The number of user-recognizable fields.
    3. Based on the table below, an ILF that contains 10 data elements and 5 fields would be ranked as high.

       

    RET's

    DET's

    1 - 5 6 - 15 > 15
    1 Low Low Average
    2 - 5 Low Average High
    > 5 Average High High

     

  4. Convert ratings into UFC's.
Rating Values
EO EQ EI ILF ELF
Low 4 3 3 7 5
Average 5 4 4 10 7
High 6 5 6 15 10

Compute the Final Function Point Count (FPC)

  1. Compute value adjustment factor (VAF) based on 14 general system characteristics (GSC).

    General System Characteristic

    Brief Description

    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 Transaction rate How frequently are transactions executed daily, weekly, monthly, etc.?
    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?
    GSC 10 Reusability Was the application developed to meet one or many user’s needs?
    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 to facilitate change?

     

  2. Weight each GSC on a scale of 0 to 5 based on whether it has no influence to strong influence.

  3. Compute the FPC as follows.

    FPC = UFC * (0.65 + (sum(GSC) * .01))

Convert FPC to lines of source code (SLOC)

Language SLOC per Function Point
1GL Default Language 320
2GL Default Language 107
3GL Default Language 80
4GL Default Language 20
Assembler 320
C 128
Basic 107
Cobol 107
C++ 53
Java 2 46
Visual Basic 6 24
Delphi 18
HTML 4 14
SQL 13