Chapter 2— Function Point Analysis: Project Management Course -AUG Unversity

What is Function Point Analysis?

Data Storage

  • Internal Logical File (ILF) Logical group of data maintained by the application (e.g., Employee file)
  • External Interface File (EIF) Logical group of data referenced but not maintained (e.g., Global state table)


  • External Input (EI): Data Input Fields, Error Messages, Calculated Values, Buttons
  • External Output (EO): Data Fields on a Report, Calculated Values, Error Messages, and Column Headings that are read from an ILF
  • External Query (EQ): Input Side — field used to search by, the click of the mouse. Output side — displayed fields on a screen.


  • Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive) field. A DET is an information that is dynamic and not static.
  • File Type Referenced (FTR): A FTR is a file type referenced by a transaction. An FTR must also be an internal logical file or external interface file.
  • Record Element Type (RET): A RET is a user recognizable sub-group of data elements within an ILF or an EIF.

DET’s for GUI:

  • Radio Buttons: Radio Buttons are treated as data element types
  • Check Boxes: Each check box, within a frame, that can be selected should be treated as a data element
  • Command Buttons Command: each command button would be counted as a data element for the action it invokes.
  • Messages: There are three types of messages that are generated in a GUI application: error messages, confirmation messages, and notification messages, each is treated as a data element for the appropriate transaction.
  • Notification messages are business-type messages. A notification message is treated as an External Output.

Adjusted Function Points:

  • The general formula to calculate the adjusted function point is: AFP = UFC * VAF
  • If you want to calculate the adjusted function point for a project that requires added functionality to convert database files or for any other purpose then you calculate the Development function point by this formula: DFP = (UFC +CFP) * VAF
  • If you want to calculate the adjusted function point for an enhanced application that might include add functionality, changed functionality, and deleted functionality, then the formula for enhancement project function point calculation is: EAFP =[(UFPG +ADD+CHGA) -(CHGB +DEL)]


  • Since the application has an enhancement, adding and deleting functionality then, use this formula: EAFP =[(UFPG +ADD+CHGA) -(CHGB +DEL)]
  • 10 LOW EI’S = 10 * 3(LOW) =30
  • 10 HIGH EI’S = 10 * 6(HIGH) =60
  • 12 HIGH EO’S = 12 * 7(HIGH) =84
  • 20 LOW ILF’s = 20 * 7(LOW) =140
  • 15 HIGH EI’s = 10 * 15(HIGH) =150
  • 12 Average EQ’s = 12 * 4(Average) =48
  • UFC * VAF = 512 * 1.10 = 563.2

Estimating SLOC

  • UFC = 354 (given in the question)
  • Since the language is C then AVC = 128 ( from the table in page 114)

The Weather Application:

  • Each EI has 6 data elements (the input fields) and the action key that means EI for change = 6DT’s, ADD EI = 6DT’s, DELETE EI = 6DT’s
  • The EQ has 6 data elements also (the fields and the action key)
  • The Previous-Next represents only one DET
  • The ILF has only 5 DETs
  • The report has 7 data elements (7 DET) [City, State, Temperature, Rain Fall, Date, Average, Average Temperature, Average rain fall]




Hunger for Knowledge, adventure, and risk enthusiastic. Software engineering student

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Hands-on Analysis on Agent Smith- The Andro-Malware

Data Engineer starter pack (Part 1)

How to setup a video call center in 5 minutes for free

Digital Ocean managed MySQL database is not there yet

Kotlin Syntax Part II — when did this switch happen?

Best Code Editors for 2020.

Building a CI/CD pipeline for a Spark project using Github Actions, SBT and AWS S3 — Part 1

Laravel Eloquent Query | Laravel — Where Condition with Two Columns Example

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Hadeel Salah

Hadeel Salah

Hunger for Knowledge, adventure, and risk enthusiastic. Software engineering student

More from Medium

Explore Microsoft Power Platform

What is Project Executi

When Things Break: Scaling Up Your BrainDB

Creating High-Quality Staging Data with a NoSQL Data Migration System