Reverse Requirements Engineering – Altprodukte als Quelle für Anforderungen

Nicht selten lese ich in Spezifikationen, dass sich das neue System, so verhalten soll wie das alte. Doch wie verhält sich das alte? Wenn man hier keine entsprechende Spezifikation hat, dann fischt man erst einmal im Trüben. Oft ist das Wissen im Unternehmen verloren gegangen und keiner erinnert sich mehr so richtig. Es ist im Prinzip total naheliegend. Wer bereits ein ähnliches Produkt entwickelt hat, der orientiert sich bei der Neuentwicklung an dem bestehenden Produkt. Doch was tun, wenn das Altprodukt keine oder nur eine unzureichende Spezifikation hat?

Reverse Requirements Engineering

Wenn die Spezifikation nicht viel hergibt, dann ist Reverse Requirements Engineering angesagt. Während man beim Requirements Engineering spezifiziert, was gebaut werde soll, so geht man beim Reverse Requirements Engineering genau den anderen Weg. Aus dem System werden die Anforderungen herausgelesen.

  1. Welche Merkmale hat das System?
  2. Über welche Schnittstellen verfügt es?
  3. Wie verhält es sich?
  4. Welche nichtfunktionalen Anforderungen soll das System erfüllen?

Schritt für Schritt definiert man so den Status Quo. Hilfreich ist oft ein Blick in die Gebrauchsanweisung. Hier findet man nützliche Informationen über das System. Die Gebrauchsanweisung hilft beim Reverse Engineering dabei die richtigen Begriffe zu verwenden. Diese Begriffe können für das Glossar verwendet werden. In der Gebrauchsanweisung sind die technischen Daten und die Funktionsweise beschrieben. Auch diese Informationen können direkt in Anforderungen umgewandelt werden.

Alt ist nicht neu

Man sollte sich darüber im Klaren sein, dass die Anforderungen an das Altprodukt nicht unbedingt die Anforderung an das neu zu entwickelnde System sind. Daher sind die Anforderungen, die man durch Reverse Requirements Engineering ermittelt, mit Vorsicht zu genießen. Schließlich will man nicht das gleiche bauen, sondern etwas Neues. Nichtsdestotrotz ist das Altsystem aber eine gute Fundquelle für Anforderungen. Das Ziel soll es sein, dass man Anforderungen in einer solchen Güte erstellt, dass man diese beim nächsten Projekt übernehmen kann. Denn das Reverse Engineering ist niemals eine gute Idee an sich, sondern eben die einzige Möglichkeit wieder in Spur zu kommen, wenn Informationen fehlen. Auf keinen Fall darf man aber eine Anforderung wie “Das System soll sich wie das Altsystem verhalten” akzeptieren! Denn so eine Aussage hilft niemandem weiter und führt nur langfristig zu Problemen.

Welche Erfahrungen haben Sie mir Reverse Requirements Engineering gesammelt? Ich freue mich, wenn Sie mit mir in Kontakt treten oder einen Kommentar hinterlassen.

Viele Grüße,

Goran Madzar

Auch interessant:

Sequenzdiagramme richtig modellieren – Wann, Warum und Wie?

Sequenzdiagramme (engl. Sequence Diagram) dienen zur dynamischen Modellierung von Kommunikationsabläufen und Interaktionen zwischen Systemkomponenten¹. Der zeitliche Verlauf bekommt in dieser Darstellungsform eine besondere Bedeutung. Dieser Artikel soll Ihnen dabei behilflich sein, Sequenzdiagramme…

Goran Madzar

Seit Mai 2007 bin ich zusammen mit meinem Kollegen Martin Bosch selbständig. Wir haben ein Ingenieurbüro im Innovations- und Gründerzentrum in Erlangen aufgebaut. Hier entwickeln wir für Kunden in der Medizintechnik mit unseren Mitarbeitern Lösungen für die Produkte von Morgen.

Getagged mit: , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.