The Structure tab is where you browse the current structural model of your codebase, as modified by the selected Action List. You can also further manipulate the model by adding or undoing actions. The model is presented in the form of a Levelized Structure Map (LSM). The other tabs reflect the selected action list, but the LSM is the only place you can perform actions.

While you can use the power of the LSM browsing/filtering/tagging/manipulation capabilities for many purposes, the Structure tab has been primarily designed to help you to organize your classes into a containment hierarchy, without too much stuff in any container (no “fat”) and without cyclic dependencies between containers (no “tangles”).

The main elements of the Structure tab are:

  1. Structural over-complexity (left) - the chart shows the percentage of the code-base that is tangled and fat (overly-complex), and tracks how this changes with each model change. The Tangles and Fat items lists indicate the areas in the codebase that contribute to any over-complexity shown in the chart. This section also contains a useful Map Contents panel.
  2. Levelized structure map (LSM) (center/top) - the visual model which you can browse, filter and manipulate (using mouse actions, toolbar, and context menu).
  3. LSM toolbar (top of LSM window) - options that affect how the LSM is laid out and filtered, and other commands.
  4. LSM commands (context menu in the LSM)- provides commands to manipulate the model.
  5. Dependency breakout (center/bottom) - shows you all the dependencies that compose a dependency you select on the LSM. You can always find out the source of dependencies by drilling into the LSM, but this lets you do it more directly without changing the LSM view.