Function Point calibration is done at the end of the process and requires 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 review pinpointed issues, then you should go back to the 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. A calibration kit is available as an extension and provides dedicated rules that will help the AI administrator to calibrate Function Points faster.
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
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.
Adjust the FP value of Data Functions
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.
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:
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.
Automation: Insert custom treatments during the computation
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.
Activating custom mode for CAST Storage Service (CSS)
Execute the following SQL code in PostgreSQL DBMS to activate the custom mode:
Activating custom mode for SQL Server
Execute the following SQL code in SQL Server DBMS to activate the custom mode:
Activating custom mode for Oracle
Execute the following SQL code in Oracle DBMS to activate the custom mode:
The table below shows the custom procedures that are available for the transaction calibration:
When it is executed
Customizing calibration Final Filter phase
The table below shows the custom procedures that are available for the transaction calibration Final Filter phase:
When it is executed
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 type||Procedure name||When is it executed?|
|Data Function||EFP_USR_IF_DEL_DF_RULE||During snapshot computation|
|Data Function||EFP_USR_IF_MOD_DF_RULE||During snapshot computation|
|Data Function||EFP_USR_IF_ADD_DF_RULE||During snapshot computation|
|Transactional Function||EFP_USR_IF_DEL_TF_RULE||During snapshot computation|
|Transactional Function||EFP_USR_IF_MOD_TF_RULE||During snapshot computation|
|Transactional Function||EFP_USR_IF_ADD_TF_RULE||During snapshot computation|