Diagram Arrangements

home        Stephen Ferg, 2008

In my analysis and design classes I try to impress upon my students the importance of the arrangement of their diagrams. Aesthetics matters! The layout of a diagram conveys important information about the basic structure of the domain — application, database, process, or whatever — that is being diagrammed.

Here are some examples that illustrate that point. All of these diagrams are structurally identical. They all contain the same number of nodes, connected in the same way. But they are arranged differently, and the different arrangements tell very different stories about the basic structure of the domain being modeled.


Example 1. The domain is basically tree-structured, hierarchical.






Example 2. The domain has two basic parts. Each part is almost self-contained, with a very limited interface between the two parts.




Example 3. The domain is basically a sequence of parts. Some of the parts have sub-parts.




Example 4. Here is an example of how not to diagram a domain.

If your diagram looks like this, you need to untangle it. Make it tell a clear story about the basic structure of the domain.


Some tips about diagram arrangements

  1. Try to avoid having connector lines crossing other connector lines.

  2. Your diagram should have a clear flow or direction:

    Diagrams that represent processes (e.g. process flow diagrams) have an inherent flow or sequence based on the process being represented. The flow of the diagram should reflect the inherent flow of the process.

    When diagramming static domains that don't have an inherent flow (e.g. class diagrams, entity-relationship diagrams, database diagrams), the diagram's direction of flow should be from the most important nodes (entities/classes/tables/modules) of the application toward the less important nodes.

    TIP: Put the most important nodes at the beginning of the flow — at the left, top, or center of the diagram. Their position on the diagram helps to draw the viewer's attention to them, and indicates that they are the important nodes in the domain.

  3. If rule 1 (no crossing connector lines) conflicts with rule 2 or 3, rules 2 and 3 take precedence.

  4. Some diagrams are naturally tall and narrow (like example 1) while others are naturally short and wide (like example 3). Switching your diagram from portrait mode to landscape mode (or vice versa) may make it easier to create a diagram with a natural shape.

About empty space

  1. The most common mistake I see is to try to arrange a diagram so it fits on a single sheet of paper, rather than arranging it to show its natural structure. The result often looks like example 4.

    Do not do this!

    The most important rule of all (because it is so often violated) is: Once you have a nice clean diagram that tells a clear story about the domain, do not rearrange it so that it will fit on one page.

  2. Don't try to eliminate empty space. You want empty space in your diagram. Empty space gives you room in which to arrange your nodes in a way that tells a clear story.

  3. Keep the size of your nodes fairly small. This will increase the amount of empty space on your diagram.

  4. If your diagram is too big to fit on one printed page: