Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Infoiframe
iconframeborderfalse0
titleheightTable of Contents10

Table of Contents
maxLevel2

When talking about architecture the first priority is to remove cycles between packages by cutting undesired dependencies.

How to Hunt for Cycles?

Add the Package design widget on your dashboard:

Image Removed

Drill down to the Dependency Structure Matrix (DSM).

Dependency Structure Matrix

The DSM is a compact way to represent and navigate across dependencies between components. According to the navigation level, those components can be Maven modules, packages or files:

 

 

Image Removed

Row Selection

A row can be selected by clicking on the component name :

Image Removed

Colors Meaning

Colors are used to help visualize row dependencies at a glance :

Image Removed

Which means that green components depend on blue components which depends on orange components. Here is a simple example on commons collections project:

Image Removed

Cell Selection

A cell can be selected by clicking on the number of file dependencies :

Image Removed

DSM Sorting and Cycles

Image Removed

Find Usages for Dependencies

Image Removed

Note

The detail of a dependency is not available between Maven modules.

Zoom into a Component to get Dependencies Between Sub-components

Image Removed

Image Removed

srchttp://redirect.sonarsource.com/doc/dsm.html

Documentation has been moved to http://redirect.sonarsource.com/doc/dsm.html.

Documentation has been moved to http://redirect.sonarsource.com/doc/dsm.html.