Spezifikation

Aus Software-Engineering

Wechseln zu: Navigation, Suche

Die Spezifikation ist eines der wichtigsten Dokumente eines Softwareprojekt - wenn nicht sogar das Wichtigste. Die Spezifikation ist die Referenz, die bei Streitfragen und Unklarheiten herangezogen wird. Eine Spezifikation sollte so gestaltet sein, dass sie auch der Kunde versteht. Er soll die Spezifikation schlussendlich auch abnehmen (siehe Abnahme).

Zweck

Die Spezifikation beinhaltet alle funktionalen und nichtfunktionalen Anforderung der Kunden an das fertige Produkt und dient als Basis für alle weiteren Dokumente (Entwurf, Quellcode, Testplan, Handbuch) die im Projekt erstellt werden und muss deshalb stets konsistent mit ihnen gehalten werden. Dabei muss darauf geachtet werden, dass die Spezifikation wirklich nur in begründeten Fällen geändert wird (siehe Change Control Board). Eine Änderung der Spezifikation muss immer vom Kunden abgesegnet werden. Bei einer Abweichung von der Spezifikation sollte immer zunächst geprüft werden ob nicht das gerade bearbeitete Dokument (Entwurf, Quellcode, ...) angepasst werden sollte. Eine Spezifikation enthält keine Lösungen. Lösungen werden später im Entwurf festgelegt, sie schränken die Spezifikation nur unnötig ein und machen es schwer die tatsächlichen Anforderungen später nachzuvollziehen.

Erfassung der Anforderungden

Bei allen Projekten an denen ich bisher Teilgenommen habe wurden die Anforderungen in Analysegesprächen mit dem Kunden ermittelt. Dazu wurde im Vorfeld vom Projektteam ein Fragenkatalog erstellt. Als Grundlage des Fragenkatalog dient i.A. die Ausschreibung des Projekts.


Inhaltsverzeichnis

Hier eine Grundlage für ein Inhaltsverzeichnis. Es stellt wie immer im Softwareengineering nicht die Wahrheit dar und muss an die Gegebenheiten des Software-Projekts angepasst werden.

  1. Einleitung
    1. Zweck
    2. Einsatzbereich und Ziele
    3. Referenzierte Dokumente
    4. Projektüberblick
  2. Nicht-funktionale Anforderungen
    1. Standards
    2. Leistungsanforderungen
    3. Robustheit, Sicherheit, Zuverlässigkeit, Wartbarkeit, Bedienbarkeit
    4. Mengengerüst
    5. Verwendete Technologien Achtung: Nur wenn es sich um Vorgaben des Kunden handelt. Alles andere gehört in den Entwurf
  3. Funktionale Anforderungen
  4. USE-Case Analyse
  5. Einschränkungen
Persönliche Werkzeuge