Software-Anforderungsspezifikation

Für eine umfassendere Behandlung dieses Themas, siehe Software-Anforderungen.

Eine Software-Anforderungsspezifikation (SRS) ist eine Beschreibung eines zu entwickelnden Softwaresystems. Sie ist der Business Requirements Specification (CONOPS) nachempfunden, die auch als Stakeholder Requirements Specification (StRS) bezeichnet wird. Die Software-Anforderungsspezifikation legt funktionale und nicht-funktionale Anforderungen fest und kann eine Reihe von Anwendungsfällen enthalten, die Benutzerinteraktionen beschreiben, die die Software dem Benutzer für eine perfekte Interaktion bieten muss.

Die Software-Anforderungsspezifikation bildet die Grundlage für eine Vereinbarung zwischen Kunden und Auftragnehmern oder Lieferanten darüber, wie das Softwareprodukt funktionieren soll (in einem marktorientierten Projekt können diese Rollen von den Marketing- und Entwicklungsabteilungen übernommen werden). Die Software-Anforderungsspezifikation ist eine rigorose Bewertung der Anforderungen vor den spezifischeren Phasen des Systemdesigns, und ihr Ziel ist es, spätere Umgestaltungen zu reduzieren. Sie sollte auch eine realistische Grundlage für die Schätzung von Produktkosten, Risiken und Zeitplänen bilden. Richtig eingesetzt, können Software-Anforderungsspezifikationen helfen, das Scheitern von Software-Projekten zu verhindern.

Das Software-Anforderungsspezifikationsdokument listet ausreichende und notwendige Anforderungen für die Projektentwicklung auf. Um die Anforderungen abzuleiten, muss der Entwickler ein klares und gründliches Verständnis der zu entwickelnden Produkte haben. Dies wird durch eine detaillierte und kontinuierliche Kommunikation mit dem Projektteam und dem Kunden während des gesamten Softwareentwicklungsprozesses erreicht.

Das SRS kann eine der Beschreibungen der lieferbaren Datenelemente eines Vertrags sein oder andere Formen von organisatorisch vorgeschriebenen Inhalten haben.

Typischerweise wird ein SRS von einem technischen Redakteur, einem Systemarchitekten oder einem Softwareprogrammierer geschrieben.