Developer Cookies Blog

Funktionale Anforderungen vs. nicht-funktionale Anforderungen

Falsche Strukturen in Lastenheften und Pflichtenheften führen oft zu Missverständnissen unter dem Kunden, dem Produkt-Management und der der Entwicklung. Dieser Artikel erklärt die Unterschiede zwischen den funktionalen Anforderungen und den nicht funktionalen Anforderungen und was es dabei zu beachten gilt.

Die Ursache ist oft in der ungenügenden Trennung unter den funktionalen Anforderungen und den nicht-funktionalen Anforderungen zu finden. Im schlechtesten Fall enthält eine einzelne Anforderung beide Anforderungstypen. Insbesondere bei den nicht-funktionalen Anforderungen lohnt, es sich deshalb diese Unterscheidung genauer zu betrachten.

Grundsätzlich wird zwischen funktionalen Anforderungen und nicht-funktionalen Anforderungen unterschieden.

1_functional_nonfunctional_requirements

Der Begriff funktionale Anforderung ist eingängig erklärt: Es handelt sich um eine funktionale Anforderung, wenn eine technische Funktion enthalten ist. Ist eine funktionale Anforderung exakt formuliert, ist es oft problemlos, einen eindeutigen Testfall zu spezifizieren

Um eine nicht-funktionale Anforderung handelt es sich, wenn keine Funktion hinter der Anforderung steht. In diesem Fall ist es komplexer. Bei nicht-funktionalen Anforderungen ist zwischen zwei Kategorien zu unterscheiden: den qualitativen Anforderungen und den Randbedingungen. Bei den qualitativen Anforderungen sind die Themen wie Performanz, Sicherheit, Verlässlichkeit, Änderbarkeit/Wartbarkeit und Portierbarkeit behandelt. Zu erwähnen ist, dass die qualitativen Anforderungen oftmals nicht messbar formuliert sind und demzufolge nicht testbar sind. Um dennoch einen Test zu realisieren, sind nicht-messbare Anforderungen in funktionale Anforderungen zu transformieren. In der Praxis hat sich zur Verfolgbarkeit und Transparenz die Verlinkung (Trace) der qualitativen Anforderung auf die neu erstellten funktionalen Anforderungen bewährt. Die Randbedingungen definieren die bewussten Einschränkungen auf das System. Eine einschränkende Wirkung haben Gesetze, Normen, Technologien und Prozesse. Die Test-Cases der Randbedingungen sind mehrheitlich analytisch spezifiziert (wie zum Beispiel: „ist die Norm xy erfüllt?“).

Nachfolgend ist ein Beispiel einer möglchen Struktur einer Anforderungsspezifikation aufgeführt.

  • Liste mit involvierten Stakeholdern
  • Glossar
  • Einführung
  • Änderungsverzeichnis
  • Kontext
  • Use-case Spezifikation
  • Funktionale Anforderungen
  • Nicht-funktionale Anforderungen
  • Geschäftsregeln

Zusammenfassend ist ein einheitliches Grundverständnis zwischen den einzelnen Arten von Anforderungen und deren angemessener Behandlung eine grundlegende Voraussetzung für die Erhöhung der Qualität von Spezifikationen.

Related Articles