W-JAX: Was sind nicht-funktionale Anforderungen?

Frei nach Arno Haase muss eine Architektur für ein Software-System nicht nur die funktionalen Anforderungen erfüllen, sondern natürlich auch die nicht-funktionalen Anforderungen. Werden diese ignoriert, werden die implizierten Annahmen der Anwender oder des Managements unweigerlich zum Konflikt oder auch zum Abbruch des jeweiligen Projektes führen.

Als kleine Checkliste hilft es, die folgenden Bereiche jeweils zu überprüfen. Hierbei werden die typischen Bereiche abgeklopft, die natürlich nicht immer in Betracht gezogen werden müssen oder für jedes Projekt anwendbar ist.

Performanz Skalierbarkeit Verfügbarkeit
Robustheit Änderbarkeit Teilbarkeit
Sicherheit Testbarkeit Usability
Betreibbarkeit

Änderbarkeit kann natürlich auch als Wartbarkeit aufgeführt werden, also die Möglichkeit zur Veränderung und Erweiterung.

Eine kommentierte Liste der Kriterien ist als Exel-Datei angehängt.