Thursday, December 13, 2007

Function Point Analysis.

I have been trying to learn the art of measuring the complexity of a software using FP analysis.



Finally i am just putting together few points which can help others too.




  • Functional Point Analysis :

    This is a structured technique of classifying the components of the system.
    Typically used in measuring the complexity of the system.

    Step 1 :

    Divide the system in to 5 different classes.
    Transactions :
    External input (EI)
    External Output (EO)
    External Inquires (EQ)
    Logical Information
    External interface (EIF)
    Internal Logic (ILF)

    Step 2:
    After classifying the components into these 5 categories, we have to rank these components as High / low/ medium.
    For Transactions , use the Number or Files updated/referenced and DETs as a criteria to rank.
    For EIF and ILF use Record Element type and DET as a criteria to rank.

    Once you done with the ranking, we can then assign a rating for each of the measures like shown in the 3rd diagram.



    Step 3:
    Calculate the Unadjusted Function points:






    Step 4:
    Calculate the Value adjusted Functions point :


    This is calculated by giving a ranking for 1 to 5 for each of the following general system characteristics

    Data communication
    Distributed functions
    Performance objectives
    Heavily used configuration
    Transaction rate
    On-line data entry
    End-user efficiency
    On-line update
    Complex processing
    Reusability
    Installation ease
    Operational ease
    Multiple sites
    Facilitate change
    VAF = 0.65 + ( sum of 14 characteristics ) / 100
    Step 5
    The final Function Point Count is obtained by multiplying the VAF times the Unadjusted Function Point (UAF).
    FP = UAF * VAF
    Some more advantages :

    Can be used to track and manage scope creep.
    Can be used irrespective of technology
    Can be used to compare tool, language productive


0 comments: