Split an object


The way in which the CAST algorithm determines the existence of Data Functions and Transactions means that one object can be split into multiple objects if required. The table below indicates how a Data Function and Transaction can be formed and how they can be split:

Object type How the item is formed How the item can be split
Data Function Can contain one or more data storage objects (for example SQL tables) Split into constituent objects every time.
Transaction Is always based on one object (for example a user entry form, which is usually a UI screen that interacts with database objects). The item itself and any sub objects (control and events for example) are taken together as roots for the call graph. A choice will be offered:
  • Split by sub-objects: the item itself, without any sub object, is considered as a single transaction, and each sub object (control or event) becomes the single root of new transactions. This is adapted to a use case where a complex UI screen contains buttons which run distinct transactions.
  • Split by called objects: uses called objects of all roots (the form and its sub-objects), and creates a new transaction for each called object (only at the first call level). The called objects are typically methods called in reaction to user actions on the UI screen.

When an object is split, its constituent objects are then also displayed in the CAST Transaction Configuration Center so that you can calibrate them as well - see image below that shows objects that have been split or are a result of an object that has been split:

To split an object:

  1. Move to the AFP Calibration node - Right hand panel to begin calibration
  2. Choose either the Data Functions or Transactional Functions sub node
  3. First determine whether the object can be split - use the Status column in the Data Functions/Transactional Functions nodes. The icon indicates that the object has further details and can be split.
  4. Right click the object or objects (if you have selected multiple objects) you want to split
  5. Select the Split option:

  6. The object will then be split:
    • If you are splitting a data function, the item will be split automatically into its constituent items.
    • If you are splitting a transaction, you will be prompted to choose whether you want to split by sub-objects or split by called objects:



      Click OK once you have chosen the most appropriate split action (click the "radio" button next to the action you would like to use).
  7. The original item and the new items resulting from the split will then appear in the list and the appropriate icon will be displayed in the Status column (see Data Functions/Transactional Functions nodes for more information about the icons in the Status column):
    Data Function split Transaction split (by sub-objects) Transaction split (by called objects)

     

    Note that when splitting by called objects, the original object is marked as deleted in the Status column () - this is because additional objects mean additional Transactions and an increased number of Function Points. As such CAST deletes the original object so that its Transactions are not counted twice (once for the original object and again for the new Transactions created via the split) and an artificially high number of Function points is recorded.

  8. Note that the split is not permanent until you Save the changes to the server (see the Toolbar for more information about this).
  9. You can now Calibrate the new objects that are displayed in the CAST Transaction Configuration Center as a result of the split action in exactly the same way as the "original" objects.

CAST Website