Wikipedia defines “Estimation is the calculated approximation of a result which is usable even if input data may be incomplete or uncertain.”
An estimation method is a set of process, supported by appropriate empirical formulae and backed with historical reference data, that help derive predictable results within a decent level of accuracy. Some of the key characteristics of good estimation method are
• Should be easy to understood and deploy
• Allow modularization of the software application components
• Provide predictable results with accuracy within reasonable limits
• Be comparable across a variety of software projects
• Provide conversion of the outputs to other project execution parameters such as schedule, cost, progress etc.
A function point is a unit of measure for arriving at software application size. It measures the functionality. Functionality is the process by which information about an entity is fetched, stored or exported
The FPA model facilitates the measurement of software application size. The output of this method is function points. A function point is defined as a unit of business functionality delivered through the software.
The FPA model is based on the premise that any software application can be sized based on five key parameters: Input, output, inquiries, internal files and external interfaces.
1. Inputs: For any software application to exists, it is essential that programmers provide the means through which business information can be stored in the files. Moving data from an external source into the application files and updating and maintaining the data are all included under the input attributes. All the CRUD (Create, Read, Update and Delete) operations are classified under the input attribute.
2. Outputs: Business information processed through the software application could be output in various forms. The outputs could be printed, stored on other media or even displayed on the monitor itself
3. Inquiries: The output of inquiry is quite similar to that of outputs discussed previously but the output generated here are in their original form. Business information is not processed; rather it is just or rearranged based on user request.
4. Internal Files: All the data that are owned and maintained within the application are stored in files known as internal files. These files belong to the application and any modification to the data contents is the responsibility of the application owner.
5. Interfaces: a software application that enables users to make business transitions with the software normally interact with other applications, either within or external to the organization. Interfacing with other application is a key attribute that contributes to the size of the application being measured.
The General system characteristics (GSC) are another set of 14 attributes that define the overall complexity of the software application being sized. These 14 GSC help the estimator define certain performance and operational aspects of the application.