On this page:
The use of Function Points for measuring software functional size was initially introduced in the mid-1970s and is used today by organizations worldwide. Allan Albrecht (IBM) was the first person to publicly release a method for functionally sizing software. This method was called Function Point Analysis (Albrecht, 1979, 1981). Since its formation in 1986 the International Function Point Users Group (IFPUG) has continuously maintained and enhanced Albrecht's original method.
Function Point is now a normalized metric that can be used consistently with an acceptable degree of accuracy. The value is centered on the ability to measure the size of any software in terms of functionalities provided to end-users. Function Point counting is qualified as "technology agnostic" in that it does not depend on the technologies or programming languages.
Function Point Counting method evaluates a software deliverable and measures its size based on its functional characteristics. It takes in to consideration the following constituents of an application:
Along with selected other measures, Function Points can be used by organizations for different purposes:
|Function Point is a unit of measurement related to the functional size of software applications like meters and inches are about to measure distance, degrees to measure temperature... |
There are several basic usages and characteristics: it measures the amount of functionalities in a software application, where the larger the number of function points, the more functionalities are implemented in the application. Function points are also used to size business requirements.
All systems have input, output, and storage components. These components are always considered in the estimation of the number Function Points in a system. An application will be composed of some interwoven elementary processes, many of which do not make sense until they are woven together. All these elementary processes make up the entire software application, even when they are not built by the same person. Therefore, a software application can be defined as an interwoven defined set of elementary processes, where the processes are woven together becoming interdependent and forming what is called a software application.
In Function Points we are looking for data that is at rest. Some elements will be viewed as persistent such as storage elements like customer and student enrollment data files. Other elements will be view as data in motion via some transaction like: Add customer, Inquire on an employee, or Print check…
There are three frequent scenarios in using Function Points: measuring software size in order to estimate effort and cost, normalizing other measures, and benchmarking to help decision-making.
Function Point is a unit of measurement that can be used on the following use cases:
CAST AIP uses OMG compliant Automated Function Point counting technology as the basis for its measurements. In addition, CAST AIP uses two methods to count Enhancement Function Points:
You can find out more information about these methods in the following documentation:
CAST OMG-compliant Automated Function Points