The System Complexity Overview is a specialized Polymetric View that visualizes the structural and metric-based complexity of an entire object-oriented software system. It provides a high-level yet detail-rich snapshot of all classes, their relationships, and their internal properties using intuitive visual metaphors.
Visual Elements and Their Meaning
In this view, each rectangle (node) represents a class within the system. The visual properties of each rectangle encode software metrics:
-
Width → Number of attributes (fields)
-
Height → Number of methods
-
Color intensity → Complexity metric (e.g., cyclomatic complexity or weighted method count)
-
Position → Determined by structural layout: packages, hierarchies, or static relationships
Edges (lines) between rectangles typically represent method calls, inheritance, or other dependencies, making it possible to observe how tightly or loosely components are coupled.
Interpretation of the View
In this example one can observe:
-
Large dark rectangles in the center of the view:
These are likely God Classes—they are large (many methods and attributes) and complex (dark shading). They are potential refactoring candidates. -
Medium gray nodes clustered around central classes:
These likely represent collaborating classes or subsystems. Their size suggests moderate complexity and responsibility. -
Tiny white rectangles on the periphery:
These may be simple utility or data holder classes with minimal logic. -
Long dependency lines from one node to many others:
This can indicate high coupling or a class acting as a controller or coordinator. -
Vertical layering:
Sometimes used to show inheritance levels or architectural tiers.
Use Cases for System Complexity Views
This view is particularly useful for:
-
Architecture audits – identifying dominant and problematic classes
-
Legacy system analysis – uncovering overly complex or entangled parts of the system
-
Refactoring planning – prioritizing based on visual impact
-
Design validation – confirming modular structure and separation of concerns
Key Insights
-
A healthy system often has many small to medium-sized rectangles with short edges and low color intensity.
-
Monolithic central nodes with many outgoing connections are architectural smells.
-
Clusters can indicate natural modules or feature boundaries.