Enhancement - Data Functions/Transactional Functions sub-nodes - Right hand panel
The Data Functions and Transactional Functions sub nodes (in the Enhancement node) enable you to view detailed information about the enhancements made in successive snapshots for Data Functions and Transactional Functions:
Both nodes are identical and contain various different panels. Each panel is explained in more detail below:
- Upper left panel (Evolution)
- Upper right panel (Data Functions or Transactional Functions)
- Lower panel (Details)
Upper left panel (Evolution)
This panel lists all existing snapshots stored in the CAST Dashboard Service managed by the CAST Management Service you are connected to:
- A sortable table listing the snapshot name, date it was calculated, the date chosen prior to generating the snapshot and the Measure mode (Automated Enhancement Points (AEP) or Enhancement Function Points (EFP)) chosen in the CAST Management Studio:
- In addition, data is listed under the list of snapshots with regard to the AEP/EFP statistics and artifacts in the selected snapshot. Added/Modified/Deleted statistics are generated by comparing the currently selected snapshot and the immediately preceding snapshot.
- Selecting a snapshot in this panel will display all items that match the criteria you have set up in the Templates node or System node in the Upper right panel (see below).
- The following right-click options are available:
- Copy all content - copy the row contents
- Export content to CSV - export the content to a CSV file
- The Recompute checksums and snapshot statuses option will recalculate all checksum values for all items listed in the Upper right panel. This should be used when you have excluded/included certain objects that form an item - this will regenerate Function Point data listed in this panel.
Show excluded objects - this option displays a dialog listing all objects that have been excluded in the selected snapshot and which will not impact the Transactional Function values:
Object name Object's name Object full name Object's full name Object type Type of object Share counter The number of Transactional Functions to which the object contributes. Exclude type How the object has been excluded from the snapshot:
- RULE - A set has been created in the Excluded Items node.
- MANUAL - The object has been excluded in the lower panel of the current Enhancement node.
Processed in snapshot Indicates the status of the exclusion:
- YES - the object was excluded in the current snapshot (it will not contribute to any Transactional Function values)
- NO - a set or manual exclusion for the object was created in the current snapshot, but it will not be excluded until a new snapshot is run.
A right click on an object in the Show excluded objects dialog and then selecting Snapshots will display a new dialog listing the exclusion status of the object in each snapshot where the object is present (Processed column):
Please note that:
- the value reported for "Total AEFP" or "Total EFP" is an EFP (Enhanced Function Point) value - in other words, it only includes added, modified and deleted Function Points. All Unchanged Function Points are automatically excluded from this value.
- the value reported for "Deleted AEFP/EFP" and "Deleted Data Entities" is relative to the value displayed for "Total AEFP/EFP" and "Total Changed Entities" in the previous snapshot (not in the current snapshot).
Upper right panel (Data Functions or Transactional Functions)
This panel lists all Data Functions/Transactional Functions that match the criteria you have set up in the Templates node or System node that are present in the snapshot selected in the Upper left panel. For each item, the following are displayed.
- Status in the current snapshot (ADDED, MODIFIED, DELETED, UNCHANGED)
- FP (Function Point) value
- Source (Transactional Functions node only) - COMPUTED, DEFAULT (when a value for empty transactions has been set manually - see Compute) or ASSESSED (when ASSESS for empty transactions has been set manually - see Compute).
- Impact Factor / Complexity Factor
- AEFP / EFP value
- all items are listed as ADDED in the very first snapshot.
- in case the selected snapshot uses the EFP enhancement measure, Impact Factor and EFP value will be displayed.
- In case the selected snapshot uses the AEP enhancement measure, Complexity Factor and AEFP value will be displayed.
- Selecting an item in this panel will display (in the Lower panel) all the objects that are part of the original item. This enables you to see whether a certain object is relevant for the total checksum value calculation and either include it (default position) or exclude it from the total checksum calculation. The checksum value of an object between snapshots determines whether the object has changed. Some very trivial code changes between snapshots can heavily impact the Modified EFP value (listed in the Upper left panel), so excluding certain objects will allow this value to be more in line with expectations.
- The Shared object exclusions option (only available for Transactional Functions) allows you to exclude objects from the total checksum value calculation based on the number of Transactions an object is shared between:
|Exclude objects shared by at least X transactions in current snapshot|
Use this option to determine which objects you want to exclude from the total checksum calculation. By default, all objects that are shared between at least 10 transactions will be excluded when you click the OK button. You can modify the number of transactions manually.
You can find out how many Transactions an object is part of by looking in the Lower panel:
Lower panel (Details)
This panel lists internal objects and external objects that are associated values of a violation (i.e. objects considered as external/generated are not shown) belonging to a Data Function/Transactional Function selected in the Upper right panel:
- The panel lists each object with:
- full name
- role in the Transactional Function / Data Function, for example:
- Data Functions: DATA_ENTITY_PRIMARY, DATA_ENTITY_SECONDARY
- Transactional Functions: DATA_RECORD, FORM, OBJECT, FULL_GRAPH_OBJECT
- status in the TF (Transactional Function) or in the DF (Data Function) - either Added, Deleted, Modified, Unchanged
- status of the object itself - either Added, Deleted, Modified, Unchanged
- whether it is excluded or not
- the shared counter (Transactional Function only: the number of Transactional Functions to which the object contributes)
- EC Level (Effort Complexity Level): category that assesses the complexity of adding, modifying, or deleting an Artifact based on a composite score of five software metrics that assess the complexity of the software environment in which the Artifact is embedded; that is, its size, comment level, algorithmic complexity, data access complexity, and coupling. Their possible values are: LOW, AVERAGE, HIGH, VERY HIGH.
- EC (Effort Complexity): numerical value assigned to an Artifact based on its Effort Complexity Level and its technology.
Note with regard to the EC Level and EC columns:
- these columns are only relevant for Artifacts. The objects in this table which are not Artifacts, will not have neither EC nor EC Level ("N/A" will be displayed).
- these columns are only relevant for AEP enhancement measure. In case the selected snapshot uses EFP, they will be Non-Aplicable ("N/A" will be displayed in both columns).
Note with regard to FULL_GRAPH_OBJECT in the Role column:
- the FULL_GRAPH_OBJECT role listed for Transactional Functions indicates objects that appear in the Full Call Graph (used by the AEP mode) but are not visible in the reduced Call Graph (used by the EFP mode) - see View call graph / View full call graph for more information. In other words these are objects which are only taken into account when the snapshot has been generated in AEP mode. When EFP mode is use to generate the snapshot, these objects are ignored.
- in most circumstances, an object with the role FULL_GRAPH_OBJECT should not appear in the lower panel for a snapshot that has been calculated in EFP mode. However, one exception to this rule is where the most recent snapshot has been generated in EFP mode, and the immediately preceding snapshot has been generated in AEP mode. This results in a situation where the lower panel will list FULL_GRAPH_OBJECT objects in the EFP calculated snapshot, but they will be marked as DELETED - i.e. not taken into account in the current snapshot, but were included in the previous AEP generated snapshot:
Exclude an object
This option is designed to exclude an object when the Recompute checksums and snapshot statuses option is actioned:
To manually exclude an object, right click the object in question in the lower panel of the Data Functions or Transactional Functions nodes and select Exclude <object_name>:
A tick will be placed in the Excluded column as shown below and the object will not be taken into account when you click the Recompute checksums and snapshot statuses option:
Notes - In CAST AIP ≥ 8.3.8 this exclude option will impact only the current snapshot and any future snapshot data. Existing snapshots are not impacted.
- In CAST AIP ≤ 8.3.8 this exclude option will impact all snapshots!
- An object is automatically included in the Recompute checksums and snapshot statuses option when no tick exists in the Excluded column for the object in question. To manually re-include an object that you have previously excluded manually or via the global exclude option (see Upper right panel): right click the object in question and select Un-exclude <object_name>. A tick will be removed from the Excluded column as shown above and the object will be taken into account when you click the Recompute checksums and snapshot statuses option (see Upper left panel).
- Use the Hide unchanged objects option to remove any objects that have the status Unchanged (in the Object status column). These objects are of no relevance with regard to the Evolution feature.
- see also Exclude objects.