Definition „Software Metric“ Was sind Softwaremetriken?

Autor / Redakteur: HJL / Stephan Augsten

Metrik bezeichnet die Lehre von Gesetzmäßigkeiten. Softwaremetriken dienen der Abschätzung des Prozess- und Kostenaufwands oder dem Qualitätsmanagement. Ungeachtet der Vorteile wird Softwaremetrik in der Praxis zu wenig konsequent eingesetzt.

Anbieter zum Thema

Softwaremetriken können dabei helfen, die Qualität von Entwicklungsprozessen oder aber Kosten und Aufwand besser einzuschätzen.
Softwaremetriken können dabei helfen, die Qualität von Entwicklungsprozessen oder aber Kosten und Aufwand besser einzuschätzen.
(Bild gemeinfrei: Tumisu - Pixabay.com)

Softwaremetriken dienen der Definition von Software-Kenngrößen und Entwicklungsprozessen. Auf eine kurze Formel gebracht sind sie ein Maßstab für Qualität, denn sie schaffen formale Vergleichs- und Bewertungsmuster in Form von eindimensionalen Maßzahlen.

Metriken speziellen Zuschnitts erlauben die Beurteilung komplexer Softwareprodukte und -Strukturen. Der Beurteilungsprozess beginnt idealerweise bereits in der Entwicklungsphase. Daran schließen sich metrische Untersuchungen der erzielten Entwicklungsphasen an.

Werden über die Lebens- und Weiterentwicklungszeit eines Softwareprodukts grundsätzlich Softwaremetriken eingesetzt, so lassen sich qualitative Zielabweichungen im frühen Stadium erkennen und beheben. Konsequent und durchgängig eingesetzt, tragen metrische Untersuchungen dazu bei, Softwareentwicklungen vorhersagbarer zu gestalten.

Softwaremetrik lässt sich auch perspektivisch nutzen. Aus der Sicht des Managements sind Maßzahlen zu den Themenbereichen Kosten, Produktivität und Chancen der Vermarktung relevant. Kunden und Auftraggeber stellen Kriterien wie Termin- und Kostensicherheit, Produktqualität und ROI - den Return on Investment - in das Zentrum ihrer Betrachtungen. Für den Entwickler und seine Arbeit bilden Effizienz, MTBF (MeanTime Between Failiure), Test- und Wartung-Szenarien wichtige Meilensteine.

IEEE-Standard 1061 definiert Metrik der Softwarequalität

Das Institute of Electrical and Electronics Engineers (IEEE) legt sich in seiner Funktion als weltweiter Berufsverband von Ingenieuren auf eine Definition der Qualitätsmetrik fest. Der IEEE-Standard 1061 konstatiert: „Softwarequalitäts-Metrik ist eine Funktion, welche eine Softwareeinheit in einem Zahlenwert abbildet. Dieser berechnete Wert ist interpretierbar als der Erfüllungsgrad einer Qualitätseigenschaft der Softwareeinheit.“ Auch in dieser Definition finden wir sie wieder: die Maßzahl.

Diese IEEE Interpretation weist der Softwaremetrik die Rolle eines integralen Bestandteils von Qualitätsmanagement-Systemen zu. In der Tat ist sie gebräuchliches Ausdrucksmittel in Modellen wie „CMM“ - Capability Maturity Level - und dem „V-Modell". Diese Interpretation berücksichtigt den Umstand, dass die Steuerung komplexer Systemabläufe häufig durch kontrollierende Softwarefunktionen erfolgt. Entsprechend klar im Ausdruck ist die gebräuchliche Terminologie:

  • Fehlerfreiheit
  • Reproduzierbarkeit
  • Zuverlässigkeit
  • Komplexität
  • Benutzerfreundlichkeit
  • Wartungsfähigkeit
  • Maß der Effizienz
  • Termintreue

Differenzierung in Produktmetrik und Prozessmetrik

Die Differenzierung in Produktmetrik und Prozessmetrik ist der Suche nach Fokus geschuldet. Produktmetriken beleuchten die Produkt-Eigenschaften einer Software. In der Praxis hat sich die Unterteilung bei der Produktmetrik in zwei Unterkategorien bewährt:

Statische Produktmetrik mit dem Ziel einer Maßzahl für Software-Entwurf, das eigentliche Programm oder die Funktion-beschreibende Dokumentation. Zu den wesentlichen Kriterien der Messung zählen Faktoren wie die Komplexität, aber auch die Wartung.

Dynamische Produktmetrik als Ausdruck für Zuverlässigkeit und Leistungsfähigkeit eines Softwareprodukts. Typische Maßzahl-Kriterien sind die Effizienz in der Ausführung und das Maß der aufgetretenen Fehler im Zuge der Ausführung.

Prozessmetrik beleuchtet die Eigenschaften des Entwicklungsprozesses bei der Software-Erstellung. Gebräuchlich ist die Standardisierung in drei zur Messung differenzierte Gruppen:

  • 1. Aufwand an Ressourcen, zum Beispiel nach Personengruppen, Maschinen & Geräten;
  • 2. Zeitaufwand für die Fertigstellung definierter Prozesse;
  • 3. Häufigkeit messbarer Fehler-Ereignisse oder Änderungsanforderungen.

Konventionelle und objektorientierte Softwaremetrik

Softwaremetrik setzt bereits bei den Konventionen an. Die Unterteilung der sogenannten konventionellen Metrik in die folgenden vier Kategorien dient der Ermittlung aussagefähiger Maßzahlen:

  • 1. Metrik zur logischen Softwarestruktur (Pfade, Verschachteln; Tiefe);
  • 2. Umfangsmetrik nach Halsted oder in Form der Source-Code-Messung, basierend auf „Lines-of-Code“ (LOC);
  • 3. Metrik zur Datenstruktur (Gültigkeit; Referenz; Lebensdauer);
  • 4. Stilmetrik (Anteil der Kommentare; Namenskonventionen).

Eine weitere Kategorie hat die objektorientierte Softwaremetrik zum Inhalt. Dazu zählt die Messung spezifischer Merkmale beim Einsatz objektorientierter Sprachen. Gebräuchlich ist die beispielhafte Differenzierung in:

  • Verfahren zur Messung gemäß der konventionellen LOC-Methode oder dem McCabe-Verfahren;
  • Metrik der Klassen-Merkmale;
  • Hierarchie-Betrachtungen (Vererbung);
  • Metrik der Aggregation, im Zuge der Verknüpfung der Klassen.

Die hier skizzierte Beschreibung verdeutlicht die Komplexität des Begriffs Softwaremetrik. Von den vielfältigen Gesichtspunkten erscheinen in dieser abschließenden Zusammenfassung insbesondere zwei als besonders wesentlich. Es handelt sich zum einen um Softwaremetrik zur Abschätzung von Aufwand und Kosten.

Einen weiteren Kernpunkt bildet die Softwaremetrik zu spezifischen Qualitätseigenschaften. Beispielhaft heraus zu stellen sind die für Qualität relevanten Kriterien wie Laufzeitverhalten, Test- und Wartungskriterien.

(ID:45824908)