Wiederverwendung ist in der Softwareentwicklung seit vielen Jahren ein essentielles Thema, und auch im Requirements Engineering lohnt es sich, darüber nachzudenken. Wenn es darum geht, in kurzer Zeit mehrere Varianten eines Systems zu entwickeln, welche zu Beginn des Produktlebenszyklus vollständig spezifiziert sein müssen, kann die Wiederverwendung von Anforderungen dem Requirements Engineer bei der Erstellung von Lastenheften eine Menge Zeit ersparen.

Neben der trivialen Duplizierung von vorhandenen Anforderungen in neue Dokumente (Copy & Paste) oder dem Setzen von Variantenattributen, gibt es eine weitere Art der Wiederverwendung von Anforderungen, die es ermöglicht, Anforderungen mit Hilfe von Platzhaltern generisch zu halten. Dabei können je nach Systemvariante die Platzhalter mit unterschiedlichen Werten ersetzt werden.

Die Anforderungen müssen dazu in einem Anforderungspool erzeugt und verwaltet werden. Das Identifizieren von variablen Angaben und das Ersetzen dieser durch Platzhalter, macht jede einzelne Anforderung generisch.
Für jede zu entwickelnde Projektvariante müssen nun jedem Parameter, der sich innerhalb der einzelnen Platzhalter befindet, die entsprechenden Werte zugewiesen werden. Die projektspezifischen Werte lassen sich nun über den Parameternamen der entsprechenden generischen Anforderung aus dem Anforderungspool zuordnen.

Wiederverwendung von Anforderungen

Ein Skript (z.B. DXL) liest die Anforderungen und die Parameter ein

Es ist offensichtlich, was im nächsten Schritt geschehen muss, um nun ein Lastenheft für die entsprechende Projektvariante zu erhalten. Die Platzhalter der generischen Anforderungen müssen mit den Werten der jeweiligen Projektvariante ersetzt und in ein neues Dokument geschrieben werden. Jedoch geschieht dies nicht manuell, sondern lässt sich mit Hilfe eines Skripts automatisieren.

Daher entwickelte HOOD für das Requirements Management Tool „IBM Rational DOORS“ ein sogenanntes DXL-Skript (DOORS eXtension Language), welches die generischen Anforderungen aus dem Anforderungspool und die Parameterwerte aus der jeweiligen Projektvariante einliest und die Platzhalter aus den Anforderungen mit den projektspezifischen Parameterwerten ersetzt.
Als Output erzeugt das DXL-Skript ein fertiges Lastenheft (DOORS-Modul) mit den spezifischen Anforderungen der jeweiligen Projektvariante.

Wiederverwendung von Anforderungen

Das Skript erzeugt ein projektspezifisches Lastenheft

Selbstverständlich können sich im Anforderungspool auch Anforderungen befinden, die keinen Platzhalter besitzen, aber trotzdem für alle Projektvarianten gelten. Das DXL-Skript ist daher in der Lage, auch solche Anforderungen in das generierte Lastenheft zu übernehmen.

Die Entwicklung dieses DXL-Skripts konnte beispielhaft zeigen, wie schnell Anforderungen für mehrere zu entwickelnde Varianten eines Systems wiederverwendet werden können.