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 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 der NIST SP 800-160a
kann relevante Ansatzpunkte aufzeigen.
Die systematische Analyse orientiert sich an funktionalen Mechanismen und damit an drei elementaren Eigenschaften:
Prävention, Reaktion (Anpassung und Aufrechterhaltung) sowie Wiederherstellung (Restoration und Evolution).
Als funktionalen Mechanismen lassen sich
(1) die Vermeidung von Fehlerzuständen,
(2) die Reaktion auf Fehlerzustände und der Erhalt elementarer Systemfunktionen sowie
(3) die Wiederherstellung des Zielzustands, einschliesslich notwendiger Lessons-Learned-Aktivitäten nennen.
Dieser Ansatz geht über eine Verbesserung der Zuverlässigkeit (Reliability, ISO/IEC 25010)
durch Fehlervermeidung und -behebung hinaus und schließt organisationale Aspekte ein
(siehe System-Resilienz im Software-Engineering).
Die Evaluation von Softwaresystemen und Entwicklungsprozessen ist ein Audit-Prozess;
der methodischer Kern ist ein erweitertes Unified Resilience Model (URM)
für funktionale Sicherheit im industriellen Umfeld.
Das URM ist ein integriertes Rahmenwerk zur Bewertung und Steigerung der System-Resilienz,
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.