Application analysis configuration - Config - Enhancement Measure


Overview

This option allows you to switch between the two different OMG Enhancement Function Point measurement systems available in CAST Imaging for the current Application. You can switch between:

  • Automated Enhancement Points (AEP) - default
  • Enchancement Function Points (EFP) - legacy

OMG Automated Enhancement Points (AEP) - default

CAST integrates the estimation of OMG Automated Enhancement Points (AEP). With the AEP feature, CAST displays detailed information about the changes done on both the functional and technical sides between two versions or two snapshots of an application.

Like EFP (see below), the feature helps to evaluate overtime the size of evolutions implemented by teams producing applications. It computes and displays data functions and transactional functions that have been modified, added, or deleted, and information on the technical components of applications that do not belong to any transaction. The unadjusted function points that are calculated are weighted with Complexity Factors based on the objects complexity.

CAST highly recommends that this measurement mode is selected and as such it will be set as the default option.

For more detailed information about AEP, please refer to OMG Automated Enhancement Points Estimation - AEP.

AEFP and AETP

The AEP measure considers both the functional and the technical sides of the application enhancement. Therefore, the computation of Automated Enhancement Points (AEP) is divided in two sections:

  • Automated Enhancement Function Points (AEFP) - Automated Enhancement Technical Points (AETP).

The total AEP will be the addition of these two: AEP = AEFP + AETP.

AEFP Computation

The total value of Automated Enhancement Function Points (AEFP) is calculated by adding the AEFP value of all Transactional Functions and Data Functions in the application. The AEFP of each individual Transactional Function / Data Function is calculated by multiplying its FP value by its Complexity Factor (AEFP = FP x CF). The Complexity Factor of a certain Transactional Function / Data Function is an adjustment factor (defined by an OMG-specification) which is calculated based on its status (added / modified / deleted) and the complexity of the objects inside the Transactional Function / Data Function.

AETP Computation

Automated Enhancement Technical Points calculation considers all technical objects in the application, i.e. those computational elements which are not the Automated Enhancement Function Point scope.

Enhancement Function Points (EFP) - legacy

In addition to AEP (see above), CAST also integrates the estimation of Enhancement Function Points (EFP) also called Project Function Points, so that CAST provides both baselining, e.g sizing an entire application using Automated Function Points and Enhancement Function Points. With the Enhancement Function Points feature, CAST is in a position to display detailed information about the changes between two versions of an application and between two snapshots of the same application.

This feature helps to evaluate overtime the efficiency of teams producing applications. It is particularly useful in outsourcing contexts as many outsourcing contracts are based on FP when it comes to determine the size of the deliverables. This feature computes and displays data functions & transactional functions that have been modified, added or deleted.

For each application, CAST Imaging will provide three different pieces of information:

  1. Added FPs: FPs identified from the functions identified as created in the Vn+1 (i.e. that is added by the enhancement project)
  2. Modified FPs: FPs counted because existing function is changed during the enhancement project
  3. Deleted FPs: function points counted for function deleted during the enhancement project.

For detailed information about EFP, please refer to OMG Enhancement Function Points Estimation - EFP.

Differences between the two measures

The main differences between the legacy Enhancement Function Points (EFP) mode and the Automated Enhancement Points (AEP) mode (default measure) are as follows:

  • EFP does not consider the technical side of the application evolution; AEP does (calculating Automated Enhancement Technical Points, AETP)
  • EFP uses a transaction reduced call graph (from Entry Points to End Points / Data Entities); whereas AEP considers the transaction full call graph (it covers also the paths that do not reach an End Point / Data Entity). This means that the number of objects in the transaction call graph for AEP is higher.
  • The adjustment factor used to calculate Enhancement Function Points (EFP) is called “Impact Factor”, and it is based on fixed user-defined formulas; on the contrary, the adjustment factor to calculate Automated Enhancement Function Points is called “Complexity Factor”, and it is based on dynamic OMG-defined formulas.

The table below summarizes these differences:

Mode Transaction Call Graph Adjustment Factor Evolution
EFP Reduced Impact Factor (fixed user-defined formula) Only Functional
AEP Full Complexity Factor (dynamic OMG-defined formula) Functional and Technical

Log messages when using the measures regarding full or reduced call graphs

When computing the Function Point values for an Application, the log file (i.e. the snapshot generation log) will contain information about whether the computed call graph is “reduced” or “full”. The information will look like this:

  • Number of applications with full call graph : value

or

  • Number of applications with reduced call graph : value

Note that:

  • When computing the Function Point values of an application, the call graph that will be computed will always be reduced.
  • When computing the snapshot of an application, either the reduced or the full call graph will be computed, because one or the other is necessary for measuring the enhancement. The type of graph that is used is dependent on the measurement mode that is selected: if the Enhancement Measure is set to AEP, then the full call graph will be computed, otherwise the reduced call graph will be computed.

Measure switching action

When changing the Enhancement measurement mode it is important to take into consideration the impact this will have on the analysis/snapshot results and that it will introduce a disruption into the measurement trending. There are important differences between the two measures (AEP and EFP) that must be understood:

  • The EFP mode does not manage the technical part of application whereas AEP does.
  • When using EFP mode, Transactional Functions are based on the reduced call graph whereas for AEP, Transactional Functions are based on the full call graph.
  • The AEP specification defines Complexity Factors based on artifacts’ complexity or changes made to data entities.

When moving from EFP to AEP to get more precise values, results will show objects that do not belong to the reduced transaction call graph as “added” and this will impact the measure, even if these objects have not really been added. Points related to the technical part of the Application will also appear in the results. Moreover, taking in to account object complexity to weight the FP values will impact the results as well.

Moving in the opposite direction from AEP to EFP will result in having objects that do not belong to the full transaction call graph to be considered as “deleted”. This will also impact the results, even if those objects have not been really removed. In addition, Complexity Factors will be replaced by Impact Factors that are set to 1 by default and points related to the technical part of the application will disappear.

If you plan to change the measurement mode, it is necessary to recreate a new baseline analysis. To do that, after you change the measure run an analysis for the same Application version but it must not be considered as consistent for the new measure. The next analysis you run for the Application will be consistent and can be used as the first analysis using the new enhancement measure.