4 Beispiel im Rahmen des DVP-Projektes
Für die praktische Demonstration der in Kapitel 3 vorgestellten Konfigurationsmöglichkeiten
soll eine bestehende Live-CD untersucht werden, die eine kundenspezifische Anordnung der
Plugins der VDR-Software enthält.
Dafür wird die von Melanie Schöppe und Martin Rulsch entwickelte Demo-CD im Rahmen
ihrer gemeinsamen Studienjahresarbeit ''Digitales Video Projekt auf einer Boot-CD''162 verwendet
und analysiert. Die prototypische Live-CD wurde ausschließlich für die Testumgebung
im Labor der TU Ilmenau erstellt. Dabei soll die Softwarequalität mittels geeigneter
vorgestellter Methoden und Techniken im Sinne eines Software Reengineerings und Refactorings
erhöht werden, um zukünftige Änderungen leichter realisieren zu können.
Refactoring als ein Teilbegriff des Reengineerings hat das Ziel, die Softwarequalität ohne
Änderung der eigentlichen Funktionen hinsichtlich der Wiederverwendung, Nachvollziehbarkeit,
Wartbarkeit, Anpassbarkeit, Lesbarkeit und Optimierung der Ressourcennutzung zu
verbessern und für zukünftige Systeme Schwachstellen zu finden und zu eliminieren. Im Zuge
des Reengineerings können dann neue Anforderungen schneller eingepflegt werden. Beide
Begriffe werden jedoch oft gleichbedeutend verwendet. Historisch gesehen gründet sich die
Softwaresanierung mit Funktionsäquivalenz in den 1980er Jahren, als man damit begann,
Software zu strukturieren und zu modulieren. Das sollte die Lesbarkeit erhöhen und Operationen
auslagern. Heute liegt der Fokus auf der Wiederverwendbarkeit von Softwareteilen. Die
Objektorientierung bietet sich dabei an, Klassenstrukturen sind jedoch zu feingranular, so dass
Wiederverwendung in gröberen Strukturen wie Komponenten stattfinden muss163.
Das Reengineering von Software als Überbegriff umfasst geeignete Methoden und Techniken,
sowie alle Schritte, die die qualitative Verbesserung, Aufbereitung und Evolution von Programmen
unterstützen. Möglich ist dies in folgenden Bereichen:164
- Emergency Repairs: unverzügliche Behebung von Fehlern
- Korrektive Systemerhaltung: Behebung von Fehlern im nächsten Release
- Erweiterung / Adaption: Anpassung an geänderte oder neue Anforderungen
- Migration: Überführung in eine neue Umgebung
- Integration: Einbindung in umfassendere Systeme
- Sanierung: Verbesserung der Software-Qualität ohne Änderung der Funktionalität
- Re-Dokumentation: nachträgliche Erstellung oder Verbesserung der Dokumentation
So können z.B. Maßnahmen im objektorientierten Code vorgenommen werden:
- Umbenennen von Methoden
- Umbenennen von Klassen
- Verschieben von Methoden
- Aufteilen von Klassen
- Zusammenfassen von Klassen
Die genannten Ziele und Maßnahmen der Zielerreichung sollen auf die bestehende Live-CD
angewendet werden. Dazu wird im Folgenden Unterkapitel die CD im Rahmen einer Ist-
Analyse vorgestellt. Des Weiteren werden anhand der Analyseergebnisse des 3. Kapitels theoretische
Vorschläge im Sinne des Refactorings und Reengineerings gemacht, um das Konfigurationsmanagement
zu verbessern.
Der Aufbau der Pluginarchitektur kann folgender Abbildung entnommen werden:
- 162: Vgl. [Schö 2005]
- 163: Vgl. [Snee 2001] S. 5
- 164: Vgl. [Kuhl 2004] Home