Was hat der Austausch von Anforderungen mit ReqIF mit Systems Engineering zu tun?

Ich hatte schon mehrfach ReqIF erwähnt, das Requirements Modeling Framework. Aber ich habe noch gar nicht erklärt, was das eigentlich ist. Den Lesern des englischsprachigen Formal Mind-Blogs sollte ReqIF zwar ein Begriff sein, aber hier ist noch mal eine kurze Einführung in deutscher Sprache. Außerdem möchte ich noch die Frage beantworten, was ReqIF eigentlich mit Systems Engineering zu tun hat.

Eine ausführliche Beschreibung zur Systems Engineering mit ReqIF ist in meinem Artikel „Entwickeln mit System“ zu finden, der im Eclipse Magazin veröffentlicht wurde (kostenlos anfordern >>).

Was ist das Problem, das ReqIF löst?

ReqIF ist ein Austauschformat für Anforderungen. Das Problem ist schnell beschrieben: Wenn ein Hersteller einem Zulieferer Anforderungen übergibt, in welchem Format soll das gemacht werden? Die „klassischen“ Formate sind Word, Excel oder PDF. Alle drei haben das Problem, dass die Anforderungen relativ unstrukturiert und nur bedingt maschinenlesbar sind. Wenn es nur um den Text gehen würde, wäre das eine Sache; aber normalerweise sind Anforderungen ja attributiert, bspw. mit einem Status oder einer Priorität. Noch problematischer wird es, wenn der Zulieferer antworten soll, entweder mit Kommentaren oder vielleicht sogar einem Pflichtenheft.

Und nun schauen wir uns die Automobilbranche an, wo zehntausende von Anforderungen in einer Spezifikation nicht ungewöhnlich sind. Dann ist es kein Wunder, dass ReqIF aus dieser Branche kommt. ReqIF ermöglicht den verlustfreien, maschinenlesbaren Austausch von Anforderungen: Hierarchisch, mit allen Attributen und Verlinkungen.

ReqIF ist weit verbreitet

Inzwischen unterstützt jedes Werkzeug im Anforderungsmanagement, das ernst genommen werden möchte den Standard. Mit dem Werkzeug ReqIF Studio gibt es auch eine kostenlosen Editor, mit dem schnell „mal eben“ ReqIF-Dateien inspiziert und validiert werden können. ReqIF Studio basiert übrigens auf dem Eclipse RMF-Projekt, welches die quelloffene Referenzimplementierung von ReqIF darstellt. Auch leichtgewichtiges Anforderungsmanagement ist damit möglich.

Inzwischen haben alle „großen“ Werkzeuge wie DOORS®, Polarion® und Integrity® Unterstützung eingebaut, und es gibt zahlreiche neue Werkzeuge, die ReqIF-basierte Daten weiterverarbeiten.

ReqIF und Systems Engineering

Zur Frage zurück, was das ganze mit Systems Engineering zu tun hat. Zunächst ist Anforderungsmanagement eine wichtige Disziplin des Systems Engineering. Eine Nachverfolgbarkeit zu den Anforderungen wird in vielen Bereichen benötigt, von Verifizierung und Validierung (V&V) bis zum Projektmanagement.

Nicht zuletzt in Richtung Industrie 4.0 hängt viel davon ab, wie gut die Industrie das Anforderungsmanagement für die neuen Systeme beherrscht. (ReqIF – Standard für die Fertigungsindustrie)

Wenige Firmen haben eine Werkzeug, die alle Aspekte des Systems Engineering abdeckt, sondern benutzen eine heterogene Werkzeugkette. ReqIF ist ein zukunftssicherer Standard, der einen stabilen Austausch von Anforderungen zwischen den Werkzeugen ermöglicht. Dazu müssen natürlich für die entsprechenden Werkzeuge Adapter vorhanden sein oder gekauft werden. Aber durch den Einsatz eines offenen und gut dokumentierten Standards ist hier das Risiko gering, dass es Probleme gibt.

OSLC als Alternative

Es gibt natürlich alternativen für die Integration von Werkzeugen zum Teilen von Anforderungen. Bemerkenswert ist hier OSLC (Open Services for Lifecycle Collaboration). Dabei handelt es sich um einen ebenfalls offenen Standard, und zwar für Web Services (also maschinenlesbare Webdienste). Die Idee ist, dass Daten (wie bspw. Anforderungen) über einen entsprechenden OSLC-Server abgerufen werden können.

