Transaction and Function Point management - Transaction calibration

Introduction

Function Point calibration is done at the end of the process and requires Transaction and Function Point management - Transaction configuration to be completed. Moreover, all the transactions that have been identified in the application must have already been validated by the SME. If the Transaction and Function Point management - Transaction review pinpointed issues, then you should go back to the Transaction and Function Point management - Transaction configuration step before starting the Function Point calibration.

Function Point calibration is done by grouping, splitting and excluding Transactional Functions and Data Functions in order to adjust the results. The following image presents the process related to the Function Point calibration:

Calibrate Data Functions

Adjust the Data Function type

The Data Function type (EIF and ILF) is determined at computation and is based on the type of links pointing to Data Entities. Types that are taken in account are the following:

  • Use Select, Use Insert, Use Delete and Use Update
  • Access Read and Access Write
Where AIP could not fully determine the type of link (ex: only Use or Access), Data Functions are typed as EIF by default. After investigation, the AI administrator can change the type to ILF if necessary.

A set of predefined rules and built-in rules will automatically set up the correct types for Data Entities. However, it is often necessary to review the accesses to the data layer to refine the type of links at analysis time.

Console
CAST Transaction Configuration Center

Click to enlarge

Adjust the FP value of Data Functions

This action should not need to be completed frequently and it is important to review and understand the root cause of improper complexity of Data Functions before adjusting the values. 

In case of flat files or elements created by a Universal Analyzer configuration, you will have the default value of the type (column 3 of the Figure 1 below). In this case, and if you have access to additional information, you can overwrite the calculated value of the added components in order to secure the count. 

Console
CAST Transaction Configuration Center

Click to enlarge

Calibrate Transactional Functions

Adjust the type of Transactional Functions

By default, a Transactional Function is typed as EO_EQ. If it contains at least one Update, Delete, or Insert access to a Data Entity, then this is considered as managing input data flow and is typed as EI. Otherwise, if the Transactional Function only contains Select accesses or undefined access links, then it is typed as EO_EQ. In that case, after investigation, the AI administrator can change the type of Transactional Functions:

Console
CAST Transaction Configuration Center

Click to enlarge

Adjust the FP value of Transactional Functions

This action should not need to be completed frequently and it is important to review and understand the root cause of improper complexity of Transactional Functions before adjusting the values.

Console
CAST Transaction Configuration Center

Click to enlarge

Automation: Insert custom treatments during the computation - optional

The computation process allows you to insert custom treatments in dedicated procedures executed at specific steps. This section presents which procedures are available and how some of them can be used.

Enabling custom treatments

The custom procedures will be executed only if the right option is activated in the Analysis Service. By default the custom mode is not activated and it is necessary to execute the following SQL code to enable custom treatments during the computation. Execute the following SQL code in PostgreSQL DBMS to activate the custom mode:

select SET_TCC_OPTION_FPCUSTOM (1,1)  --to set the option with trace
select SET_TCC_OPTION_FPCUSTOM (1,0) --to set the option with no trace
select SET_TCC_OPTION_FPCUSTOM (0,0)  --to disable the custom execution

Customizing calibration

The table below shows the custom procedures that are available for the transaction calibration:

Procedure name

When it is executed

TCC_FP_USR_DF_DELETE_RULE

DSSAPP_FP_APP_DATAFUNC

TCC_FP_USR_DF_ADJ_DETRET_RULE

DSSAPP_FP_APP_DATAFUNC

TCC_FP_USR_DF_IGNORE_RULE

DSSAPP_FP_APP_DATAFUNC

TCC_FP_USR_DF_GROUP_RULE

DSSAPP_FP_APP_DATAFUNC

TCC_FP_USR_DF_ADJ_TYPE_RULE

DSSAPP_FP_APP_DATAFUNC

TCC_FP_USR_TF_DELETE_RULE

DSSAPP_FP_APP_TRANSACT

TCC_FP_USR_TF_IGNORE_RULE

DSSAPP_FP_APP_TRANSACT

TCC_FP_USR_TF_GROUP_RULE

DSSAPP_FP_APP_TRANSACT

TCC_FP_USR_TF_ADJ_DET_RULE

DSSAPP_SCOPE_IFPUG_DONE

TCC_FP_USR_TF_ADJ_FTR_RULE

DSSAPP_SCOPE_IFPUG_DONE

TCC_FP_USR_TF_ADJ_TYPE_RULEDSSAPP_SCOPE_IFPUG_DONE

TCC_FP_USR_FINAL_RULE

DSSAPP_SCOPE_IFPUG_DONE

Customizing calibration Final Filter phase

The table below shows the custom procedures that are available for the transaction calibration Final Filter phase:

Procedure name

When it is executed

FP_FILTER_DATAFUNCTIONS

Before computation

FP_FILTER_TRANSACTIONS

Before computation

Customizing Impact Factor in Enhancement Function Point calculation

The table below shows the custom procedures that are available for customizing the Impact Factor used to adjust the Transactional Functions and Data Functions in Enhancement Function Point computation:

Item typeProcedure nameWhen is it executed?
Data FunctionEFP_USR_IF_DEL_DF_RULEDuring snapshot computation
Data FunctionEFP_USR_IF_MOD_DF_RULEDuring snapshot computation
Data FunctionEFP_USR_IF_ADD_DF_RULEDuring snapshot computation
Transactional FunctionEFP_USR_IF_DEL_TF_RULEDuring snapshot computation
Transactional FunctionEFP_USR_IF_MOD_TF_RULEDuring snapshot computation
Transactional FunctionEFP_USR_IF_ADD_TF_RULEDuring snapshot computation

Transaction / function point computation

When you have completed the calibration process, you now need to Compute the results to ensure your changes are taken into account. Essentially this means forcing the CAST algorithm to recalculate the transactions and the resulting Automatic Function Point (AFP) values for objects that are:

  • already in the results and you have changed the configuration
  • new objects/transaction that will be detected using the rules you have created

To do so:

Console

You can either:

Click to enlarge

  • compute just the transactions/Function Points:

Click to enlarge

CAST Transaction Configuration Center (TCC)

See also TCC - Compute: