|
Zur Arbeit von Dr. Michele Lanza:
Selbst Softwaresysteme mit ursprünglich gutem Design verlieren im Laufe der Zeit an Struktur. Wartung und Weiterentwicklung hinterlassen ihre Spuren, sei es, dass die Entwurfsprinzipien mangels guter Dokumentation in Vergessenheit geraten, sei es, dass sie wegen Zeitdruck und Budgetmangel missachtet werden, sei es, dass sich die technische Plattform ändert oder einfach die Qualifikation der Wartungsingenieure nicht ausreicht - die Software verliert an Struktur. Soll sie lange leben, muss sie einem Reengineering unterzogen werden. Voraussetzung dafür ist ein Reverse Engineering, also eine Analyse, mit der die aktuelle Struktur und die Funktionsweise transparent gemacht werden. Das ist schwierig, allein schon aufgrund der schieren Größe der Systeme und ihrer Komplexität.
Michele Lanza hat Techniken und sie unterstützende Werkzeuge entwickelt, mit denen verschiedene Strukturmerkmale eines objekt-orientierten Softwaresystems sichtbar gemacht werden können. Er visualisiert sie mit einfachen grafischen Mitteln, im Wesentlichen mit Rechtecken, deren Seitenlänge, Anordnung und Färbung bestimmte Metriken repräsentieren. Diese "polymetrischen Sichten" hat er auf drei Bereiche spezialisiert: (1) auf das System im Großen, (2) auf die Klassen im Kleinen und (3) auf die Evolution, der die Software unterworfen war.
Lanza gibt damit dem Reverse Engineer ein Repertoire an Instrumenten für die Analyse an die Hand; die Diagnose jedoch muss dieser selbst stellen, wie ein Arzt beim Interpretieren eines Röntgenbilds. Lanzas Methode besticht dadurch, dass sie auf Basis einer ganz einfachen Grundidee - der Darstellung von Metriken mit Rechtecken - eine Vielfalt von Erkenntnissen über komplexe Softwaresysteme zu gewinnen ermöglicht. Er hat sie an einigen großen Systemen erprobt und in seiner Dissertation sehr ansprechend dargestellt.
|