Praktikable Ansätze zur Verbesserung der Entwicklung eines Altsystems

Zusammenfassung

Die vorliegende Arbeit befasst sich mit der Durchführung einer Altsystemanalyse, um deren Strukturen zu verstehen und die Grundlagen für die Weiterentwicklung bzw. Neuimplementierung von Systemteilen zu legen. Altsysteme sind mit hohen Kosten und Risiken verbunden, daher stellen diese für die Industrie ein großes Problem dar.

Als Forschungsobjekt wird das Portal DIE WELT untersucht, da die Pflege und Wartung des WELT-CMS ein großes Fehlerpotential aufweist. Es besteht ein großer Bedarf an einer Übersicht von kritischen Codeteilen und potentielle Schwachstellen des Systems, um weitere Strategien zur Qualitätsicherung zu entwickeln. Dabei stellt sich die Frage: mit welchen Strategien sich eine bereits existierende alte Codebasis verbessern lässt?

Diese Arbeit hat das Ziel, eine Analyse bei WeltN24 durchzuführen und eine Bewertung des Altsystems hinsichtlich gefundener Probleme vorzunehmen, um daraus einige Strategien für die Softwareentwicklung vom laufenden Forschungsobjekt abzuleiten. Dafür werden zuerst einige existierende Methoden diskutiert und daraufhin folgende Ansätze angewandt: Analyse von Defekten anhand von Fehlerberichten und Defektkorrekturen; Identifizierung kritischer Module im System; Analyse von Wartungsaufwand und Wirkung des unerreichbaren Codes; Analyse des Einsatzes der Unit Tests und deren Aufwand. Zum Schluss werden die kritischen Punkte bewertet und mögliche Verbesserungsvorschläge vorgelegt.

Fallstudie

Die vorliegende Arbeit wird in Kooperation mit WeltN24 durchgeführt. Als Forschungsobjekt dient das Premium-Nachrichten-Portal der WELT-Gruppe. Es ist ein komplexes Altsystem, welches aufgrund der monolithischen Architektur sehr mühsam zu pflegen ist und bietet somit ein angemessenes "Grundgerüst", mit dessen Hilfe die Forschungsfragen dieser Arbeit bearbeitet werden.

Zielsetzung

Das Hauptziel dieser Arbeit liegt in der Durchführung einer angemessenen Analyse, um die Strategien für WeltN24 ableiten zu können, wie man mit dem vorliegenden Systemen umgehen kann.

Eine Möglichkeit zu einer wertvollen Altsystemanalyse bieten die Verfahren, die sich nicht nur auf den Jetzt-Zustand des Codes beziehen, sondern ebenfalls auf statistische Daten aus dem Projekt und Änderungen in der Versionsgeschichte beruhen.

Der Schwerpunkt der ausgesuchten Strategien erstreckt sich auf die Verfahren aus dem Bereich Mining Software Repositories. Diese enthalten unter anderem das Betrachten der Versionsgeschichte eines Projektes, welche statistisch oder qualitativ ausgewertet werden kann, um evtl. Informationen über Defekte und ihren Ursprung zu gewinnen.

Aus den Praxisproblemen werden folgende Forschungsfragen abgeleitet und in dieser Ausarbeitung beantwortet:

Um die aufgelisteten Fragen zu beantworten, werden zuerst existierende Strategien erarbeitet, passende ausgesucht und im Unternehmen angewandt. Die Auswahl der Forschungsstrategien und Forschungsmethoden werden im Zuge dieser Ausarbeitung begründet. Im nächsten Schritt werden die Ergebnisse bewertet und mögliche Verbesserungsvorschläge unterbreitet.

Entwurf und Konzept

Für das Konzept wurden die folgenden Ansätze ausgewählt, die auf oben beschriebene Forschungsfragen geantwortet werden:

(I) Ermittlung von defektanfälligen Komponenten anhand Defekt-Korrekturen

Das Ziel: Identifizierung von kritischen Modulen im System.

Das Konzept:

Unter einem Bugfix Link wird das Paar von einem Fehlerbericht und der entsprechenden Fehlerkorrektur verstanden.

Zur Auswertung werden folgende Fragen beantwortet:

(II) Erkennung von Defektmustern im Code anhand Fehlerberichte

Das Ziel: Analyse von Defekten anhand von Fehlerberichten und Defektkorrekturen, um häufige Fehlermuster zu identifizieren und deren Ursprung besser zu verstehen.

Das Konzept:

Unter einem Fehlermuster werden hier die Teilmengen von Fehlern verstanden, die hinsichtlich ausgewählter/definierter Kriterien die gleichen Ausprägungen haben.

Zur Auswertung werden folgenden Fragen beantwortet:

(III) Wartungsaufwand von unerreichbaren Codeblöcken

Das Ziel: Analyse von Wartungsaufwand und Wirkung des unerreichbaren Codes.

Das Konzept:

Zur Auswertung werden folgenden Fragen beantwortet:

(IV) Testabdeckung

Das Ziel: Analyse des Einsatzes bzw. der Weiterentwicklung der Unit Tests und deren Aufwand für eine kritische Komponente im System.

Das Konzept:

Zur Auswertung werden folgenden Fragen beantwortet:

Comments