Home

Softwareanforderungen

Softwareanforderungen bezeichnen die Funktionen, Eigenschaften und Randbedingungen, die eine Software erfüllen muss. Sie dienen als Grundlage für Planung, Umsetzung, Prüfung und Betrieb und sollen Verständigung zwischen Auftraggebern, Entwicklern, Testern und Nutzern ermöglichen.

Sie gliedern sich typischerweise in funktionale Anforderungen, die beschreiben, welche Funktionen die Software ausführen soll (Daten

Der Prozess der Softwareanforderungen umfasst Requirements Engineering: Anforderungen ermitteln (Elicitation), analysieren, dokumentieren (Spezifikation), validieren und verwalten.

Der Lebenszyklus umfasst iterative Überarbeitung, Stakeholdereinbindung und Change-Management. Gute Anforderungen sind präzise, testbar, nachvollziehbar und unabhängig

Schwierigkeiten ergeben sich oft aus unklaren Erwartungen, sich ändernden Anforderungen, unzureichender Stakeholder-Teilnahme oder unvollständigen oder widersprüchlichen

verarbeiten,
Interaktionen
mit
Benutzern
oder
anderen
Systemen),
und
nicht-funktionale
Anforderungen,
die
Qualitätsattribute
festlegen
(Leistung,
Zuverlässigkeit,
Sicherheit,
Usability,
Wartbarkeit,
Portabilität).
Darüber
hinaus
können
Systemanforderungen,
Compliance-,
Sicherheits-
und
Datenschutzanforderungen
sowie
Betriebsgrenzen
oder
Schnittstellenanforderungen
auftreten.
Typische
Artefakte
sind
Lastenheft
(aus
Sicht
des
Auftraggebers),
Pflichtenheft
oder
Spezifikationsdokumente,
Use
Cases
oder
User
Stories
sowie
eine
Nachverfolgbarkeitsmatrix,
die
Anforderungen
mit
Tests
und
Implementierungen
verbindet.
Abnahmekriterien
definieren,
wann
eine
Anforderung
als
erfüllt
gilt.
voneinander
prüfbar;
sie
verwenden
konsistente
Terminologie
und
messbare
Akzeptanzkriterien.
Spezifikationen.
Eine
sorgfältige
Anforderungsarbeit
erhöht
die
Erfolgschancen
eines
Projekts
durch
bessere
Planbarkeit,
Kostenkontrolle
und
höhere
Qualität.