Augmented design structure matrix visualizations for software system analysis
AssigneeSiemens Aktiengesellschaft
InventorBradley Wehrwein
Life of this patent
Estimating the term…
Abstract
A design matrix structure visualization technique and tool for the study and analysis of systems, such as software systems, where the bounds of the matrix are defined by a selected focusing metric and entities forming the system are displayed in the matrix as blocks of size relative to their proportion of the selected focusing metric. Relationships between entities are illustrated by summing all relationships between individual elements forming each displayed entity. Where possible, an identifier defining the characteristic of a displayed block is also shown. Preferably, the technique and tool includes a “zoom” feature to allow a user to drill down and uncover details associated with smaller blocks as shown in the original view.
Claims13
A computer-implemented method for visually displaying relationships between code entities forming a software system, the method comprising the steps of:
- defining a plurality of code entities forming the software system;
- determining and storing all relationships between various pairs of code entities forming the plurality of code entities;
- selecting a metric to be used in evaluating the software system;
- creating a design structure matrix visualization of the software system, using the selected metric as the definition of the coordinates of the matrix and displaying code entities as squares of size relative to the selected metric and arranged along a diagonal of the matrix according to a specified ordering, with sub-entities of appropriate size displayed within their associated higher-level code entities, the design structure matrix being a symmetric square matrix with downward relationships from higher to lower code entities displayed below the diagonal and upward relationships displayed above the diagonal;
- identifying a subset of the code entities as large code entities based on the size of the squares displayed in the design structure matrix visualization exceeding a specific threshold;
- determining aggregated values of relationships between pairs of code entities displayed in the design structure matrix visualization, each aggregated value indicating a total number of relationships between a pair of code entities;
- and
- only for pairs of large code entities, displaying the aggregated values within the intersections between the pairs of appropriate code entities.
A system having a memory storing executable instructions for creating a visual display of relationships between code entities forming a software system as a function of a user-defined focusing metric, the system comprising:
- means for identifying and storing all relationships between various pairs of the code entities forming the software system;
- means for creating a design structure matrix visualization of the software system, using the selected metric as the definition of the coordinates of the matrix and displaying code entities as squares of size relative to the selected metric and arranged along a diagonal of the matrix according to a specified ordering, with sub-entities of appropriate size displayed within their associated higher-level code entities, the design structure matrix being a symmetric square matrix with downward relationships from higher to lower code entities displayed below the diagonal and upward relationships displayed above the diagonal;
- means for identifying a subset of the code entities as large code entities based on the size of the squares displayed in the design structure matrix visualization exceeding a specific threshold;
- determining aggregated values of relationships between pairs of code entities displayed in the design structure matrix visualization, each aggregated value indicating a total number of relationships between a pair of code entities;
- and, only for pairs of large code entities, displaying the aggregated values within the intersections between the pairs of appropriate code entities.
A computer implemented method for visually displaying relationships between entities forming a system, the system being of a hierarchical tree-and-branch structure and including relationships between the lowest-level entities of the system, the method comprising the steps of:
- defining a plurality of entities forming the system;
- determining and storing all relationships between various pairs of entities forming the plurality of entities;
- selecting a metric to be used in evaluating the system;
- creating a design structure matrix visualization of the system, using the selected metric as the definition of the coordinates of the matrix and displaying entities as squares of size relative to the selected metric and arranged along a diagonal of the matrix according to a specified ordering, with sub-entities of appropriate size displayed within their associated higher-level code entities, the design structure matrix being a symmetric square matrix with downward relationships from higher to lower code entities displayed below the diagonal and upward relationships displayed above the diagonal;
- identifying a subset of the entities as large entities based on the size of the squares displayed in the design structure matrix visualization exceeding a specific threshold;
- determining aggregated values of relationships between pairs of entities displayed in the design structure matrix visualization, each aggregated value indicating a total number of relationships between a pair of code entities;
- and
- only for pairs of large entities, displaying the aggregated values within the intersections between the pairs of appropriate entities.
Apparatus having a memory storing executable instructions for creating a visual display of relationships between entities forming a system as a function of a user-defined focusing metric, the system being of a hierarchical tree-and-branch structure and including relationships between the lowest-level entities of the system, the apparatus comprising:
- means for identifying and storing all relationships between various pairs of the entities forming the system;
- means for creating a design structure matrix visualization of the system, using the selected metric as the definition of the coordinates of the matrix and displaying c-oge entities as squares of size relative to the selected metric and arranged along a diagonal of the matrix according to a specified ordering, with sub-entities of appropriate size displayed within their associated higher-level code entities, the design structure matrix being a symmetric square matrix with downward relationships from higher to lower code entities displayed below the diagonal and upward relationships displayed above the diagonal;
- means for identifying a subset of the entities as large entities based on the size of the squares displayed in the design structure matrix visualization exceeding a specific threshold;
- determining aggregated values of relationships between pairs of entities displayed in the design structure matrix visualization, each aggregated value indicating a total number of relationships between a pair of entities;
- and only for pairs of large entities, displaying the aggregated values within the intersections between the pairs of appropriate entities.
Dependencies are inferred from the claim text.