Einführung von Testautomatisierung
Einführung von Testautomatisierung in einem Unternehmen erfolgt bestenfalls schrittweise. Dies dient dazu, die Techniken und Tools an die Bedürfnisse...
Die Messung, Prüfung und Beurteilung der Quantität, Qualität und Komplexität von Anwendungssystemen bildet eine fundierte Basis für Entscheidungen zur IT-Strategie. Gerade bei Legacy-Systemen mit großem, gewachsenem Codeumfang und einer hohen Sprachenvielfalt können so Daten ermittelt und eine Vergleichbarkeit geschaffen werden, die für eine Bewertung verschiedener Weiterentwicklungsszenarien (Wartung, Migration, Sanierung, etc.) herangezogen werden können. Hierfür ist es jedoch nötig, aus der sehr großen Menge an möglichen Kennzahlen und Metriken die geeigneten auszuwählen.
Typische Ziele, die mit einem Projekt zur Vermessung von Anwendungssystemen verfolgt werden, sind:
Um das erste Ziel, die Vermessung des Systems, erfüllen zu können, ist es notwendig, den Sourcecode der Applikation so zu strukturieren und für die Messung aufzubreiten, dass eine sinnvolle Vergleichbarkeit der Messergebnisse möglich wird. Eine Einteilung kann z.B. nach Sprachen (Cobol, PL1, C++, etc.) oder auch nach speziellen fachlichen Bereichen erfolgen. In weiterer Folge können somit die einzelnen Bereiche in Bezug auf die Größe, Qualität und Komplexität mit einander verglichen und Auffälligkeiten detaillierter untersucht werden. Die Messung ist dabei nicht nur auf Programmcode beschränkt, es können auch Datenbanken und Benutzeroberflächen vermessen werden.
Der Aufbau einer Metrikdatenbank ermöglicht die laufende Vermessung des Systems über die Zeit. Somit kann bei Änderungen oder Erweiterungen des Systems beobachtet werden, ob sich z.B. die Qualität insgesamt verbessert oder verschlechtert hat. Idealerweise wird eine laufende Messung im Qualitätssicherungsprozess eingebettet.
Die Ergebnisse der Messung bieten eine einheitliche Basis, um verschiedene Weiterentwicklungsszenarien zu bewerten und deren Aufwand zu schätzen. Dies kann als Grundlage für die künftige IT-Strategie verwendet werden. Mögliche Szenarien sind:
Voraussetzung für jedes Messprojekt ist die Auswahl der geeigneten Metriken. Diese Auswahl ist auch der erste Schritt im Messprozess der ISO9126. Die Literatur gibt jedoch wenig Anhaltspunkte, welche Metriken auszuwählen sind. Softwaresysteme sind komplexe Konstrukte mit vielen verschiedenen Eigenschaften, die gemessen werden können. In seinem Buch “Software Complexity Metrics” hat Horst Zuse allein mehr als 300 Metriken identifiziert. Jede Kennzahl, bzw. Metrik misst eine andere Eigenschaft, z.B. die McCabe-Metrik die interne Ablaufkomplexität, die Halstead-Metrik die Komplexität der Sprache oder die Function-Point-Metrik die Interaktionen zwischen einem System und seiner Umgebung. Letztlich ist es eine Frage der Zielsetzung des Messprojektes und der Art des Systems, welche Metriken am geeignetsten sind.
In den von einem der Autoren in den letzten 20 Jahren durchgeführten Messprojekten ist durch die Erfahrungen mit den verschiedensten Systemen eine Zusammenstellung von Größen-, Komplexitäts- und Qualitätsmetriken entstanden, die sich bei der Analyse und Bewertung von Anwendungssystemen schon vielfach bewährt haben. Darunter finden sich Komplexitätsmetriken wie z.B. Datenkomplexität, Steuerflusskomplexität und Sprachkomplexität aber auch Qualitätsmetriken wie z.B. für die Messung der Portabilität, Wartbarkeit, Konformität und Testbarkeit.
Der Messprozess zur Durchführung der Messung, Prüfung und Bewertung des Systems besteht typischerweise aus folgenden Schritten:
Neben den Metrikberichten zu Größe, Qualität und Komplexität des Systems und den Teilsystemen/Komponenten sowie den Aufwandsschätzungen zu verschiedenen Weiterentwicklungsstrategien lassen sich Auswertungen erstellen, um die Informationen für verschiedene Zielgruppen aufzubereiten. Dies erfolgt z.B. in Form von Scorecards, die die Qualitäten und Komplexitäten zueinander in Relation bringen, oder in Management-Dashboards, um einen aktuellen Überblick über das System zu erhalten.
Einführung von Testautomatisierung in einem Unternehmen erfolgt bestenfalls schrittweise. Dies dient dazu, die Techniken und Tools an die Bedürfnisse...
Was für eine Wahnsinnszeit, in der wir leben. Ich finde das mega aufregend und bin begeistert von den Möglichkeiten, die sich uns besonders in der...
Christian Mercier arbeitet seit 1996 im Finanzdienstleistungsbereich. Vom Filialgeschäft über CRM, Strategie und IT - von Sparkassen über...