Software-Qualität und Metriken: Ein Überblick

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,38 KB

Rolle des Software-Ingenieurs

Kernaufgaben im Entwicklungsprozess

  • Beschreibung der Problemanforderungen.
  • Modellierung der Lösung im Design.
  • Erstellung von Code, der zu einem ausführbaren Programm führt.
  • Nachweis der Fehlererkennung durch Softwaretests.

Qualitätsbeurteilung durch Messungen

Ein guter Software-Ingenieur nutzt Messungen zur objektiven Beurteilung der Qualität, nicht subjektiv. Dies betrifft:

  • Die Qualität der technischen Analyse und des Designmodells.
  • Den Quellcode.
  • Erstellte Testfälle.
  • Die Umsetzung von Software-Maßnahmen.

Primäres Projektziel: Mängel und Fehler messen

Framework für Qualitätsaspekte

Ein Framework bietet einen Mechanismus zur Identifizierung wichtiger Aspekte, zum Beispiel:

  • Portabilität
  • Benutzerfreundlichkeit

Wartbarkeit als Qualitätsindikator

Wartbarkeit bietet ein Mittel, um quantitativ zu bewerten, wie gut die Entwicklung in Bezug auf bewährte Qualitätsziele voranschreitet.

Wichtige Qualitätsmaße

Es gibt viele Qualitätsmaße, aber Genauigkeit, Vollständigkeit, Wartungsfreundlichkeit und Benutzerfreundlichkeit bieten nützliche Indikatoren für das Projektteam.

Richtigkeit (Correctness)

Richtigkeit: Beschreibt das Ausmaß, in dem die Software ihre erforderliche Funktion erfüllt. Die häufigste Messgröße für Richtigkeit sind Defekte pro KLOC (Lines of Code), wobei ein Defekt eine Abweichung von den überprüften Anforderungen darstellt.

Wartungsfreundlichkeit (Maintainability)

Wartungsfreundlichkeit: Die Instandhaltung von Software erfordert oft mehr Aufwand als jede andere Aktivität im Software Engineering. Für dieses Attribut gibt es nur indirekte Messgrößen, wie die mittlere Änderungszeit (Mean Time to Change) und „Code-Churn“.

Integrität (Integrity)

Integrität: Dieses Attribut misst die Fähigkeit der Software, Angriffe auf ihre Integrität im Internet abzuwehren. Zur Definition müssen zwei zusätzliche Faktoren berücksichtigt werden: Bedrohung (Hazard) und Sicherheit (Security). Die Integrität kann definiert werden als: Σ [(1 - Bedrohung) x (1 - Sicherheit)].

Benutzerfreundlichkeit (Usability)

Benutzerfreundlichkeit: Benutzerfreundlichkeit ist der Versuch, die Leichtigkeit zu quantifizieren, mit der Benutzer die Software nutzen können und welche Fähigkeiten zum Erlernen des Systems erforderlich sind. Sie kann basierend auf vier Merkmalen gemessen werden:

  1. Intellektuelle/physische Fähigkeiten.
  2. Benötigte Zeit, um effizient mit der Software umzugehen.
  3. Zunahme der Produktivität.
  4. Subjektive Bewertung.

Kritische Fehler und ihre Auswirkungen

Kritische Fehler: Dies sind Fehler, die in frühen Entwicklungsphasen entstehen und deren Schweregrad zunimmt, solange sie unentdeckt bleiben. Sie manifestieren sich schließlich zu einem Zeitpunkt, an dem ihre Korrektur wesentlich teurer ist. Beispiele hierfür sind:

  • Fehler bei der Anforderungserfassung.
  • Fehlgeschlagenes Projektmanagement.
  • Mängel in der Analyse- und Designphase.

Grundlagen der Software-Messung

Direkte und indirekte Messgrößen

  • Direkte Messgrößen: Können mit etablierten Einheiten gemessen werden.
  • Indirekte Messgrößen: Werden oft durch Muster oder Vergleiche bewertet (z. B. prozentuale Abweichung von einem Standard).

Arten von Software-Metriken

Größenorientierte Metriken

Diese Metriken liefern direkte Messgrößen für die Ergebnisse und Qualität der Software. Direkte Messgrößen umfassen:

  • Aufwand
  • Kosten
  • LOC (Lines of Code)
  • Ausführungsgeschwindigkeit
  • Erkannte Fehler in einem bestimmten Zeitraum

Codezeilen (LOC/KLOC)

Diese sind direkte Messgrößen der Software und des Entwicklungsprozesses. Die Messung der Anzahl der Codezeilen (KLOC) ist ein Beispiel. Daten können mit einfachen Methoden erfasst werden.

Anwendung von Größenmetriken

Mithilfe von gesammelten Daten können für jedes Projekt einfache, qualitätsorientierte Produktgrößen-Kennzahlen entwickelt werden.

Nachteile größenorientierter Metriken

Nachteile: Größenorientierte Metriken sind umstritten und nicht universell akzeptiert. Die Verwendung von LOC oder KLOC ist stark von der Programmiersprache abhängig und kann bei kurzen, aber gut durchdachten Programmen irreführend sein.

Funktionsorientierte Metriken

Eine von Albrecht vorgeschlagene Maßnahme ist der sogenannte Funktionspunkt.

Ableitung von Funktionspunkten

Funktionspunkte werden durch eine empirische Beziehung als bilanzielle (direkte) Messgrößen im Bereich der Software-Informationen und Bewertungen der Software-Komplexität abgeleitet.

Merkmale der Informationsdomänen

Fünf Merkmale der Informationsdomänen werden identifiziert, deren Werte sind:

  • Anzahl der Benutzereingaben
  • Anzahl der Benutzerausgaben
  • Anzahl der Benutzeranfragen
  • Anzahl der Dateien
  • Anzahl der externen Schnittstellen

Verwandte Einträge: