Dependencies - Components and Code

This exploration is a force-directed graph showing:

  • The components in a given container.
  • The code elements that make up each component.
  • The relationships between components.
  • The relationships between components and code elements.

Please note that this exploration does not show relationships between code elements. It does, however, show where code elements are shared between components. Arrows represent dependency relationships.

Dependencies - Components and Code

Colour coding

The colour coding is as follows:

Component Code Shared Code Highlighted Visibility

Tooltip

Hovering the mouse pointer over an element will show a tooltip with more detail about that element.

Dependencies - Components and Code

Highlighting direct connections

Click a node in the graph to highlight the other nodes that are directly connected to it.

Dependencies - Components and Code

Visibility

If information about code visibility (public, package protected, internal, etc) is included in the software architecture model, a dropdown control will allow you to highlight all code elements with a given visibility.

Dependencies - Components and Code

In this example, all public code elements have been highlighted with a red outline. This can be useful to identify single-use code elements that may have been made public accidentally, like the JdbcPetRepositoryImpl class here.

Filtering code elements with a regular expression

A regular expression can be used to filter the code elements that are included in the graph. For example:

  • .* - include all code elements.
  • repository - include all code elements that have repository in the type name.
  • ^(?!.*(model|util)) - include all code elements that don't have model or util in the type name.