Architekturen via Drag-n-Drop verbessern: Visuelle Refactorings mit Restructure101

Hartmut Schlosser

Headway Software hat die Version 2 des Werkzeuges Restructure101 vorgestellt. Restructure101 gehört aktuell zu den innovativsten Projekten überhaupt – und hat es bei den JAX Innovation Awards 2012 in den Kreis der Finalisten geschafft. Worum handelt es sich dabei?

Mit Restructure101 lassen sich unübersichtlich gewordene Software-Architekturen in eine neue Form bringen. Es handelt sich also, wie der Name schon andeutet, um ein Refactoring-Werkzeug. Dabei geht es nicht um Low-Level-Refaktorisierungen auf Code-Ebene, sondern um High-Level Refactoring auf dem Niveau von Komponenten, Packages, jars, Modulen, Directories, usw. Mittels sogenannter Levelized Structure Maps (LSMs) werden bestehende Abhängigkeiten der Architektur visuell dargestellt. Die Idee besteht darin, nur die relevanten Informationen übersichtlich darzustellen, die man für ein erfolgreiches Refactoring überblicken muss. Anschließend lässt sich die Map via Drag-and-Drop-Operationen interaktiv manipulieren. Eine spezielle Komplexitätstabelle zeigt die Effekte der getätigten Änderungen sofort an – ohne Risiko, da die Schritte jederzeit rückgängig gemacht werden können.

Idealerweise kommt man über Verschiebungen und Neugruppierungen der Abhängigkeiten zu einem Modell einer gesünderen Architektur, wobei die nötigen Schritte für die Umsetzung den Entwicklern direkt über eine Action-Liste in eine IDE übertragen werden (Eclipse, IntelliJ, Visual Studio). Analyse-Tools wie Sonar lassen sich ebenfalls einklinken, Integrationen zu Ant, Hudson, Maven und TeamCity bestehen.

Unten stehendes Video zeigt das Ganze nochmals in Trailer-Form.

Die gerade erschienene Version 2 von Restructure101 konsolidiert das Feature Set und verbessert die Usability und Stabilität. Außerdem sind erweiterte Filter hinzugekommen, die die Struktur-relevanten Informationen gezielter zum Vorschein kommen lassen sollen.

Headway CEO Chris Chedgey:

I have been using early builds of version 2 on a daily basis on customers‘ code-bases, the new UI and filtering features make it noticeably easier and faster to home in on the best restructuring strategy for a code-base.

Eberhard Wolff von adesso bescheinigt dem Werkzeug eine hohe Praxistauglichkeit. Die Struktur-Karte ermögliche es, die nötigen Architekturverbesserungen schnell zu erkennen. Durch reine Code-Verschiebungen, die risikofrei simuliert werden, könne bereits die Qualität der Architektur verbessert werden.

Restructure101 ist Teil der Structure101-Produktfamilie und steht auf der Projektseite in einem kostenfreien Trial bereit. Unterstützt werden u.a. die Sprachen bzw. Plattformen Java, .Net, C/C++. Via Drittpartei-Plug-ins lassen sich auch ActionScript, Pascal/Delphi, PHP, Python, SQL, XMI/UML und weitere an Bord holen.
Die Vollversionen für Java und .NET schlagen mit 900 US-Dollar zu Buche. Das PHP-Plug-in kostet 200 US-Dollar.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.