This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Sunday, December 29, 2019

What is Function Point Analysis? five components fps

What is Function Point Analysis? five components fps

Function Point Methodology

   In late 1970, IBM felt the need to develop a language-independent approach to estimate software development effort. It assigned one of its employees, Allan Albrecht, with developing this approach in 1979. The result was the FP technique. FPs are a measure of the size of computer applications that are being built. The size is measured from a functional, or user, point of view. It is independent of the computer language, development methodology, technology, or capability of the project team used to develop the application.

    Functional size estimation uses the number of functionalities to be made available in the application and is a top-down technique used for estimating sublunary-level activity first and then breaking it into lower-level activities. After collecting requirements from the customer, the project team would count the number of FPs by using different methodologies available. When using FPS (Albrecht, 1979; IFPUG, 1999) or cosmic functional size units (CFSU) (Abran, Symons, and Oligny, 2001), the estimator needs to understand the required functionalities, and then use either of the above-mentioned methodologies to count FPs. But all these methodologies would give accurate results for large size new application development. 

     In order to make a reliable estimate for a (new) development project, the size should be over 200 FP or 100 CFSU. Most of the upgrade projects are smaller-sized applications and hence cannot use these methodologies. Capers Jones (1986) published a method based closely on that of Albrecht, called "feature points." This method aims to extend functional size methodology to scientific algorithms. 

      Charles Symons (1988) modified Albrecht's (1979) FP and developed the "MkII function point method” that aimed to take care of the complexity of the business application software, which is "data-rich." However, it was difficult to measure and classify complexity related to data requirements in business application software, and hence this method could not be used for upgrade projects in commercial software development.
  
     Using Albrecht's (1979) approach, Whitmire (1992) developed "3D function points" for estimating the size of scientific and real-time software. The three dimensions in 3D FPs are data, function, and control. The data dimension is similar to Albrecht's FPs. The function dimension adds transformations, which are similar to the algorithms, and the control dimension adds transitions, which explains changes in the application state. This approach was a proprietary of Boeing and not widely used because it is not easy to use for counting FPs and, compared with feature points, it does not help in counting FPs for algorithms in scientific software. NESMA (1997) developed its own variant for counting FPs. 

        The variations from the IFPUG method of counting FP were related to "further data processing" and data display, which is also known as “implicit inquiry.” This approach also does not take care of complexities involved in the algorithm and mostly used for development projects. For a smaller size of the applications, this method is not suitable. The University of Québec, Montréal, and others published the "full function point method" in 1997 that used the IFPUG rules for business application software and added extra components for sizing real-time software; however, this has not been accepted by practitioners for commercial software projects because this method can be accurate for large-sized application development only.



 

What is Function Point Analysis?

 Function point analysis (FPA) has been proven as a reliable method for measuring the size of computer software. In addition to measuring output, FPA is extremely useful in estimating projects, managing change of scope, measuring productivity, and communicating functional requirements.
One of the initial design criteria for FPs was to provide a mechanism that both software developers and users could utilize to define functional requirements. It was determined that the best way to gain



an understanding of the users' needs was to approach their problem from the perspective of how they view the results that an automated system produces. Therefore, one of the primary goals of FPA is to evaluate a system's capabilities from a user's point of view. In order to achieve this goal, the analysis is based on the different ways users interact with computerized systems. From a user's perspective, a system assists them in doing their job by providing five basic functions. Two of these address the data requirements of an end-user and are referred to as data functions. The remaining three address the user's need to access data and are referred to as transactional functions.

The five components of fps are as follows:



Data functions:


1. Internal logical files

2. External interface files Transactional functions

3. External inputs

4. External outputs

5. External inquiries


1.Internal logical files (ILFs)-

    The first data function allows users to utilize data they are responsible for maintaining. For example, a pilot may enter navigational data through a display in the cockpit prior to departure. The data is stored in a file for use and can be modified during the mission. Therefore, the pilot is responsible for maintaining the file that contains the navigational information. Logical groupings of data in a system, maintained by an end-user, are referred to as ILFs.

2.Externa interface files (ELES)-

   The second-data function a system-provides to an end-user is also related to logical groupings of data. In this case, the user is not responsible for maintaining the data. The data resides in another system and is maintained by another user or system. The user of the system being counted requires this data for reference purposes only. For example, it may be necessary for a pilot to reference position data from a satellite or ground-based facility during flight. The pilot does not have the responsibility for updating data at these sites but must reference it during the flight. Groupings of data from another system that are used only for reference purposes are defined as EIFs.
      The remaining functions address the user's capability to access the data contained in ILFs and EIFs. This capability includes maintaining, inquiring, and outputting of data. These are referred to as transactional functions.




3.External inputs (ET)-

   The first transactional function allows a user to maintain ILFs through the ability to add, change, and delete the data. For example, a pilot can add, change, and delete navigational information prior to and during the mission. In this case, the pilot is utilizing a transaction referred to as an external input (EI). An El gives the user the capability to maintain the data in ILFs through adding, changing, and deleting its contents.


4.External outputs (E0)-

The next transactional function gives the user the ability to produce outputs. For example, a pilot has the ability to separately display ground speed, true airspeed, and calibrated airspeed. The results displayed are derived using data that are maintained and data that are referenced. In FP terminology the resulting display is called an external output (EO).



5.External inquiries (EQ)-

The final capability provided to users through a computerized system addresses the requirement to select and display specific data from files. In order to accomplish this. a user inputs selection information that is used to retrieve data that meets the specific enteria. In this





the situation, there is no manipulation of the data. It is a direct retrieval of information contained in the files. For example, if a pilot displays terrain clearance data that was previously set, the resulting output is the direct retrieval of stored information. These transactions are referred to as external inquiries
In addition to the five functional components described above there are two adjustment factors that need to be considered in FPA.

Functional complexity.


The first adjustment factor considers the functional complexity for each unique function. Functional complexity is determined based on the combination of data groupings and data elements of a particular function. The number of data elements and unique groupings are counted and compared with a complexity matrix that will rate the function as low, average, or high complexity. Each of the five functional components (ILF, EIF, EI, EO, and EO) has its own unique complexity matrix. Table 2.5 shows the complexity matrix for EOS.

No comments:

Post a Comment