IFPUG (International Function Point Users Group) is a Function Point Analysis methodology that calculates effort for software development projects based on functional requirements of the software.
The general formula to calculate the amount of function points is with IFPUG is:
#count = #external-inputs
+ #external-outputs
+ #internal-logical-files
+ #external-interface-files
#FP = #count * complexity-adjustment-factor
Example
It’s.. complicated. See here (archived).