This is an area which has just caused a slight delay and refactoring of the Rangers Architecture Guidance. We were using the term “reverse engineering” which has some connotations and should be avoided … but if we are not to reverse engineer, what are we to do? We debated the options analyze and explore. Brian’s HOLs use analyze code, but we decided to align ourselves with user education (UE) and used explore an existing system, which promises slightly less in terms of results … but at the end of the day we are reverse engineering code, analyzing it and producing visualizations (models).

Dependency graph zooming can be done by using CTRL + Mouse Scroll Wheel

When you hover over a blue relationship line, you can expose:

Navigate to source

Navigate to target

(+) Generate new graph with just source and target nodes.

You can delete nodes from the dependency graph to reduce noise … which deletes from the graph, not the solution 🙂

We could, for example, delete the Externals node

If we do, we should use the Legend and add IsExternal node property with a very conspicuous colour.

Dependency graph includes Externals

Reflection is used to explore the inner world of externals

We should use the legend to add IsExternal and add a conspicuous colour.

Note that the vertical bar can be selected to display further properties … this one had me staring at the screen for a while: …

At this stage I will stop the blog post, because there are gazillion filters and options which you should experiment with. There is no finite guidance as to how to explore … experiment with the tooling and create a strategy that works for you.