Refactor your architecture

Remove costly tangles and excess structural complexity.

Restructure101

Define your architecture

Define and communicate architecture rules to the whole team.

Structure101

Enforce your architecture

Enforce architecture rules and complexity constraints through your CI / build environment.

Structure101 Build
Restructure101 is a superb weapon in our continuing battle against architecture entropy.

Gary K. Evans
Dr. Dobb's Journal

1 The vast majority of code suffers from poor structure - a huge driver of cost - making it difficult or impossible to know the impact of changes, what to test, where to add code.

Restructuring is not trivial but the rewards are great.

"Begin with the possible and gradually move towards the impossible", Robert Fripp

2 Restructure101 is focused exclusively on refactoring your software architecture.

Not low level code refactoring but high-level structural refactoring - components, packages, jars, modules, assemblies, directories etc.

Remove component level tangles and see how much more effective the team becomes.

3 With the complexity inherent in today's codebases, the ability to let you see only what you need to see in the context of the whole code-base is key to successful refactoring. Our unique Levelized Structure Maps (LSMs) and their wide range of viewing options deliver the focus you need.

4 Manipulate our LSMs interactively with drag-and-drop simplicity to simulate structural refactorings. With the complexity chart, it's a risk-free heuristic step-by-step process that lets you see the impact of each change, so you always know you are heading in the right direction, allowing you to easily backtrack when necessary.

5 Restructure101's 'notables' highlight and rate the structural issues in your codebase - package tangles, class tangles, 'fat', and unused code so you know exactly where to target your efforts.

6 The goal is to drive the complexity chart toward the origin for a healthier, debt-free codebase, at which point you export your action list.

While the developers see and work through the action list in their IDE, progress can be tracked on a project wide basis in our centralized web based repository, integrated seamlessly with Sonar.

Platforms

  • Windows
  • Windows64
  • OS X
  • Linux
  • Most flavors of Unix

Languages

If you are interested in developing additional parsers for languages not currently supported you can read more here or drop us a mail.

Tools

Our products integrate seamlessly with:

  • Ant, Hudson, Maven, TeamCity
  • Eclipse, IntelliJ
  • Sonar
  • Spring (coming soon)
  • Visual Studio

Learn more

Structure101 reduced the overall schedule of one of our projects from 6 months to 3-4 weeks.

Dr. Frank Griffel
Techniker Krankenkasse

1 Define a reference architecture and layering rules for your whole team.

  • Our rich, intuitive architecture diagrams express containment, visibility and layering.
  • Map blocks in diagrams to physical code with regex patterns that are used by Structure101 to discover and display violations.

2 Communicate your architecture to the whole team.

  • Our free IDE plugins present your reference architecture to developers and warn at compile-time when a code change violates your architecture.
  • Our free Sonar plugin and web application track quality metrics and violations of your software architecture as it evolves over time.

3 Improve your understanding of your codebase from several perspectives with our comprehensive range of visualization tools.

  • Ensure developers know where to extend the code.
  • Rich impact analysis when changes are required to the code, so you know exactly where and what to test.

4 Compare - see how your codebase has changed from any previous build - what are the new dependencies, new architecture violations, complexity metrics and trends? You don't need to review everything all the time - just keep an eye on how it's evolving.

5 Measure complexity limits and rule violations at any level: design, package or namespace, class, method.

Platforms

  • Windows
  • Windows64
  • OS X
  • Linux
  • Most flavors of Unix

Languages

If you are interested in developing additional parsers for languages not currently supported you can read more here or drop us a mail.

Tools

Our products integrate seamlessly with:

  • Ant, Hudson, Maven, TeamCity
  • Eclipse, IntelliJ
  • Sonar
  • Spring (coming soon)
  • Visual Studio

Learn more

I really appreciated the Maven 2 integration -- it made getting going a breeze!

Jim Bethancourt
Houston JUG

1 Decide which complexity thresholds and architecture rules will not be violated.

2 Break the build and notify when structural constraints are crossed.

3 Automate the recording and tracking of architecture, violations, and complexity debt over time with the Structure101 web application and/or our Sonar plugin.

4
Integrates seamlessly with continuous integration and build environments such as Hudson, Maven, Ant, TeamCity and MS Build.

 

Platforms

  • Windows
  • Windows64
  • OS X
  • Linux
  • Most flavors of Unix

Languages

If you are interested in developing additional parsers for languages not currently supported you can read more here or drop us a mail.

Tools

Our products integrate seamlessly with:

  • Ant, Hudson, Maven, TeamCity
  • Eclipse, IntelliJ
  • Sonar
  • Spring (coming soon)
  • Visual Studio

Learn more