As a Software Engineer, one of the major difficult questions face from the client or management is What the cost and time for the software development?. Its difficult to weigh the real values or worth of software. One of the best ways to estimate the software development cost and time is based on the 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 Albercht of IBM in 1977.
Study another type of Software Estimation: COCOMO MODEL
- It measures functionality from users point of view.
- What the user receives from Software and what the user requests from Software.
- 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
5 Type of Functional Units
- Internal Logic Files (ILF) – The control info or logically related data that is present within the system.
- External Interface Files (EIF) – The control data or other logical data i.e referenced by the system but present in another system.
- External Inputs (EI) – Data / control info that comes from outside our system
- External Outputs (EO) – data that goes out of the system after generation
- External Enquired (EQ) – Combination of i/o – o/p resulting data retrieval
How to Calculate Functional Points?
Final F.P = UFP X CAF
UFP = Unadjusted Function Point
CAF = Complexity Adjustment Factor
Step 1: Each Function point is ranked according to complexity. There exist per-defined weights for each F.P in each category.
|Functional Unit||Wighting Factors|
|External Inputs (EI)||3||4||6|
|External Outputs (EO)||4||5||7|
|External Enquired (EQ)||3||4||6|
|Internal Logic Files (ILF)||7||10||15|
|External Interface Files (EIF)||5||7||10|
Step 2: Calculate 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 follow:
- Data Communication
- Distributed Data Processing
- Heavily Used Configuration
- Transaction Role
- Online Data Entry
- End-User Efficiency
- Online Update
- Complex Processing
- Installation Ease
- Operational Ease
- Multiple Sites
- Facilitate Change
Also study another type of Software Estimation: COCOMO MODEL