0% found this document useful (0 votes)
83 views

An Overview of Function Point Analysis

Function point analysis breaks down software systems into components such as external inputs, outputs, inquiries, internal logical files, and external interface files. Each component is rated based on attributes like file types referenced and data elements. The ratings are used to calculate an unadjusted function point count. A value adjustment factor is then applied based on general system characteristics to obtain the final function point count, which can be used to estimate software size and productivity.

Uploaded by

avinashn
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

An Overview of Function Point Analysis

Function point analysis breaks down software systems into components such as external inputs, outputs, inquiries, internal logical files, and external interface files. Each component is rated based on attributes like file types referenced and data elements. The ratings are used to calculate an unadjusted function point count. A value adjustment factor is then applied based on general system characteristics to obtain the final function point count, which can be used to estimate software size and productivity.

Uploaded by

avinashn
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

An Overview of Function Point Analysis

Function Point Analysis is a structured technique of classifying components of a system. It is a method used to break systems down into smaller components so that they can be better understood and analyzed. Function Point Analysis provides a structured technique for problem solving. In Function Point Analysis, systems are divided into five large classes. The first three classes are External Inputs, External Outputs and External/Data Inquiries. These classes or components transact against files and hence they are also called Transactions. The next two classes are Internal Logical Files and External Interface Files. The data is stored in these classes and they form the Logical Information. Objectives of Function Point Analysis: Function Points measure systems from a functional perspective and are independent of technology. Hence, regardless of technology, language, development method, or hardware/software used, the number of function points for a system will remain constant. The variable in Function Point Analysis is the amount of effort required to deliver a given set of function points. Therefore, function point analysis can be used to determine which environment/language/tool is more productive. 1. Function point analysis can be used to determine which environment/language/tool is more productive. 2. Function point analysis can provide a mechanism to track and monitor scope creep. 3. Function point counts at the end of each phase/stage of a project can be compared to the function points actually delivered. 4. If the number of function points has increased then there has been a scope creep. 5. The number of function points that has increased or decreased defines the project growth. 6. If the project has grown then it is a sure indication that the requirements havent been gathered well and there has been some scope creep. 7. If the project growth has declined then the communication between the end-user and the development team has improved. Process of Counting Function Points: Function point analysis follows specific steps for counting:

Identification of the subsystem boundaries Identification of the data functions (internal logical files and external interface files) Identification of transactional functions (external inputs, external outputs and external inquiries) Calculation of the Unadjusted Function Point (UAF) Count

Determination of the Value Adjustment Factor (VAF) using General System Characteristics (GSC) Calculation of the final Function Point Count

Establish the Subsystem Boundary: A project may include one or more applications or subsystems. Boundaries must be drawn to identify the external applications that interact with this project or the application that is being measured.

The Five Major Components

Function Point Analysis breaks the systems down into smaller components so that users, developers, and managers can easily understand the functionality of a system; the technical knowledge is not required for the same. In the world of function points, systems are divided into components. Transactional Functions: The first three components are the systems External Inputs (EI), External Outputs (EO), and External Inquiries (EQ). Each of these components adds, modifies, deletes, retrieves or processes information contained in the files and hence called transactions. Data Functions: The other two components are the systems files viz., Internal Logical Files (ILF) and External Interface Files (EIF). Transactions in Detail: External Inputs This defines those data that interact with the application from the outside. This data from the outside may be used to maintain internal logical files. External Outputs Here, the data passes from inside the application to the outside. The derived data may be used to update internal logical files. The data is used to create reports or output files which, in turn, may be used by other applications. These reports are again created from internal logical files or external interface files. External Inquiry This contains both input and output components that retrieve data from internal logical files and external interface files. However, the input here does not update the internal logical files or external interface files as in external inputs, and the output does not contain derived data as in external outputs.

Data Functions in Detail: Internal Logical Files This contains logically related data that resides entirely within the applications boundary and is maintained through external inputs. External Interface Files This contains logically related data that is used for reference purposes only. The data resides entirely outside the application and is maintained by another application. This means that an external interface file can be an internal logical file of another application.
Rating and Ranking the Components

