Zum Inhalt springen

Software Requirements Specification

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. April 2006 um 11:11 Uhr durch Michaki (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Definitionen von IEEE

Die Software Requirement Specification (SRS) ist ein von IEEE (Institute of Electrical and Electronic Engineers) erstmals unter (ANSI/IEEE Std 830-1984) veröffentlichter Standard zur Spezifikation von Software. Das IEEE hat die Spezifikation mehrmals überarbeitet und die momentan neuste Version ist Std 830-1998.

Allgemein

Die IEEE hat mit dieser Definition festgelegt, wie das Dokument aufgebaut werden soll. Die Kapitel, die in diesem Dokument vorkommen sollen, stehen somit fest. Dabei ist das Dokument grundsätzlich in 2 Bereiche aufgeteilt:

  • C-Requirement (Customer-Requirement)
  • D-Requirement (Development-Requirement)

Unter C-Requirement sind die Anforderungen aus Sicht des Kunden und/oder des End-Anwenders zu erfassen. Unter D-Requirement versteht man die Entwicklungs-Anforderungen. Dies ist die Sicht aus den Augen des Entwicklers, der technische Aspekte in den Vordergrund stellt, im Gegensatz zum Kunden.

Mit "Requirements" (deutsch: "Anforderungen") ist sowohl die qualitative als auch die quantitative Definition eines benötigten Programms aus der Sicht des Auftraggebers gemeint. Im Idealfall umfasst eine solche Spezifikation ausführliche Beschreibung von Zweck, geplantem Einsatz in der Praxis sowie dem geforderten Funktionsumfang einer Software.

Hierbei sollten fachlichen - "Was soll die Software 'können'?" - wie auch technischen Aspekten - "In welchem Umfang und unter welchen Bedingungen wird die Software eingesetzt werden?" - Rechnung getragen werden.

Eine SRS enthält nach IEEE Standard mindestens drei Hauptkapitel. Die vorgeschlagene Gliederung sollte zwar in den Kernpunkten eingehalten werden. In der Praxis wird diese jedoch häufig im Detail modifiziert. Eine exemplarische Gliederung könnte wie folgt aussehen:

  • Name des Softwareprodukts
  • Name des Herstellers
  • Versionsdatum des Dokuments und / oder der Software
  1. Einleitung
    1. Zweck (des Dokuments)
    2. Ziel (des Softwareprodukts)
    3. Verweise auf sonstige Ressourcen oder Quellen
    4. Erläuterungen zu Begriffen und / oder Abkürzungen
    5. Übersicht (Wie ist das Dokument aufgebaut?)
  2. Allgemeine Beschreibung (des Softwareprodukts)
    1. Produkt Perspektive (zu anderen Softwareprodukten)
    2. Produktfunktionen (eine Zusammenfassung und Übersicht)
    3. Benutzermerkmale (Informationen zu erwarteten Nutzern, z.B. Bildung, Erfahrung, Sachkenntnis)
    4. Einschränkungen (für den Entwickler)
    5. Annahmen und Abhängigkeiten (nicht Realisierbares und auf spätere Versionen verschobene Eigenschaften)
  3. Spezifizierte Anforderungen (im Gegensatz zu 2.)
    1. funktionale Anforderungen (Stark abhängig von der Art des Softwareprodukts)
    2. nicht-funktionale Anforderungen
    3. externe Schnittstellen
    4. Design Constraints
    5. Anforderungen an Performance
    6. Qualitätsanforderungen
    7. Sonstige Anforderungen

Die Schwierigkeiten, die sich in der Praxis bei einer solchen Anforderungsanalyse ergeben, sind

  • mögliche Interessenkonflikte, also unterschiedliche Ziele seitens der Nutzer
  • unklare oder sogar unbekannte technische Rahmenbedingungen
  • sich ändernde Anforderungen oder Prioritäten schon während des Entwurfsprozesses

Literatur

  • Eric J. Braude : "Software Engineering An Object-Oriented Perspective", ISBN 0-471-32208-3
  • Colin Hood, Rupert Wiebel / HOOD Group, Optimieren mit Requirements Management & Engineering : Repeatable, Defined, Managed, Optimized, Springer Verlag, ISBN 3-540-211780
  • Chris Rupp, SOPHIST GROUP, Requirements-Engineering und -Management Professionelle, iterative Anforderungsanalyse für die Praxis, Hanser Verlag, ISBN 3-446-22877-2
  • IEEE Guide to Software Requirements Specification, ANSI/IEEE Std 830-1984, IEEE Press, Piscataway, New York, 1984.
  • Karl E. Wiegers, Software-Requirements, 2005, Microsoft Press Deutschland, ISBN 3-86063-594-8; Hinweis: Die deutsche Übersetzung der zweiten Auflage ist von minderer Qualität: inkonsistente Übersetzung von Fachbegriffen, an mancher Stelle nicht-sinnstiftendes Layout. Die Originalversion ist deshalb vorzuziehen.

Siehe auch