Automated Function Point: A Breakthrough in Software Sizing

Aug 15, 2024 | Development Velocity Automated Function Point: A Breakthrough in Software Sizing

The implementation of automatic controls in software platforms almost always requires the writing of specific software, with a significant financial commitment. The automatic calculation of Function Points, which became an ISO standard in 2019 (ISO 19515) and implemented in CAST Imaging, offers powerful "hidden" functionality. These features, mostly REST/API functions, allow you to automate process activities by creating real "pipelines" in which these features are used in a coordinated way.

To manage a process pipeline in real time, you can use an automation server like Jenkins, with the necessary plugins to manage REST/API calls and graphically display running tasks. In the pipeline we can insert configuration controls for counting AFPs (Automated Function Points). Figure 1 shows a simple pipeline with some tasks, including the “ Check Config AFP” task highlighted in blue.

Pipeline_ Jenkins_ con_task _Check_ Config_AFP

The “Check Config AFP” task, like the other Jenkins tasks, is fully customizable. There are many Jenkins plugins that allow you to graphically view the tasks of a pipeline and their execution status (see figure 2).

Execution_graphic_control

If a configuration task were to fail, such as the AFP configuration task in figure 1, the automation server would send a message via email (or other configured tool) to the line manager, allowing immediate resolution. This approach to developing automated pipelines is based on concepts implemented in Business Process Management (BPM) tools and can be used by installing available Jenkins plugins. The CAST Imaging platform has a large portfolio of REST/API functions that can be used as calls within tasks. Let's see how:

Through the OAS 2.0/3.0 (Open API Specification) standard, which creates a RESTful interface to easily develop and consume APIs, CAST MRI (AIP Console) exposes many functions callable via Swagger. Among these there are also those for the configuration, calibration and control of the AFP and Enhancements of an application (see figure 3).

AFP_control_calibration_configuration

A list of REST/API functions in the Function Point section (not exhaustive for space reasons) is shown in Figure 4

REST_API_Function_Points_List

Using GET/POST/PUT operations, you can, for example, request the list of counted Data Functions, the list of calculated Transactions or carry out configuration operations such as:

  • Update the function point calculation setting value of a specific application
  • Create new configuration rules and validate them, returning any errors found
  • Perform a calibration action on Data Functions
  • Update a regular expression that excluded an existing table using a new precondition
  • Update an existing table prefix excluded from PK/FK analysis
  • Perform calibration actions on transactional functions
  • …and many other control features.

This information is returned via JSON notation , universally recognized and used for data exchange, therefore fully usable in Jenkins tasks. For example, as illustrated in the “flow” of Figure 5, we could develop controls in the “Check Config AFP” control flow. In the event of an error in the "calibration action on data functions" task for a table not present in the application covered by automatic AFP counting, the line manager would be immediately informed to intervene.

REST_API_CAST_Pipeline_Jenkins_Controls

The native functions of an automation server therefore allow us to design complex automatic calculation systems, reducing the burden of manual checks in configuration compliance checks.