Michael Jastram und Andreas Graf

Das Eclipse Requirements Modeling Framework

Anforderungsmanagement mit RMF und ProR

Im August 2011 hat das Requirements Modeling Framework als ein neues Eclipse-Projekt das Licht der Welt erblickt [1]. RMF besteht aus einem Kern, der Daten im Requirements Exchange Format (RIF/ReqIf) verarbeiten kann, und einer GUI namens ProR, mit der sich diese Daten komfortabel bearbeiten lassen. ProR stellt einen Extension Point zur Verfügung, der die Integration mit anderen Werkzeugen ermöglicht.

In diesem Artikel beschreiben wir zunächst die Entwicklungen im Bereich Anforderungsmanagement und geben Hintergrundinformationen zum RIF/ReqIf-Format. Wir zeigen dann konkret, wie man mit ProR Anforderungen bearbeiten kann. Im letzten Teil beschreiben wir, wie man ProR mit so genannten Präsentationen programmatisch erweitert.

Technische Aspekte

Der wichtigste technische Grund für das Fehlen einer etablierten Open-Source-Umsetzung war bisher das Fehlen eines akzeptierten Standards für die Modellierung und den Austausch von Anforderungen. Eine Internetsuche nach „Open Source Requirements Management“ liefert zwar ein paar Ergebnisse, doch darunter finden sich auch Projekte, deren aktueller Status nicht klar ist. Requirements-Werkzeuge müssen sich auch in eine Werkzeuglandschaft integrieren. Ein Open-Source-Werkzeug per se ist nicht nützlich, wenn es ähnliche Integrationsprobleme verursacht wie kommerzielle Werkzeuge. Wir erwarten, dass sich die Situation durch die Veröffentlichung des ReqIF-Standards [2] stark verändert, da wir Parallelen zur Geschichte der UML sehen. Bevor die UML veröffentlicht wurde, gab es eine Reihe inkompatibler Modellierungsmethoden (Grady, Booch, ROOM). Nach der Veröffentlichung der UML verwendeten die meisten Bücher, Kurse und Werkzeuge den neuen Standard. Dadurch konnten die Projekte leichter qualifizierte Teams aufbauen, denn die gemeinsame Notation verkürzte Lernzeiten und die Menge an verfügbarer Information senkte die Eintrittsschwelle. Auf der Werkzeugseite eröffnete das gemeinsame Metamodell und die Notation den Markt für preisgünstige Tools und Open-Source-Werkzeuge. So werden beispielsweise Papyrus und Topcased in industriellen Projekten eingesetzt. Gegenwärtig ist das Angebot an preisgünstigen Tools und Open-Source-Werkzeugen für das Requirements Management nicht sehr umfangreich. Die Situation ist ähnlich wie vor der Einführung der UML. Zwar bietet zum Beispiel die SysML grundlegende Ansätze für das Requirements Engineering, allerdings sind diese dann eng an den Einsatz der SysML gebunden, was nicht für alle Projekte geeignet sein mag. Der ReqIF-Standard ist flexibel genug, um mehrere Ansätze des Requirements Engineerings zu unterstützen, dabei ist er konkret genug, um eine Werkzeugimplementierung zu ermöglichen. Sowohl hinter ReqIF als auch UML steht die OMG. Dadurch sind die Chancen für eine Akzeptanz in der Industrie recht hoch.

Geschäftliche Aspekte

Anforderungswerkzeuge hatten bis jetzt einen Makel, der die Akzeptanz im Open-Source-Bereich erschwert: Sie sind oft das eher ungeliebte Kind im Entwicklungsprozess. Ein Entwickler, der sich in diesem Bereich engagiert, konnte wohl auf deutlich weniger Anerkennung hoffen, als ein Entwickler im Bereich Modellierung oder Entwicklungsumgebungen. Das ändert sich gegenwärtig, da immer mehr Unternehmen aus den Industrien, die mit klassischem Anforderungsmanagement arbeiten, auf Eclipse als Werkzeugplattform setzen und zunehmend die Vorteile von Open Source erkennen. So entwickelt die französische Luft- und Raumfahrtindustrie das Systems-Engineering-Werkzeug Topcased, und die Automobilindustrie koordiniert ihre Aktivitäten in der Eclipse Automotive Working Group. Gerade in internationalen Projekten, die sicherheitskritische Systeme entwickeln, ist klassisches Anforderungsmanagement erforderlich. Das große Interesse zeigt sich auch an den Firmen, die sich für das RMF-Projekt als interessierte Parteien gemeldet haben. Als Endanwender sind hier zum Beispiel Airbus oder Thales zu nennen.

Requirements Interchange Format

Die Geschichte von ReqIF beginnt 2004, als die HIS-Automotive, eine Arbeitsgruppe der deutschen Automobilindustrie, ein Austauschformat für Anforderungen unter dem Namen RIF veröffentlichte. Von da an wurde RIF bis zur Version 1.2 weiterentwickelt und von einigen kommerziellen Werkzeugen unterstützt. Ab 2010 wurde die Standardisierung unter dem Dach der OMG weitergeführt und kürzlich als ReqIF veröffentlicht. Obwohl der Standard als Austauschformat geplant war, geht er aus unserer Sicht wegen seiner Flexibilität deutlich darüber hinaus. Er erlaubt nicht nur ein fixes Datenmodell für die Anforderungen, im Austauschformat ist auch die Definition des jeweiligen Datenmodells enthalten. Der Standard hat damit die Mächtigkeit eines (Meta-)Modellierungswerkzeugs. Aus unserer Sicht ist daher die Bezeichnung „Interchange Format“ historisch korrekt, trifft aber den Umfang nicht ganz, denn es ist wichtig, das Metamodell von ReqIF und das konkrete Austauschformat zu unterscheiden. Zwei Parteien tauschen Anforderungen über das XML-basierte Format aus. Das Metamodell kann im Werkzeug aber auch in anderer Form, zum Beispiel in Java-Klassen, implementiert sein.

Ein ReqIf-Modell besteht aus SpecObjects, die den Anforderungen entsprechen. Diese haben einen Typ, der bestimmt, welche Attribute die Anforderung hat. Attribute können gängige Datentypen wie Text, Zahlen, Daten, Aufzählungen, Rich-Text haben, aber auch OLE-Objekte und Binärdaten werden unterstützt. SpecObjects werden in Specifications hierarchisch organisiert, und es gibt SpecRelations, über die SpecObjects verlinkt werden. Es gibt noch viele weitere Features, auf die wir hier nicht im Detail eingehen wollen.

Geschrieben von
Anforderungsmanagement mit RMF und ProR
Kommentare

Schreibe einen Kommentar

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