User Guide - Using the Get Start and End points feature

Introduction

Assessing the impact of a change can be a time-consuming task, as it requires:

  • Evaluating the cascading effects
  • Identifying affected areas and components
  • Evaluating the potential risks and benefits

To streamline this process, the start points and end points feature helps developers by providing a comprehensive view of all linked “start points and end points” for the selected element. This view helps determine the extent of necessary regression testing. Additionally, understanding an element’s end points and start points is valuable for integrating it into larger connections and identifying suitable interactions for seamless operation.

The feature is available at Object level in all scopes.

Accessing the feature

To access the Get Start and End points feature, you must be working at Object level in any scope:

Right click an object in the view and select Get Start and End points from the contextual menu - this object will then be designated the Source object:

Using the feature

When you click Get Start and End points thefollowing pop-up screen is displayed indicating that the process of identifying the objects has started:

The following screen is displayed when the results are completed - the source object is shown at the top of the screen and all end points at the bottom of the screen, with all possible paths in between to a depth of 1 level:

Updating the results

After the initial results are displayed, you may click on (1) - Start and End points to get details about the Start and End points. (2) Update Hops button opens the Update Start and End Points pop-up. (3) Displays the number of hops in the current view and also lets you update the number of hops. 

Clicking the Update in the dialog box will display a configuration panel on the right hand side enabling you to change the depth level:

ItemDescription
1: Source ObjectIndicates the path to the source object (i.e. the object you chose when you first launched the Get Start and End Point feature).
2: Maximum depths of pathMaximum depth level for path from the source object. This is calculated by CAST Imaging when the configuration dialog box is displayed.
3: ResetReset all options to their default (No. of depths is reset to “1” and not the maximum depth available for the current source object).
4: No. of depths of pathSet the required depth level between the source object and the end points. By default this will be set to the current depth displayed in the view.
5: All depths of path (tick box)Click to set the depth level to the maximum possible (indicated in “Maximum depths of path”).
6: LoadClick to reload the view with the new configuration: nodes, edges and reference links will be added or removed on the same view based on number of depths you have chosen. If there are too many objects to display (i.e. the depth value is too high) then the following pop-up is displayed allowing you to cancel the process entirely (CANCEL), or reconfigure your options (REDUCE HOPS):
7: DownloadSee Download below.

In the example below, “3” has been entered as a depth level:

Click to enlarge

Download

As an alternative to loading a view (which can sometimes take some time if the view contains many objects), you can download the results (in CSV format). The results provided in the .CSV file are based on the value chosen in the No. of depths for the path option:

Selecting this option will start the generation of the data and a CSV format will be downloaded. This file contains the following information:

  • Source
  • Source FullName
  • Source Name
  • Source Type
  • Tags
  • Documents
  • Caller
  • Callee
  • Linked Objects
  • Cyclomatic Complexity
  • Integration Complexity
  • Raw SQL Complexity
  • Essential Complexity
  • Number of code lines
  • Number of heading comment lines
  • Number of inner comment lines
  • Object File Name
  • Link Type
  • Target
  • Target FullName
  • Target Name
  • Target Type

A References link with a dashed grey line between two objects indicates that there is an indirect link (escalated) between two objects - see User Guide - Understanding Links for more detailed information about link types:

Clicking this type of link in the result of a Get Start and End Point when the depth is set to 1 (the default) will show a small popup detailing the constituent objects and links including the selected object/extremity node and all objects in between:

Clicking the popup will load the constituent objects in a new view: