Einführung in das Requirements Engineering (RE)
Requirements Engineering (RE) ist ein systematischer, disziplinierter Ansatz zur Spezifikation und Verwaltung von Anforderungen. Ziel ist es, die Bedürfnisse der Stakeholder zu verstehen und Risiken bereits zu Beginn eines Projekts zu identifizieren.
Stakeholder
Ein Stakeholder ist ein Individuum oder eine Organisation, die (direkt oder indirekt) Einfluss auf die Systemanforderungen hat. Jeder, der das Ergebnis des Systems beeinflussen kann, muss in den RE‑Prozess einbezogen werden.
Grundlegende RE‑Aktivitäten
Die vier Hauptaktivitäten des RE sind:
- Ermitteln
- Dokumentieren
- Prüfen und Abstimmen
- Verwalten
Aufgaben eines Requirements Engineers
Ein Requirements Engineer führt vier zentrale Aufgaben aus:
- Elicitation (Erhebung) – Anforderungen von Stakeholdern erfassen.
- Documentation (Dokumentation) – Anforderungen klar und eindeutig festhalten.
- Validation (Validierung) – Prüfen, ob die Anforderungen die Stakeholder‑Bedürfnisse erfüllen.
- Management (Verwaltung) – Änderungen verfolgen, Versionen kontrollieren und Traceability sicherstellen.
Zusätzlich definiert er RE‑Prozesse und überbrückt die Lücke zwischen Problem‑ und Lösungsraum.
Arten von Anforderungen
Im RE wird zwischen funktionalen und nicht‑funktionalen (qualitativen) Anforderungen unterschieden.
| Typ | Beschreibung |
|---|---|
| Funktional | Beschreibt das Verhalten des Systems – was es tun muss. |
| Nicht‑funktional | Beschreibt Qualitätsattribute – wie gut das System seine Aufgaben erfüllt. |
Ein häufiges Missverständnis ist, dass funktionale Anforderungen Qualitätsattribute beschreiben; das ist falsch.
Beispiele für Qualitätsattribute
Mindestens drei Qualitätsattribute sollten explizit dokumentiert werden, z. B.:
- Effizienz
- Sicherheit
- Zuverlässigkeit
Weitere mögliche Attribute sind Usability, Maintainability, Portability und Compatibility.
Wertberechnung von Anforderungen
Der Wert einer Anforderung wird als Nutzen minus Kosten berechnet. Der Nutzen spiegelt die Zufriedenheit der Stakeholder wider, während die Kosten den Aufwand für Spezifikation, Validierung und Implementierung umfassen.
Validierung und Kontext
Die Validierung von Anforderungen beginnt bereits zu Beginn des RE‑Prozesses. Sie prüft, ob die ermittelten Anforderungen die tatsächlichen Bedürfnisse der Stakeholder erfüllen und reduziert so das Risiko von Fehlentwicklungen.
Ein gemeinsames Verständnis bedeutet, dass alle Beteiligten die Anforderungen gleich interpretieren. Der Kontext hingegen beschreibt das Umfeld, in dem das System operiert, und definiert Grenzen sowie externe Einflüsse.
Methoden und Modelle
Im Wasserfallmodell finden RE‑Aktivitäten hauptsächlich zu Projektbeginn statt, nicht über den gesamten Projektverlauf. Das ist ein häufiger Irrtum.
Agile Methoden hingegen gehen von einer hohen Volatilität der Anforderungen aus. Der Kunde bleibt eng eingebunden, um Änderungen schnell zu adressieren.
User Stories
Ein verbreitetes Format für Anforderungen in agilen Projekten ist die User‑Story:
As <role> I want <requirement> so that <benefit>
Dieses Template erfasst die Rolle, das Bedürfnis und den Nutzen in einer kompakten Form.
Qualität von Anforderungen
Natürliche Sprache birgt das Risiko der Mehrdeutigkeit. Ambiguitäten können zu Missverständnissen führen und das Projekt gefährden.
Transformationen von natürlichsprachigen Anforderungen können Informationsverlust verursachen. Deshalb sollten solche Transformationen sorgfältig geprüft werden.
Vorlagen vs. Freitext
Der Einsatz von Satzvorlagen reduziert Ambiguitäten, weil sie Struktur erzwingen. Freitext bietet mehr Flexibilität, erhöht jedoch das Risiko von Inkonsistenzen.
Traceability und Dokumentenmanagement
Traceability bedeutet, dass Verbindungen zwischen Arbeitsergebnissen (z. B. Anforderungen, Design, Testfälle) hergestellt und nachverfolgt werden. Dies gewährleistet Konsistenz und erleichtert Änderungen.
Redundante Wiederholungen von Anforderungen in mehreren Dokumenten werden vermieden; stattdessen sollte referenziert werden, um die Übersichtlichkeit zu wahren.
Lebensdauer von Arbeitsergebnissen
Arbeitsergebnisse lassen sich in kurz‑ und langfristige Produkte einteilen:
- Kurzlebige Produkte dienen der Kommunikation und schnellem Feedback.
- Langlebige Produkte bilden Baselines, werden versioniert und dienen der Traceability.
Durch die Unterscheidung wird klar, welche Artefakte dauerhaft archiviert und welche nur temporär genutzt werden sollten.
Zusammenfassung
Requirements Engineering ist ein zentraler, systematischer Prozess, der Stakeholder‑Bedürfnisse erfasst, dokumentiert, validiert und verwaltet. Die Unterscheidung zwischen funktionalen und nicht‑funktionalen Anforderungen, die frühzeitige Validierung, das Management von Konflikten und die Sicherstellung von Traceability sind entscheidende Erfolgsfaktoren. Agile Methoden betonen die Anpassungsfähigkeit, während klassische Modelle wie Waterfall klare Phasen definieren. Durch den gezielten Einsatz von Vorlagen, das Vermeiden von Mehrdeutigkeiten und das bewusste Management von Arbeitsergebnissen wird die Qualität der Anforderungen nachhaltig gesichert.


