Systematische Analysen von Entwicklungsprozessen
Softwarequalität ist dynamisch und das Resultat aktiver Steuerung.
Um Qualität, Stabilität und Leistungsfähigkeit systematisch zu erhöhen,
werden Steuerungsinstrumente und Methoden der Verifikation und Validierung speziell
für industrielle Systeme ständig weiterentwickelt.
Dies gilt insbesondere, da industrielle Informations- und Steuerungssysteme zunehmend Störungseinflüssen ausgesetzt sind und
deren Auswirkungen ein hohes betriebliches Risiko darstellt.
Eine systematische Analyse entsprechend den Empfehlungen der NIST SP 800-160
orientiert sich an (A) elementaren Eigenschaften und (B) funktionalen Mechanismen.
A: Prävention (evolutionär und systembedingte Änderungen),
Reaktion (Anpassung und Aufrechterhaltung und Lessons‑Learned) sowie
Wiederherstellung (Restoration und Evolution).
B: Anticipation/Prevention,
Detection/Containment (Reaktion und Aufrechterhaltung kritischer Funktionen) sowie
Recovery und Adaptation.
Dieser Ansatz geht über eine Verbesserung der Zuverlässigkeit (Reliability, ISO/IEC 25010)
durch Fehlervermeidung und -behebung hinaus und schließt organisationale und prozessuale Dimensionen ein
(siehe System-Resilienz im Software-Engineering).
Die Evaluation von Softwaresystemen und Entwicklungsprozessen ist ein sozio-technischer Audit-Prozess;
der methodische Kern ist ein erweitertes Unified Resilience Model (URM)
für funktionale Sicherheit im industriellen Umfeld.
Das URM lässt sich als integriertes Rahmenwerk zur Bewertung der System-Resilienz verstehen,
das aus fünf Dimensionen besteht: Architecture (A), Identity (I), Failover (F), Visibility (V), Autonomy (U).
Systemstörungen werden über die Diemension Adversary (X) abgebildet.
Architektur-, Entwicklungs- und Betriebspraktiken lassen sich so systematisch analysieren und bewerten,
Fehlentwicklungen können frühzeitig identifiziert werden
(Risiko-Mitigation).
Die Ergebnisse liefern eine objektive Grundlage für Investitionen.