Software Engineering | Calculation of Function Point (FP)

Function Point (FP) is an element of software development which helps to approximate the cost of development early in the process. It may measures functionality from user’s point of view.

Counting Function Point (FP):

  • Step-1:
    F = 14 * scale

    Scale varies from 0 to 5 according to character of Complexity Adjustment Factor (CAF). Below table shows scale:

    0 - No Influence
    1 - Incidental
    2 - Moderate
    3 - Average
    4 - Significant
    5 - Essential 
  • Step-2: Calculate Complexity Adjustment Factor (CAF).
    CAF = 0.65 + ( 0.01 * F )
  • Step-3: Calculate Unadjusted Function Point (UFP).


    TABLE (Required)

    Function Units Low Avg High
    EI 3 4 6
    EO 4 5 7
    EQ 3 4 6
    ILF 7 10 15
    EIF 5 7 10

    Multiply each individual function point to corresponding values in TABLE.

  • Step-4: Calculate Function Point.
    FP = UFP * CAF

Example:
Given the following values, compute function point when all complexity adjustment factor (CAF) and weighting factors are average.

User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4 

Explanation:

  • Step-1: As complexity adjustment factor is average (given in question), hence,
    scale = 3.
    F = 14 * 3 = 42 
  • Step-2:
    CAF = 0.65 + ( 0.01 * 42 ) = 1.07 
  • Step-3: As weighting factors are also average (given in question) hence we will multiply each individual function point to corresponding values in TABLE.
    UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628 
  • Step-4:
    Function Point = 628 * 1.07 = 671.96 

    This is the required answer.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.