August 30, 2008

Automatisches und kostentransparentes Refactoring komplexer und monolithischer Systeme

« Reengineering Modul Jackpot | Main | Webservice mit CXF und Spring »
Die Komplexität einer Software steigt durch neue Anforderungen und durch fehlende Refactoringschritte. Meistens ist diese Entwicklung durch einen stark getriebene marketinggetrieben Prozess bedingt.

Die Resultat stellt meistens eine monolithische und nicht mehr wartbare sowie erweiterbare Softwarearchitektur und Businesslogik dar.

Die Lösung für neue Projekte besteht heutzutage meistens in einem Refaktorisierungprozess,  welcher in relativ kurzen Intervallen dem Softwaresystem zu mehr Transparenz und damit einer, den neuen Anforderungen angepassten Architektur, verhilft.

 

 

 

Wie steht es aber mit bestehenden Softwaresystemen, bei denen eine regelmäßige Refaktorisierung versäumt
worden ist.

Ein möglicher Ansatz wäre der Einsatz von granularen und speziell definierten Rekaktorisierungsregeln mit Hilfe von API's, welche nicht nur einfache Refaktorisierungsarbeiten durchführen (wie z.B. die Umbennenung eines Package-Namens) sondern Architektur- und Logikmuster erkennen und diese in eine gewünschte Form bringen. Basierend auf diesen Vorgaben kann komplexe Logik thematisch getrennt und damit einfacher modularisiert werden kann. Vor allem entsteht so die Möglichkeit automatisiert komplexe Logik zu erkennen und zu transformieren.

Die Refaktorisierung sollte sich dabei nicht nur auf den Sourcecode beschränken sondern gleichzeitig auch alle anderen Softwarekonstrukte (wie z.B. XML-basierte Konfigurationsdateien usw. ) mit einbeziehen.

 

 

Die Transformationsregeln können beispielsweise durch folgenden Prozess erzielt werden:

 

 

 

Die Jackpot API stellt eine Refatoringlösungen dar mit derer Hilfe man genau solche Refactoringlösungen automatisiert durchführen kann. Ich werde demnächst die Jackpot API mit Hilfe von Beispielen vorstellen.

Mit freundlichen Grüßen
Rafael Sobek

Technorati Tags:

Posted by rafael.sobek at 10:31 PM in Refactoring

 

Pingback: Automatisches und kostentransparentes Refactoring | Infopirat.com at Mo, 1 Sep 11:11 AM

Automatisches und kostentransparentes Refactoring komplexer und monolithischer Systeme
einer Software steigt durch neue Anforderungen und durch fehlende Refactoringschritte. Meistens ist diese Entwicklung durch einen stark getriebene marketinggetrieben Prozess bedingt...

Trackback: hype.yeebase.com at Mo, 1 Sep 3:58 PM

Automatisches und transparentes Refactoring komplexer Systeme
Die Komplexität einer Software steigt durch neue Anforderungen und durch fehlende Refactoringschritte. Meistens ist diese Entwicklung durch einen stark getriebene marketinggetrieben Prozess bedingt.

« August »
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
31