Software-Metriken und Systemzuverlässigkeit im Überblick

Eingeordnet in Informatik

Geschrieben am in mit einer Größe von 3,27 KB

Klassifizierung von Software-Metriken

Metriken für das Analyse-Modell

Auf der Grundlage von Metriken wird die Größe eines Systems aus dem Analyse-Modell vorhergesagt (Predict). Die Metric Bang liefert eine unabhängige Angabe der Implementierungsgröße des Systems. Zudem gibt es Qualitätsmetriken der Spezifikation: Eine Liste von Merkmalen, die dazu genutzt werden, um die Qualität des Analyse-Modells und der Requirements Engineering Specifications (ERS) zu bewerten.

Metriken für das Design-Modell

  • Metriken des objektorientierten Designs: Bereitstellung von Indikatoren für Merkmale des OO-Designs (Vererbung, Kopplung, Größe der Klassen etc.).
  • Metriken auf Komponentenebene: Diese konzentrieren sich auf den Zusammenhalt (Kohäsion), die Kopplung und die Komplexität der Software-Komponenten.
  • Metriken für das User Interface Design: Hierbei geht es um die Angemessenheit des Musters als metrische Darstellung der Mensch-Maschine-Schnittstellen.
  • Metriken der architektonischen Gestaltung: Fokus auf die Programmarchitektur, die Bedeutung der architektonischen Struktur und die Effizienz der Module.

Source-Code-Metriken

  • Basierend auf dem Quelltext: Vorschläge nach Halstead, LDC (Lines of Code) und so weiter.
  • Basierend auf der Design-Struktur: Diese basieren auf der Idee, dass eine gut durchdachte Struktur im Systemverhalten verankert ist.

Metriken für Tests und Wartung

Test-Metriken: Konzentrieren sich auf den Testprozess, nicht nur auf die technischen Merkmale der Tests. Sie verwenden Messdaten aus Analyse, Design und Test-Code für die Software.

Wartungsmetriken (Maintenance Metrics): Gemäß IEEE 982.1-1988. Der Software-Reife-Index (IMS) gibt Aufschluss über die Stabilität eines Software-Produkts.

Zuverlässigkeit von Computersystemen

Die Zuverlässigkeit umfasst nicht nur die Software, sondern drei eng miteinander verwandte Dimensionen in einem Computersystem:

  • Hardware-Zuverlässigkeit: Wahrscheinlichkeit eines Ausfalls der Hardware-Komponente und die benötigte Reparaturdauer.
  • Software-Zuverlässigkeit: Wahrscheinlichkeit, dass eine Software-Komponente versagt oder unerwünschte Nebenwirkungen auftreten.
  • Bediener-Zuverlässigkeit (Operator Reliability): Wahrscheinlichkeit, dass der Anwender einen Fehler macht.

Klassifizierung von Fehlern und Systemzuständen

  • Transient: Tritt nur bei bestimmten Eingaben auf.
  • Permanent: Tritt bei allen Eingaben auf.
  • Wiederherstellbar (Recoverable): Das System kann ohne Eingreifen des Bedieners wiederhergestellt werden.
  • Nicht wiederherstellbar (Unrecoverable): Erfordert das Eingreifen des Bedieners.
  • Nicht korrumpierend: Der Fehler beschädigt nicht den Systemstatus oder die Daten.
  • Korrumpierend: Der Fehler korrumpiert den Systemstatus oder die Daten.

Verwandte Einträge: