Function Analysis/FP

Function Analysis/FP
 
Report:  Functional Analysis
Option:  -f [parameter]
Option Parameters:  
-fa   Functional analysis of LOC metrics
-fd   Detailed Cyclomatic complexity metrics (reference -c and -fa)
-fm  Class Methods and Attributes annotated for class definitions
-fp   Function points derives from the FP/LOC factors, per language, loaded from rsm.cfg
Compatible Options: RSM Option Cross Reference

Usage:
rsm -H -O"report.htm" -fa -fp *.h *.cpp
rsm -H -O"report.htm" -fa -c -fd *.cpp
rsm -H -O"report.htm" -fm -o *.h  
rsm -H -O"report.htm" -fa -fp *.java 

Source:  C, C++, C# and Java

The -fa option replaces the -f option from version 6.20 forward. This option creates a functional analysis report that displays each function name and the LOC metrics.  Function metrics are reported for each file and project.  This option is usually used with -c complexity, -o object classes and -n quality analysis.  The user may combined these options to form various types of reports.

Version 6.20 of RSM introduces the -fp option that derives equivalent function points (FP) from the actual measured source code. Actual Function points are determined from the software requirements through an elaborate analysis and calculation. This calculation has many "factors" for subjective traits of the development program. Function point information can be acquired at www.ifpug.org. The major draw back to FP analysis is that it is very labor intensive to derive FP from requirements and FP can not be measured from the source code or the actual product produced.

RSM provides the capability to derive FP from the measured metric of LOC. Software Engineering experts have come up with factors that convert Lines of Code to Function Points. In this manner actual measurable metrics can be used to derive function points. These metrics can then be used to cross check you original FP analysis and hopefully allow you to refine the factors used in Function Point Analysis.

The following are links to several LOC to FP Conversion factors. The RSM configuration file sets LOC, eLOC and lLOC conversion factors by language. RSM uses by default to the Caper Jones values. You may choose to modify these parameters to meet your specific requirements.

Source C LOC/FP C++ LOC/FP Java LOC/FP
Applied Software Measurement, Caper Jones, McGraw Hill, 1996 128 53 53
QSM: http://www.qsm.com/FPGearing.html 162 66 62

The following lines are extracted from the RSM configuration file. The default LOC/FP factors for the header files have been set to 0 to account for these file types as pure specifications. The user may choose to make these factors equivalent to the appropriate language factors.

Header File Function Points per LOC : 0
Header File Function Points per eLOC: 0
Header File Function Points per lLOC: 0
C File Function Points per LOC      : 128
C File Function Points per eLOC     : 128
C File Function Points per lLOC     : 128
C++ File Function Points per LOC    : 53
C++ File Function Points per eLOC   : 53
C++ File Function Points per lLOC   : 53
Java File Function Points per LOC   : 53
Java File Function Points per eLOC  : 53
Java File Function Points per lLOC  : 53
Other File Function Points per LOC  : 0
Other File Function Points per eLOC : 0
Other File Function Points per lLOC : 0