Function point
lastmod 2022-02-21created 2022-02-215 edits
A function point is a unit of measurement for expressing the amount of business functionality an information system (product) provides to users. Functional functions are used to calculate the functional size measurement (FSM) of software. The cost of a single unit (in dollars or hours) is calculated from past projects.
How to estimate FP (function points)
Estimate by referring to the FP documents provided by the National IT Industry Promotion Agency. Several things must be considered to prepare FP. First, take a look at the figure below from the National IT Industry Promotion Agency~
Function-point-table.png
Calculation method:
Function-point-calc.png
These are the items to consider for FP. For now, you don't need to consider the complexity weights here or the adjustment factors to be considered next.
This is because most companies that require FP already have the format and the data to apply. In an FP spreadsheet written in Excel, you enter the function items and the basic data above, and the FP value is calculated for you.
Extract the function levels
The most important part of preparing FP is extracting the function items to which FP will be applied.
Usually they are organized into 3 levels, and each function's description is recorded in detail.
Distinguish internal logical files (ILF) and external interface files (EIF)
Most projects involve a DB or external integration.
So these items must be classified as ILF or EIF.
- DBs or files stored in the system being developed are counted as ILF,
- and items that must be fetched or updated through external integration are counted as EIF.
Write the external inputs (EI), external outputs (EO), and external queries (EQ)
First, external inputs (EI) are easy to understand if you think of C (create), U (update), and D (delete) in the commonly mentioned CRUD.
That is, count and write down the number of inputs, updates, and deletions for each function.
Next, you must clearly distinguish external outputs (EO) from external queries (EQ).
- An external output (EO) is an item where data is read, goes through a certain process, and is then output. In other words, think of it as content that is shown on screen after some internal processing.
- An external query (EQ), on the other hand, is a case where data is simply fetched from an internal logical file or external interface file and output as is.
Example
| Integrated system development function list | |||||||||||
| Function name | Data functions | Transaction functions | |||||||||
| Category | Main function | Sub-function | Detailed function | Internal logical | External interface | External input | External output | External query | |||
| Input | Update | Delete | Total | ||||||||
| Integrated welfare system | Integrated welfare reservation system | Integrated facility reservation | Input/update/delete | 1 | - | 1 | 1 | 1 | 3 | - | 1 |
| Calendar display in 2-month units | 1 | - | - | - | - | 0 | - | 1 | |||
| Overbooking prevention | Sequential processing of reservation requests | 1 | - | - | - | - | 0 | - | 1 | ||
| Notice management | Notices | Input/update/delete | 1 | - | 1 | 1 | 1 | 3 | - | 1 | |
| File upload | Excel, Word, PowerPoint file upload | 1 | 1 | 1 | - | - | 1 | - | - | ||
| Accounting management | Voucher management | Monthly statistics | - | - | - | - | - | 0 | 1 | - | |
Size adjustment factor
Calculation method:
Application complexity adjustment factor
| Category | Complexity and difficulty level | Adjustment factor |
| Interface complexity | No interfaces with other organizations | 0.88 |
| Interfaces with 1~2 other organizations | 0.94 | |
| Interfaces with 3~5 other organizations | 1.00 | |
| Interfaces with 6~10 other organizations | 1.06 | |
| Interfaces with more than 10 other organizations | 1.12 | |
| Performance requirement level | There are no special requirements for response performance | 0.91 |
| There are requirements for response performance, but no special measures are needed | 0.95 | |
| Response time or throughput is important at peak time, and processing deadlines are specified | 1.00 | |
| Response time or throughput is important during all business hours, and processing deadlines are specified | 1.05 | |
| Response performance requirements are strict, so performance analysis tools must be used in the design, development, or implementation phase | 1.09 | |
| Operating environment compatibility | There are no requirements for operating environment compatibility | 0.94 |
| There are requirements for operating environment compatibility, and the system is designed to run in the same hardware and software environment | 1.00 | |
| There are requirements for operating environment compatibility, and the system is designed to run in similar hardware and software environments | 1.06 | |
| There are requirements for operating environment compatibility, and the system is designed to run in heterogeneous hardware and software environments | 1.13 | |
| In addition to the above, beyond the usual deliverables, documentation of operating procedures and advance drills are required to ensure smooth operation at the sites | 1.19 | |
| Security requirement level | Includes 1 security requirement, such as encryption, web vulnerability inspection, secure coding, or personal information protection | 0.97 |
| Includes 2 requirements | 1.00 | |
| Includes 3 requirements | 1.03 | |
| Includes all 4 items | 1.06 | |
| Includes 5 or more security requirements | 1.08 |
Terminology
Data function types
- Internal logical file (Internal Logical File; ILF)
- Files maintained/managed by the system being estimated
- External interface file (External Interface File; EIF)
- Files referenced by the system being estimated
Transaction types
- External input (External Input; EI)
- Values input from outside
- External output (External Output; EO)
- Values output to the outside (involves data processing)
- External query (External Query; EQ)
- External input/output (no data processing)
Favorite site
- Wikipedia (en) Description of function points
- On how to write FP (Function Point)
- Function point definitions and cost estimation
- Function Point estimation and utilization
- Function point (simplified method) example
- Publication of the 2014 revised edition of the SW project cost estimation guide
References
-
Original broken file name:
최종-KOSA_2014년_SW사업_대가산정_가이드_개정사항_안내.pdf↩ -
Original broken file name: File:KOSA_SW사업_대가산정_가이드_-_2014년_개정판.pdf ↩
-
Function_Point_Estimation_and_Utilization.pdf (original broken file name:
기능점수(Function_Point)산정_및_활용_방안.pdf↩