Anforderungsdokumentation

4 min 2 Abschnitte
Was du nach diesem Konzept kannst 3
  1. Du bist in der Lage, die Qualitätskriterien für eine effektive Anforderungsdokumentation zu interpretieren ,

    indem Merkmale wie Eindeutigkeit, Vollständigkeit, Konsistenz, Korrektheit, Testbarkeit, Priorisierung und Nachverfolgbarkeit (Traceability) analysiert und deren jeweilige Auswirkungen auf den Projekterfolg und die Softwarequalität bewertet werden.

  2. Du bist in der Lage, die Bedeutung und die vielfältigen Zwecke der Anforderungsdokumentation im Softwareentwicklungsprozess zu erklären ,

    indem ihre Rolle als Kommunikationsmittel zwischen Projektbeteiligten, als Vertragsgrundlage, als Basis für Design und Test sowie zur Nachvollziehbarkeit von Entscheidungen und für das Wissensmanagement im Projektkontext dargestellt wird.

  3. Du bist in der Lage, verschiedene Arten und Formate der Anforderungsdokumentation zu vergleichen ,

    indem gängige Formen wie formale Anforderungsspezifikationen (z. B. Lastenheft und Pflichtenheft), User Stories und Use Cases hinsichtlich ihrer Struktur, Detailtiefe, typischen Anwendungsbereiche und Eignung für unterschiedliche Entwicklungsmethodiken (z. B. agil vs. klassisch) gegenübergestellt werden.

Warum ist die Anforderungsdokumentation das Fundament jedes Softwareprojekts?

Der Bauplan und Kommunikationsanker

Stell dir vor, du programmierst das Backend für einen neuen Webshop, aber das Team hat nie schriftlich fixiert, welche Zahlungsmethoden exakt unterstützt werden sollen. Die Anforderungsdokumentation verhindert genau dieses Chaos. Sie ist der detaillierte "Bauplan" der Software und fungiert als zentrales Kommunikationsmittel. Sie stellt sicher, dass Auftraggebende, das Entwicklungsteam und spätere Anwendende das exakt gleiche Ziel verfolgen.

Gleichzeitig dient sie als verbindliche Vertragsgrundlage: Sie klärt rechtlich und fachlich, wann die Software als "fertig" und erfolgreich abgenommen gilt. Für dich in der Entwicklung ist sie die Basis für das Systemdesign und das spätere Testen – denn nur wenn vorher definiert ist, was die Software tun soll, kannst du Testfälle schreiben, um das System zu prüfen. Zudem dient sie als Wissensspeicher (Wissensmanagement), damit auch Jahre später nachvollzogen werden kann, warum bestimmte Architekturentscheidungen getroffen wurden.

Qualitätskriterien für belastbare Anforderungen

Damit dieser Bauplan funktioniert und eine hohe Softwarequalität gesichert ist, müssen die dokumentierten Anforderungen strenge Qualitätskriterien erfüllen. Sind Anforderungen unsauber formuliert, drohen teure Fehlentwicklungen und das Projekt kann scheitern:

  • Eindeutigkeit: Es darf keinen Interpretationsspielraum geben. Falsch: "Das System soll schnell sein." Richtig: "Die Suchanfrage muss in unter 2 Sekunden ein Ergebnis liefern."
  • Vollständigkeit & Korrektheit: Alle fachlichen Bedürfnisse müssen lückenlos und sachlich richtig erfasst sein.
  • Konsistenz: Anforderungen dürfen sich nicht widersprechen (z. B. "Nur Dark Mode" vs. "Heller Hintergrund zwingend erforderlich").
  • Testbarkeit: Es muss objektiv messbar sein, ob die Anforderung am Ende erfüllt wurde.
  • Priorisierung: Einteilung in Kategorien (z. B. Muss, Soll, Kann), um bei Zeitdruck die wichtigsten Features zuerst zu entwickeln.
  • Nachverfolgbarkeit (Traceability): Du musst jederzeit erkennen können, wer eine Anforderung gestellt hat und in welchem Code-Modul oder Testfall sie umgesetzt wurde.
Anforderungsdokumentation — dec-software-engineering-application-development-requirements-requirements-documentation_page1.svg

Welche Arten von Anforderungsdokumentation gibt es?

Formale Spezifikationen: Lastenheft und Pflichtenheft

In klassisch plangetriebenen Projekten, wie dem dir bereits bekannten Wasserfallmodell, kommen sehr detaillierte, formale Anforderungsspezifikationen zum Einsatz.

Das Lastenheft wird von der auftraggebenden Person verfasst. Es beschreibt das Was und Wofür – also die reinen Wünsche, Ziele und Rahmenbedingungen aus fachlicher Sicht. Darauf basierend erstellt das Auftragnehmer-Team (die IT-Dienstleistenden) das Pflichtenheft. Dieses definiert das Wie – also die konkrete technische und architektonische Umsetzungslösung.

Diese Dokumente sind extrem umfangreich und tiefgreifend strukturiert. Sie eignen sich hervorragend für Projekte mit festem Budget, starren regulatorischen Vorgaben (z. B. Medizintechnik) und Anforderungen, die sich im Projektverlauf voraussichtlich nicht mehr ändern.

User Stories: Der agile Fokus auf den Mehrwert

In der agilen Softwareentwicklung nutzt du primär User Stories, um Anforderungen aus der Perspektive der Endanwendenden zu formulieren. Sie sind bewusst kurz gehalten und fokussieren sich auf den geschäftlichen Mehrwert.

Sie folgen meist dem festen Muster: "Als [Rolle] möchte ich [Funktion], um [Nutzen] zu erreichen." Beispiel: "Als eingeloggte:r Kund:in möchte ich meine Lieferadresse speichern können, um beim nächsten Einkauf Zeit zu sparen."

User Stories sind deutlich weniger detailliert als ein Pflichtenheft. Sie dienen vielmehr als "Ticket" und Startpunkt für detaillierte Diskussionen im Team. Sie sind ideal für Projekte, in denen sich Anforderungen dynamisch ändern und Flexibilität gefordert ist.

Use Cases: Komplexe Interaktionen im Detail

Wenn du detailliert beschreiben musst, wie eine benutzende Person Schritt für Schritt mit dem System interagiert, nutzt du Use Cases (Anwendungsfälle). Du kennst bereits die grafische Übersicht durch UML-Anwendungsfalldiagramme; hier geht es um die textuelle Ausformulierung.

Ein Use Case dokumentiert Vorbedingungen, den Standardablauf (Sonnenschein-Szenario) sowie alternative Abläufe und Fehlerfälle. Beispiel: Der Use Case "Passwort zurücksetzen" beschreibt exakt: 1. User:in klickt auf Link. 2. System prüft E-Mail. 3. System sendet Token. (Alternativroute: E-Mail existiert nicht -> System zeigt aus Sicherheitsgründen eine neutrale Meldung).

Use Cases bieten mehr Detailtiefe als User Stories. Sie eignen sich sowohl für agile als auch klassische Methoden hervorragend, um komplexe Systemverhalten und Randfälle (Edge Cases) präzise zu spezifizieren.

Anforderungsdokumentation — dec-software-engineering-application-development-requirements-requirements-documentation_page2.svg

Teste dein Wissen

Eine Kundin verweigert die Abnahme des neuen Webshops, da Apple Pay fehlt. Welchen Zweck erfüllt die Anforderungsdokumentation in diesem Konflikt?

Bereit für mehr?

Thema verstanden?

Teste dein Wissen interaktiv in unserer App. 7 Tage kostenlos, dann nur 5 € im Monat.