Was ist eine nicht funktionale Anforderung?

Nichtfunktionale Anforderungen oder NFRs beschreiben Merkmale von Software, die nicht im Hinblick auf die Funktionalität definiert sind. Im Allgemeinen handelt es sich hierbei um Attribute oder Einschränkungen des Systems, die mit „-ility“ oder „-ilities“ enden. Zum Beispiel:

  • Wartbarkeit
  • Skalierbarkeit
  • Benutzerfreundlichkeit

Nicht funktionale Anforderungstypen

Es gibt potenziell Dutzende von NFR-Typen. Die Bedeutung jedes NFR-Typs hängt von der Art der Software, dem Kontext und dem Anwendungsfall ab. Einige der am häufigsten berücksichtigten NFR-Typen sind:

  • Sicherheit
  • Leistung
  • Skalierbarkeit
  • Zuverlässigkeit
  • Benutzerfreundlichkeit
  • Legal
  • Wartbarkeit
  • Portabilität

A umfassende Liste der NFRs ist auf Wikipedia verfügbar.

Sicherheit – ein Sonderfall

Es lohnt sich, sich Sicherheit als NFR genauer anzusehen. Obwohl Sicherheit allgemein als nicht funktionsfähig angesehen wird, sind die meisten Sicherheitsanforderungen in Wirklichkeit tatsächlich funktionsfähig. Beispielsweise sind Berechtigungsprüfungen vor der Ausführung eines Prozesses wahrscheinlich eine funktionale Anforderung. In unseren Studien sind über 90% aller Sicherheitsanforderungen funktionsfähig.

Die Vorteile der automatischen Erkennung von NFRs

Nichtfunktionale Anforderungen sind eine wichtige Dimension von Software. Oft werden sie übersehen oder sind von schlechter Qualität (unspezifisch, unvollständig oder inkonsistent). NFRs können einen erheblichen Einfluss auf die Arbeit zur Bereitstellung einer Software haben. Ihre Vernachlässigung kann zu einem erhöhten Risiko für ein Projekt führen.

Wenn Sie ScopeMaster verwenden, um Ihren Bedarf an potenziellen NFRs zu analysieren, können Sie eine Checkliste erstellen, um sicherzustellen, dass NFRs korrekt und angemessen abgedeckt sind. Dadurch wird das Risiko für Ihr Projekt verringert. Außerdem möchten Sie vermeiden, funktionale mit nichtfunktionalen Anforderungen zu vermischen, es sei denn, dies ist erforderlich.

NFR-Erkennung, Automatisiert

ScopeMaster scannt Ihre Anforderungen (oder User Stories) und sucht nach Hinweisen auf wichtige nichtfunktionale Anforderungen.

CRUD-Analyse mit ScopeMaster – Screenshot

ScopeMaster analysiert den Text Ihrer Softwareanforderungen. Es Erkennt die wahrscheinlichsten nichtfunktionalen Anforderungen aus jeder Anforderung heraus.

Es ermittelt eine Wahrscheinlichkeit dafür, ob jede Anforderung eine nichtfunktionale Anforderung ist oder enthält.

Beispielanwendungsfälle

Die meisten NFRs sind in anderen Anforderungen „vergraben“ und schwer zu erkennen. Architekten müssen oft Hunderte von Anforderungen durchgehen, um NFRs herauszufiltern, die sich auf die Architektur eines Systems auswirken könnten. Wenn diese nicht früh genug erkannt werden, können unangemessene Designentscheidungen getroffen werden. Diese Designentscheidungen können zu kostspieligen Nacharbeiten oder technischen Schulden führen. Die Fähigkeit von ScopeMaster, diese NFRs von Anfang an zu erkennen, hilft dabei, NFRs aufzudecken, bevor die Entwurfsarbeiten stattgefunden haben. Typische Anwendungsfälle:

  • Sie haben viele Anforderungen und versuchen, alle NFRs einer bestimmten Kategorie zu erkennen.
  • Sie haben viele Anforderungen und sind sich nicht sicher, ob darin NFRs enthalten sind.
  • Sie müssen nach potenziell widersprüchlichen NFRs suchen
  • Ihre Anforderungen wurden von mehreren Personen erfasst und Sie müssen die NFRs harmonisieren.

ScopeMaster erkennt die wahrscheinliche Phraseologie der Anforderungen, bei denen es sich möglicherweise um eine nicht funktionale Anforderung handelt, oder leitet daraus ab.

Nicht funktionale Qualitätsanforderungen

Was macht hochwertige NFRs aus? Sie sollten immer versuchen, nichtfunktionale Anforderungen in quantifizierbaren Begriffen zu quantifizieren, die für das Team sinnvoll sind und mit denen sich der Kunde identifizieren kann. Diese sollten Ihnen den „Akzeptanzgrad“ einer bestimmten NFR geben. Zum Beispiel, Alle Webseiten sollten innerhalb von 1,5 Sekunden geladen werden und für die Interaktion durch den Benutzer bereit sein.  

Beispiele für nicht funktionale Anforderungen

Hier sind einige NFR-Beispiele. Beachten Sie die Besonderheiten jedes einzelnen. Eindeutige Kriterien für das Bestehen/Nichtbestehen sind jeweils enthalten:

Leistung – Alle Webseiten werden innerhalb von 2 Sekunden über eine 5-MBit/s-Verbindung von überall auf der Welt zur Interaktion geladen.

Kapazität – Mit vernachlässigbaren Änderungen sollte die Software in der Lage sein, 3 Millionen Transaktionsdatensätze zu bewältigen.

Legal – Das System muss mit der DSGVO-Gesetzgebung konform sein, einschließlich der Möglichkeit, persönliche Datensätze auf spezifische Anfrage zu melden und/oder zu löschen.

Benutzerfreundlichkeit – Die Website muss WCAG 2.2 Level A entsprechen