Das Pflichtenheft ist ein Dokument, in dem alle Anforderungen an ein Software-System systematisch niedergelegt sind. Es dient als Ausgangs und Referenzpunkt für die Entwicklung bzw. Beschaffung einer Software. Pflichtenhefte sollen als Bestandteil eines juristischen Vertrages zwischen Auftraggeber und –nehmer dienen können.
Definition und Rolle eines Pflichtenhefts
Als Pflichtenheft wird ein Dokument bezeichnet, in dem die Anforderungen an ein zu entwickelndes oder zu beschaffendes System niedergelegt sind. Die Anforderungen in einem Pflichtenheft sind vor allem fachlicher Natur. Sie sollten das Was und nicht das Wie eines Software-Produkts beschreiben. Pflichtenhefte können jedoch auch bestimmte Aspekte der technischen Realisierung betreffen, soweit sie aus der Nutzungsperspektive von Bedeutung sind. Ein Beispiel dafür könnte das Antwortzeitverhalten sein, das bei bestimmten Interaktionen von der Software verlangt wird.
Pflichtenhefte stehen am Ausgangspunkt eines Software-Entwicklungs- oder Beschaffungsprojekts. Sie dienen als Grundlage für die weitere Spezifikation des Produkts und sollten diese so wenig wie möglich vorweg nehmen. Typischerweise werden die Anforderungen vor allem in einer verbalen Form niedergelegt. Damit sollen sie auch Personen unmittelbar verständlich sein, die keine Erfahrung im Umgang mit (semi-) formalen Beschreibungsmethoden für Informationssysteme haben.
Pflichtenhefte sollten idealerweise so verfasst sein, dass sie als Basis eines juristischen Vertrags dienen können. In diesem Sinne legen Pflichtenhefte verbindlich fest, was ein Auftragnehmer zu liefern hat. Damit ist ein Pflichtenheft auch eine Grundlage für die spätere Abnahme eines erstellten Produkts. Im Streitfall kann es auch zu gerichtlichen Abklärungen herangezogen werden.
Aufbau eines Pflichtenhefts
Pflichtenhefte haben nicht zwingend eine bestimmte Struktur. Jedoch ist es aus Gründen der leichteren Erstellung und der Vergleichbarkeit sinnvoll, wenn man sich an ein vorgegebenes Raster hält. Diesbezüglich existieren Standards bzw. Empfehlungen.
Bekannt sind die Recommended Practice for Software Requirements Specifications, welche 1984 von der amerikanischen IEEE als Standard 830-1984 verabschiedet wurden. Dieser wurde zum Standard 830-1998 weiterentwickelt und ist auch als ANSI-Standard anerkannt. Danach gliedert sich ein Pflichtenheft in drei Hauptkapitel: Einleitung (Introduction), Übersichtsbeschreibung (General Description) und Spezifische Anforderungen (Specific Requirements). Jeder dieser Kapitel ist noch in weitere Unterkapitel unterteilt.
Die Einleitung führt in das Dokument ein und legt einige Grundlagen, die für das weitere Verständnis wichtig sind. Sie beinhaltet auch die Ziele, die mit dem Produkt erreicht werden sollen. Die Übersichtsbeschreibung gibt einen Überblick über das Produkt und wesentliche Faktoren, die bei seiner Gestaltung berücksichtigt werden müssen. Dazu gehören die Umgebung und die Funktionen des Produkts. Zudem werden die zukünftigen Benutzer und ihre Eigenschaften beschrieben.
Ein zentraler Punkt eines Pflichtenhefts ist die Niederlegung der funktionalen Anforderungen (Functional Requirements). Diese werden im Standard IEEE 830-1998 als Unterkapitel des Hauptkapitels „Spezifische Anforderungen“ eingeführt. Dort werden der Reihe nach alle Funktionen mit ihren jeweiligen Anforderungen als eigenes Kapitel aufgeführt. Jede der Funktionen wird entsprechend der Input-Process-Output-Systematik beschrieben. Jedoch können auch andere, moderne Beschreibungssystematiken für eine Funktion bzw. einen Geschäftsprozess gewählt werden.
Daneben sind noch eine Reihe verschiedenartiger nicht-funktionaler Anforderungen relevant, die im Rahmen der „Spezifischen Anforderungen“ unter verschiedenen Untergliederungspunkten aufgeführt werden. Dazu gehören Anforderungen an die externen Schnittstellen, Anforderungen an das Leistungsvermögen (Performance), Restriktionen für den Systementwurf, verschiedene Qualitätsmerkmale, sowie sonstige Anforderungen.
Balzert (2009) stellt Anforderungsschablonen für Lastenhefte und Pflichtenhefte vor. Er gibt zudem Anwendungsbeispiele, die den Aufbau eines Pflichtenhefts verdeutlichen. Im Zusammenhang mit der Darstellung der Pflichtenhefte wird auch illustriert, wie sich anhand der darin gemachten Spezifikationen eine Aufwandschätzung nach der Function-Point-Methode durchführen lässt.
Literatur
Balzert, Helmut: Lehrbuch der Software-Technik: Basiskonzepte und Requirements Engineering. 3. Auflage. Heidelberg: Spektrum 2009, S. 485 ff.
IEEE Guide to Software Requirements Specifications, IEEE Standard 830-1998. New York: The Institute of Electrical and Electronic Engineers, 1998.