Summary: information about the Project Structure scope introduced in CAST Imaging ≥ 2.17.
Introduction
Only available if the application has been analyzed in CAST Console with the inclusion of the com.castsoftware.architecture extension (≥ 1.0.0-beta3).
Insufficient understanding of the project structure can impede collaboration, introduce conflicting dependencies, and complicate code integration within the project. Modifying or updating the codebase without a clear understanding of the structure can result in errors, conflicts, and development delays.
Access to the project structure scope enables software developers to easily explore and navigate the project structure, locate files, and comprehend the overall architecture. This facilitates effective teamwork, allowing team members to collaborate on shared files, easily identify project-specific files, and comprehend the impact of their changes on other project components. Additionally, projects can be organized based on features or business areas, and this view assists architects in evaluating adherence to other projects, identifying potential bottlenecks, and making informed decisions regarding project restructuring or refactoring.
The Project Structure scope displays the projects within an application in a dedicated scope. Each project file identified in the application during the analysis by the com.castsoftware.architecture extension (for example a Visual Studio project file such as a .csproj file, or a Maven pom.xml project file) is represented by a node in this Project Structure scope. You can find more technical details about the project files that are supported in the extension documentation.
Click to enlarge
Accessing the Project Structure scope
To access the Project Structure scope, click the Project Structure scope entry in the Perimeter section of the Investigation panel - if the entry is greyed out then the application has not been analyzed with the required release of the com.castsoftware.architecture extension:
The Welcome page in CAST Imaging also includes a dedicated tile which will open the Project Structure scope - see User Guide - GUI - Welcome Page:
In 2.19.0, the Project Structure is not displayed in Custom Aggregation. This update is visible only when you reimport the application.
Choose a specific Project to display. Projects are listed in alphabetical order in the Select Project Structure dropdown - by default the first in the list is displayed in the view:
Perspective selection
By default, the perspective (how the data is displayed) will be set to CAST Taxonomy (the default layout configured by CAST Imaging and the only layout available) and Level 4 - you can find out more about the Perspective options in User Guide - GUI - Investigate panel.
Global view by Project (aggregated by)
You can get a global view of all Projects in the application by using the Application scope and then choosing the Project Structure mode in the Aggregated by drop down:
Click to enlarge
Properties panel for a selected node (i.e. a project), showing the project type (Maven in this example):
Source code can also be viewed for a specific project:
900
Scope of caller/callees
This option (available when the Project Structure scope is selected and when working at objects level) allows you to change the scope of objects that are considered for the Add Caller/Callees/Add Linked Objects options. See Perspective options in User Guide - GUI - Investigate panel:
Actions
In ≥ 2.18, Vignettes are replaced by Multiple Tabs (new tab/s).
Action | Location | Result/Behavior |
---|---|---|
Double click on node | Level 4 | Transition to level 5. |
Level 5 | Drill down to Vignette mode i.e.: Objects level + drill mode Children + Caller/Callee + Group by communities (depending on the object selected). See also User Guide - GUI - Investigate panel for more information on Drill and Communities modes. Click to expand | |
Within Vignette | Expand and investigate the selected object. A popup message is displayed when drilling down on the selected object when there are no more sub-objects to display - this is to ensure that users are aware that there are no further sub-objects for the selected object: | |
Objects | Expand and investigate the selected object. | |
Right click on node | Level 4 |
If the object properties cannot be retrieved in a timely manner, a retry button will be displayed:
|
Level 5 |
| |
Objects and Vignette mode |
| |
Single click on edge | Level 4 | N/A |
Level 5 and Objects level | Displays all the methods that are linked between classes and provides additional actions such as:
See User Guide - Using the Method view for more information. | |
Double click on edge | Level 4 | Drill down to level 5. |
Level 5 and Objects level | N/A |