Specify

Simulate

Manipulate the model to figure out how to break monoliths, disentangle and decouple, define restructuring action lists, and target architectures.

Analyse

Understand the model through many visual, measurement and analysis views.

C/C++, Python

"Using Structure101 when performing code and architecture reviews is a real kick-start for our consultants. "

Björn Granvik

CTOJayway

"I use Structure101 when I want to understand the overall structure of a system and evaluate potential changes"

Kent Beck

"The MUST HAVE tool if you're analyzing and restructuring a large, complex body of software."

Timothy High

Server ArchitectQuidd

Simulate restructuring

See overall level and specific areas of over-complexity, drill down to find the cause of tangles, move classes between packages to reverse package dependencies. When you have a plan, export the action list, knowing how the codebase will be structured when it is implemented.

Create task-specific views

Tag the dependencies of an item, isolate the tagged items (filtering), hide packaging (slicing), expand all to show a complete call graph, isolate further for paths between 2 items, show results with packaging or without.

Organize modules into groups

Group related modules together to help understanding. Group related groups, etc. Assign colours to groups for easy recognition.

Constrain module dependencies

Create dependency validation diagrams

Create “Architecture Diagrams” that use patterns to associate arbitrary groups of code to cells – check that dependencies follow the layering and visibility constraints implied by the diagram. (Checkable also in Structure101 Workspace and Structure101 Build).

Use model views to analyse structure

Drill down on size and structural over-complexity (Fat and Tangles), view the child dependency graph for any structural container as a directed graph or dependency matrix, view “Slices” at increasing levels of composition, find the dependencies on/from any item at any level of composition, walk class hierarchies, chase method calls, and discover notable structures that may indicate refactoring.

See how structure changes over time

Save the structure of any build of your codebase and see how the structure changed in later builds. New and modified items and dependencies are indicated by color throughout the Studio UI.