# Function Point

As a Software Engineer, one of the major difficult questions faced by the client or management is What is the cost and time for the software development? It’s difficult to weigh the real value or worth of software. One of the best ways to estimate the software development cost and time is based on previous software development experience.

To measure the standard worth of the software, as a unit of software worth, Function Point was developed. Functional Point was first defined by Allan Albrecht of IBM in 1977.

## Function Point

1. It measures functionality from the user’s point of view.
2. What the user receives from Software and what the user requests from Software.
3. Focuses on what functionality is being delivered.

A Functional Point is a unit of measurement to express the amount of business functionality an information system provides to a user. – Source: Wikipedia

GA

## 5 Types of Functional Units

1. Internal Logic Files (ILF) – The control info or logically related data that is present within the system.
2. External Interface Files (EIF) – The control data or other logical data i.e. referenced by the system but present in another system.
3. External Inputs (EI) – Data/control info that comes from outside our system
4. External Outputs (EO) – data that goes out of the system after generation
5. External Enquired (EQ) – Combination of i/o – o/p resulting in data retrieval

GA

Step 1: Each Function point is ranked according to complexity. There exist per-defined weights for each F.P in each category.

Step 2: Calculate the Unadjusted Function Point by multiplying each F.P. by its corresponding weight factor.

UFP = Sum of all the Complexities of all the EI’s, EO’s EQ’s, ILF’s and EIF’s

Step 3: Calculate Final Function Points

Final F.P = UFP X CAF

“Total Degree of Influence of the 14 General System Characteristics”

Complexity Adjustment Factor is calculated using 14 aspects of processing complexity. 14 questions answered on a scale of 0 – 5

0 – No Influences

1 – Incidental

2 – Moderate

3 – Average

4 – Significant

5 – Essential

## 14 aspects of processing complexity questions are as follows:

1. Data Communication
2. Distributed Data Processing
3. Performance
4. Heavily Used Configuration
5. Transaction Role
6. Online Data Entry
7. End-User Efficiency
8. Online Update
9. Complex Processing
10. Reusability
11. Installation Ease
12. Operational Ease
13. Multiple Sites
14. Facilitate Change
0 replies