Anforderungsmanagement mit RMF und ProR

Die Umsetzung des ReqIF-Kerns

Da der Standard in Form eines Enterprise-Architekt-Modells beziehungsweise als MOF-Modell vorliegt, war eine erste Umsetzung recht einfach. Wir importierten die Modelle in Eclipse und erzeugten daraus entsprechende EMF-Metamodelle. Der Teufel sitzt hier ein wenig im Detail, da Enterprise-Architekt und der EMF-Generator bei UML-Modellen unterschiedliche Annahmen machen, zum Beispiel über die Zugehörigkeit von Assoziationen. Da ReqIF und EMF an manchen Stellen unterschiedliche Konzepte zur Serialisierung in XML verfolgen, haben wir noch Anpassungen in der Serialisierung vorgenommen. ReqIF referenziert für die Beschreibungen der Anforderungen unter anderem Teile des XHTML-Standards. Auch diese Anteile reichen wir über EMF nach oben, sodass Anwendungen korrekt darauf zugreifen können. RMF unterstützt gegenwärtig RIF1.1a, RIF1.2 und ReqIF1.0.1. Tests mit Exporten aus kommerziellen Werkzeugen bestätigen die Kompatibilität.

Anforderungsmanagement mit ProR

ProR ist der Name der RMF-GUI. ProR kann entweder als eigenständige Anwendung heruntergeladen oder über eine Updatesite installiert werden. ReqIf-Dateien können in jedem beliebigen Projekt abgelegt werden und müssen in .reqif enden. Wir können ein neues Modell über den ReqIf Wizard anlegen, woraufhin wir den in Abbildung 1 gezeigten Editor bekommen. Dieser Editor besteht aus den typischen Eclipse Views: links der Projekt Explorer, rechts die Outline, dazwischen die Editoren und unten die Properties. Im Outline sehen wir bereits die Struktur, die vom Wizard angelegt wurde: Es gibt ein Specification Document, das eine Anforderung enthält („Start editing here“). Da Anforderungen aus der Spezifikation lediglich referenziert werden, gibt es einen eigenen Ordner für Anforderungen (SpecObjects). Weiterhin sehen wir einen Ordner für Links (SpecRelations).

Abb. 1: ProR nach dem Erstellen einer neuen Datei über den ReqiF Wizard

Um nun mit den Anforderungen zu arbeiten, machen wir die einzige Spezifikation auf, indem wir in dem ReqIf-Editor doppelt darauf klicken. Dadurch öffnet sich ein neuer Editor, der die Spezifikation in einer tabellarischen Sicht zeigt (Abb. 2). Jede Zeile stellt eine Anforderung dar, und jede Anforderung kann eine beliebige Anzahl von Attributen enthalten. Welche Attribute eine Anforderung nun wirklich hat, hängt von deren Typ ab. In der PROPERTIES VIEW sehen wir, dass die ausgewählte Anforderung vom Typ Requirements Type ist, die genau über ein Attribut namens Description verfügt. Um nun das Beispiel etwas interessanter zu machen, werden wir die folgenden Schritte durchführen:

Abb. 2: Die Specification View, in der die Anforderungen tabellarisch bearbeitet werden
  1. Hinzufügen weiterer Attribute zum Requirements Type
  2. Anzeigen einer weiteren Spalte im Editor
  3. Freischalten der ID-Präsentation, einem Mechanismus zur Vergabe von leserlichen Ids
  4. Hinzufügen weiterer Anforderungen
  5. Verlinkung von Anforderungen

Das Resultat nach Ausführung dieser Schritte ist in Abbildung 3 zu sehen.

Abb. 3: Ein Beispieldokument mit verschachtelten Anforderungen und Verlinkungen
Kommentare

Schreibe einen Kommentar

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