Scanyp Dependency Matrix

The Dependency Structure Matrix (DSM) provides a concise method to depict and traverse dependencies between components. One might wonder, why have both a graph and a DSM to convey identical data? The answer lies in their individual merits and drawbacks:

  • While graphs are innately easy to grasp, they can become cluttered and hard to comprehend as the number of nodes and edges increase. Even a mere few dozen boxes can turn a graph chaotic.
  • On the other hand, DSM might require a steeper learning curve, but it is adept at illustrating vast and intricate graphs. Hence, DSM is considered more scalable than graphs.

For those who grasp the fundamentals of DSM, it often becomes the favored tool over graphs, particularly due to its capacity to highlight structural patterns instantly.

In the matrix, code element dependencies are symbolized by colored cells with a specific numeral:

  • Blue cell: Demonstrates a 'use' dependency where a code element from the rows utilizes the code element from the columns. The numeral indicates the count of members (both methods and fields) used.
  • Green cell: Indicates a 'used by' dependency, signifying that the code element in the rows is utilized by the one in the columns. The included number corresponds to the count of members used.
  • Red cell: Denotes a dependency loop between the respective code elements.

Navigating the Dependency Matrix

To delve into a dependency between two code components, simply double-click a cell to view the interdependencies within that element. Plus, navigation buttons facilitate toggling back and forth within the matrix.

Dependency Matrix Toolbar Features

  • Navigation: The toolbar buttons enable users to toggle backward and forward through the graph.
  • Export: Scanyp allows users to transition the dependency matrix to a dependency graph.
  • Task Association: Post task creation for specific objectives, there might be a need to append a dependency matrix to equip the developer with pertinent details. By selecting the "Add to my tasks" option, one can affix the graph to a pre-existing task or generate a new one.
  • Working Set Addition: A working set enables developers to zoom in on particular code components, preventing them from being overwhelmed by the entire project's code elements. Within the working set, essential data is made available for specific code attention. By clicking the "Add to working set" button, one can incorporate the matrix into an existing working set.