OSLC und ReqIF schließen sich eigentlich gegenseitig aus, und stellen damit zwei unterschiedliche Ansätze zur Integration von Anforderungen dar. Beide haben ihre Existenzberechtigung. OSLC ist tendenziell eher für große Organisationen geeignet, die eine sauber verwaltete IT-Landschaft haben. Denn OSLC benötigt Server mit entsprechenden Rechten und allem, was dazugehört.

ReqIF ermöglicht dateibasiertes Arbeiten, und eignet sich daher extrem gut für den Austausch von Anforderungen über Firmengrenzen hinweg, wofür es ja auch ursprünglich konzipiert wurde. Es kann aber auch für leichtgewichtiges, dateibasiertes Anforderungsmanagement benutzt werden. Die ReqIF-Dateien lassen sich problemlos in einem Datei-Repository wie Subversion oder git verwalten.

Fazit

Auch wenn es ursprünglich „nur“ fürs Anforderungsmanagement konzipiert wurde, so eignet sich ReqIF ebenfalls hervorragend als Brücke zum Systems Engineering. Es gibt zahlreiche Lösungen, von Open Source, bis hoch-integriert proprietär. Der Anwender hat hier dank offener Standards eine große Auswahl von Lösungen.

Disclaimer: Michael Jastram ist Geschäftsführer der Formal Mind GmbH und hat ReqIF Studio mitentwickelt.

Dieser Artikel erschien zuerst bei se-trends.de.

One Pingback/Trackback

  • Christian Muggeo

    Hallo Herr Jastram,

    Ein guter Artikel, der die ersten Basics gut erläutert. Sie haben vollig richtig die Unterschiede und Anwendungsszenarien dargestellt.

    Ich würde noch einen kleiben Schritt weiter gehen und unterstreichen, dass es sich bei einer ReqIF Datei immer um einen Snapshot handelt, quasi um eine spezifische Baseline von (meist aber nicht ausschlieslich textuellen Anforderungen.

    Was vielleicht etwas missverständlich sein könnte ist die Aussage mit dem OSLC Server. OSLC ist durchaus so gedacht, dass Tools genau wie einen ReqIF Support eine OSLC Schnittstelle mitbringen (siehe Doors).

    Sehr spannend wäre für mich noch die Betrachtung, ob alle spezifizierten ReqIF Felder ohne Erweiterung der OSLC Requirements Specification abbildbar sind und vice versa. Sprich, bin ich als Anwender in der Lage in einem Tool Requirements in einem proprietären Datenmodell zu speichern und dann je nach Bedarf per OSLC oder ReqIF im Entwicklungsprozess weiter zu verwenden?

    Viele Grüße,
    Christian Muggeo

    • Danke für die konstruktiven Kommentare. Stimmt – ReqIF ist als Snapshot konzipiert. Allerdings gibt es inzwischen einige Werkzeuge, die es auch als Datenmodell nutzen (ReqIF Server, fmStudio, ReqEdit…). Das ist aber eher eine „Verdrehung“ des Standards und des vorgesehenen Anwendungsfalls.

      Ich nehme die Anregung bezüglich OSLC mal mit und werde mal einen systematischen Vergleich vom ReqIF-Datenmodell und OSLC Requirements Management durchführen und posten.

      • Nikolai Stein

        Hallo Michael,

        Oslc beschriebt ja nur den Zugriff und grundsätzliche (mindest-)Methoden. ReqIF lässt sich prinzipiell über OSLC aus einem RE-Werkzeug erzeugen und umgekehrt Daten aus einer ReqIF-Datei mittels OSLC in das Werkzeug speichern. Das hängt allerdings von den angebotenen Methoden des Werkzeugs ab. Die bisher einzig uns bekannte Einschschränkung bei DOORS Next ist z.B., dass es wohl keine Zugriffsfunktion auf die Hierarchie eines Moduls gibt. Das untersuchen wir derzeit noch genauer, da wir einen OSLC-ReqIF-Adapter konzipieren.

        Viele Grüße

        Nikolai

      • Hallo Nikolai,

        Das ist auch mein Verständnis, dass für einzelne Anforderungen eigentlich alle Features eines einzelnen SpecObjects abgebildet werden können, aber eine systematische Prüfung wäre da sicher interessant. Wenn es bei Deiner Untersuchung interessante Ergebnisse gibt, würde mich das sehr interessieren.

        Gruß, – Michael

  • Pingback: Eine Bibliothek rund um den Austausch von Anforderungen – ReqIF.academy - Systems Engineering Trends()