Kategorien
Allgemein

Funktionale und Nicht-Funktionale Anforderungen

Ein Beitrag aus der Reihe “PM-Verstehen”

Viele Lastenhefte und Pflichtenhefte unterscheiden funktionale Anforderungen (engl.: functional requirement) und nicht-funktionale Anforderungen (engl.: nonfunctional requirements). Funktionale Anforderungen machen eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Produktes, Systems oder Prozesses. Die nicht-funktionalen Anforderungen beschreiben, wie gut das System die Leistung erbringen soll und werden vielfach als Randbedingungen und Qualitätseigenschaften verstanden.

Diese Unterscheidung zwischen funktionalen und nicht-funktionalen Anforderungen stammt noch aus Zeiten der ISO 9126 (die inzwischen abgelöst wurde mit der Norm ISO 25010).

Funktionale Anforderungen

Anforderungen
funktionale und nicht-funktionale Anforderungen Bild von Gerd Altmann auf Pixabay

Eine funktionale Anforderung legt fest, was das Produkt tun soll.
Ein Beispiel: „Das Produkt soll den Saldo eines Kontos zu einem Stichtag berechnen.“ (vgl. Wikipedia)

Nicht-Funktionale Anforderungen

Für funktionale Anforderungen gibt es keine einheitliche Gliederung. Nicht-funktionale Anforderungen werden typischerweise in zwei Bereiche gegliedert (z. B. nach Volere)

Ausführungsqualität (während des Betriebs (zur Laufzeit) beobachtbar)

  • Zuverlässigkeit (Systemreife, Wiederherstellbarkeit, Fehlertoleranz)
  • Aussehen und Handhabung (Look and Feel)
  • Benutzbarkeit (Verständlichkeit, Erlernbarkeit, Bedienbarkeit)
  • Leistung und Effizienz (Antwortzeiten, Ressourcenbedarf, Wirtschaftlichkeit)
  • Sicherheitsanforderungen (Vertraulichkeit, Informationssicherheit, Datenintegrität, Verfügbarkeit)
  • Korrektheit (Ergebnisse fehlerfrei)

Weiterentwicklungs- und Evolutionsqualität (in der statischen Struktur des Systems verkörpert)

  • Betrieb und Umgebungsbedingungen
  • Wartbarkeit, Änderbarkeit (Analysierbarkeit, Stabilität, Prüfbarkeit, Erweiterbarkeit)
  • Portierbarkeit und Übertragbarkeit (Anpassbarkeit, Installierbarkeit, Konformität, Austauschbarkeit)
  • Flexibilität (Unterstützung von Standards)
  • Skalierbarkeit (Änderungen des Problemumfang bewältigen)

Häufig werden neben diesen beiden Typen auch Randbedingungen (engl.: constraints) wie z. B. Budgets oder Termine als Anforderungen beschrieben.

Schreibe einen Kommentar