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.