Once all the components in the application have been classified as one of the five major components mentioned above, they have to be rated as either Low, Average, or High. Ranking is commonly based on File Types Referenced, Data Element Types and Record Element Types. File Types Referenced (FTRs) represents the total number of internal logical files (ILFs) maintained, read, or referenced, and the external interface files read or referenced by the EI/EO transaction. Data Element Type (DET) can be defined as unique user-recognizable non-recursive fields including foreign key attributes that are maintained on ILF/EIF. Record Element Type (RET) is a subgroup of data elements within an ILF/EIF. For each of the components belonging to Transactional functions, the ranking is based on: 1. Number of files updated or referenced (FTRs) and 2. Number of data element types (DETs) For the data components viz., Internal Logical Files (ILF) and External Interface Files (EIF), ranking is based on: 1. Number of Data Element Types (DETs) and 2. Number of Record Element Types (RETs) The tables given below provide an example of rankings and ratings given to each component. External Inputs
Data Elements FTRs 1-4 5-15 >15

0-1 2 >=3

Low Low Average

Low Average High

Average High High

External Output/External Inquiries


Data Elements FTRs 1-5 0-1 2-3 >3 Low Low Average 6-19 Low Average High >19 Average High High

Values or Ratings for Transactions


Data Elements Ranking External Input Low Average High 3 4 6 External Output 4 5 7 External Inquiry 3 4 6

In the above example, if an external input component updates 2 FTRs and references around 16 data elements then the ranking would be HIGH and the associated rating would be 6. Rankings for ILFs and EIFs
Data Elements Record Elements 1-19 1 2-5 >5 Low Low Average 20-50 Low Average High >50 Average High High

Values or Ratings
Data Elements Ranking Internal Logical File Low Average High 7 10 15 External Interface File 5 7 10

Unadjusted Function Points

Each function point count is multiplied by the numerical rating derived from the above table(s) to determine the complexity rated value. The complexity rated values on each row are summed across the table. This gives the total value for each type of component. The totals for all the components are then summed up to arrive at the total number of Unadjusted Function Points or UAF.
Component Complexity Component Type Low External Inputs External Outputs External Inquiries Internal Logical Files External Interface Files Total UAF __* 3=EI1 __* 4=EO1 __* 3=EQ1 __* 7=ILF1 __* 5=EIF1 Average __* 4=EI2 __* 5=EO2 __* 4=EQ2 __* 10=ILF2 __* 7=EIF2 High __* 6=EI3 __* 7=EO3 __* 6=EQ3 __* 15=ILF3 __* 10=EIF3 Total EI1+EI2+EI3 EO1+EO2+EO3 EQ1+EQ2+EQ3 ILF1+ILF2+ILF3 EIF1+EIF2+EIF3

(EI1+EI2+EI3) + (EO1+EO2+EO3) + (EQ1+EQ2+EQ3) + (ILF1+ILF2+ILF3) + (EIF1+EIF2+EIF3)

Value Adjustment Factor: The Value Adjustment Factor (VAF) is based on fourteen General System Characteristics (GSC's). The degrees of influence range on a scale of zero to five, from no influence to strong influence. The GSCs are listed below: 1. Data communication 2. Distributed functions 3. Performance objectives 4. Heavily used configuration 5. Transaction rate 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 VAF = 0.65 + (Sum of degrees of Influence of the fourteen GSCs)/100 The final Function Point Count is obtained by multiplying VAF by the Unadjusted Function Point (UAF). FP = UAF * VAF Summary:

Function points, as discussed earlier, can be used to size software applications accurately, as sizing is an important factor in determining productivity. Since function point has a unique and consistent method, different people measuring them will give almost the same result with very little margin of error. A non-technical person can easily understand function points, which helps in communicating the same to the end-user effectively and easily. Glossary of Terms: DET Data Element Type EIF External Interface File EI External Inputs EO External Outputs EQ External Inquiries FTR File Types Referenced GSC General System Characteristics ILF Internal Logical Files UAF Unadjusted Function Point VAF Value Adjustment Factor

You might also like