Mittwoch, 14. September 2016

Nicht-Funktionale Anforderung: Software Robustness

Robustheit ist die Toleranz gegenüber Fehlern. Robustheit gehört damit zu den nicht-funktionalen Anforderungen. Die Toleranz gegenüber Fehlern kann auf unterschiedliche Weise realisiert werden. Systeme gelten als robust, wenn sie folgende Eigenschaften hat:

  1. Ein Fehler führt nicht zum Ausfall des gesamten Systems.
  2. Das System kann Fehler selbst beheben oder umgehen.
  3. Die Auswirkung eines Fehlers bleiben lokal begrenzt, sowohl aus zeitlicher als auch aus Systemsicht.

Robustheit zahlt direkt auf die Verfügbarkeit von Systemen ein, sowohl was die Häufigkeit von Störungen als auch auf den zeitlichen Umfang der Störung angeht. Oder anders formuliert, robuste Softwaresysteme haben eine höhere Verfügbarkeit als weniger robuste Softwaresysteme.

Robustheit kann durch verschieden Massnahmen erreicht werden:

  1. Redundanz
  2. Robuste Software Architektur
  3. Exception Handling
  4. Fall Backs
  5. Funktionsreduktion

Alles was man nicht testet funktioniert auch nicht, so auch Software Robustheit. Deswegen muss Robustheit auch durch Robustheitstests gesichert werden.

Keine Kommentare:

Kommentar veröffentlichen