Release 8.0
|
|
Release 8.0 of Imagix 4D introduces Delta Analysis. Both powerful and unique, Delta Analysis enables the differences of software revisions to be analyzed at a structural level rather than merely at a source code level. 8.0 also significantly extends the functionality of the tool for architectural analysis, in particular adding a Design Structure Matrix (DSM) view. These two enhancements work together, so that the 8.0 version of Imagix 4D supports analysis of software changes or variants at an architectural level.
Delta Analysis
Exposing the impact of source code differences at a structural and even architectural level rather than simply as file diffs is what makes Delta Analysis unique. At any time, you're able to create a revision of an Imagix 4D project. The revision stores the complete control hierarchy of the functions and variables currently existing in the project, as well of the file and class packaging for those symbols. You can later compare any stored revision to the current structure of the software.
As an alternative, you can do the comparison between the current structure of your project and the current structure of any other project that you have created.
Changes are shown in reports and graphs. In views ranging from Function Call Trees all the way up to Subsystem Architecture diagrams, you're able to study the symbols and dependencies that have changed between the revision and the current project.
Delta Analysis also contains an integrated Diff Tool. While most of the Delta Analysis displays reveal structural differences, there will be times when you want to drill down to the related source code differences. Starting from the context provided by Delta Analysis, you can examine the file differences, either using the internal Diff Tool or by launching your own diff tool from Imagix 4D.
The most typical application for Delta Analysis is tracking the impact of changes during source code development and maintenance. Comparing the structure of newer versions of the software with older versions can be used to confirm that the latest changes to the source code are indeed desired. Some of the reports can be used as a basis for QA activities; their systematic listing of structural and dependency changes can help focus testing activities.
However, Delta Analysis can be used anywhere that there are multiple variants of the same basic code. Two branches originating from the same base can be compared. So can a single set of code with different combinations of conditional compile flags, or even the same base of source code using header files from different compilers.
In Delta Analysis views, such as this Subsystem Architecture diagram, symbols or relationships that only exist in the current project are displayed in green. Red is used to indicate those that exist only in the revision.
DSM and Architecture Analysis
| For examining as-built architectures and analyzing potential changes, DSM views directly complement the Subsystem Architecture diagrams. |
In release 8.0, the architecture views become more central to the Imagix 4D user interface. The new Design Structure Matrix (DSM) view complements the existing Subsystem Architecture (SA) diagram. While the focus of SAs in on the hierarchy of subsystems, DSMs reveal the dependencies between those subsystems. The architecture definition used by the SA diagrams is shared with DSMs. The insights gained from DSM analysis can be used for modifying the architecture in an SA diagram. The results of any changes are reflected in both architectural representations.
The utility of the DSMs is leveraged by their integration with the rest of the tool. For example, in examining dependencies in a DSM, the full drill-down functionality of Imagix 4D is available. You can right-click on a high level dependency displayed in a cell of a DSM, and from the resulting pop-up menu you can launch a new display revealing the underlying function calls and variable uses that make up the dependency.
When used together with Delta Analysis, DSMs (and SA diagrams) provide high level perspective on the differences between the revision and the current project.
Other Enhancements
Release 8.0 incorporates additions and enhancements in many other areas, including data collection and content, visualization, reports, metrics, and user extensibility. You can find more detail about specific changes in our release notes.
|