Was ist ReqIF?

ReqIF. Mit dem Requirements Interchange Format Anforderungen austauschen.

Was bedeutet ReqIF? Wie funktioniert der Standard? Und welche Vorteile bietet ReqIF?

tooltip text
1

ReqIF steht für Requirements Interchange Format und wird genutzt, um Anforderungen von einem Requirements Engineering-Tool in das andere zu übertragen.

2

Dieser Austausch findet durch eine ReqIF-Datei statt, in der Anforderungen und alle zusätzlich notwendigen Informationen durch spezielle XML-Tags definiert sind.

Kurze Definition für ReqIF:

ReqIF steht für Requirements Interchange Format und eignet sich für den Austausch von Anforderungen zwischen unterschiedlichen Requirements Engineering-Tools.

Was ist das ReqIF-Format und woher stammt es?

ReqIF ist die Abkürzung für Requirements Interchange Format. Das Format ist ein Metamodell, das durch ein XML-Schema definiert ist. Der ReqIF-Standard wurde vor allem dazu entwickelt, Anforderungen zwischen unterschiedlichen Requirements Engineering-Tools auszutauschen. Anforderungen bzw. Informationen zu den Anforderungen inkl. Metadaten und zusätzlichen Dateien wie Grafiken werden in einer XML-Datei festgehalten. Diese Datei muss eine besondere Struktur und spezielle XML-Tags vorweisen, damit sich die Anforderungen in das andere Werkzeug importieren lassen.

Anstatt die Dateiendung .xml zu verwenden, empfiehlt der Standard die Endung .reqif. Wenn die Datei eingebettete Objekte enthält, müssen alle zugehörigen Dateien zusammengepackt (“gezippt”) werden. Die gezippte Datei erhält dann – so die Empfehlung des Standards – die Erweiterung .reqiz.

Der Ursprung des ReqIF-Standards findet sich in der Automobilindustrie. Der HIS-Verband, bestehend aus deutschen Automobilherstellern, definierte im Jahr 2004 den Standard RIF zum Austausch von Anforderungen. Dies war notwendig, weil die bisherigen Verfahren wie über PDF fehleranfällig waren oder unterschiedliche Tools mit proprietären Formaten eingesetzt wurden. Ein paar Jahre vergingen und im April 2011 geschah es schließlich, dass der OMG ReqIF-Standard als Nachfolger von RIF in Version 1.0.1 veröffentlicht wurde. Mittlerweile gilt die Version 1.2, die 2016 an die Öffentlichkeit gelangte. Das ReqIF-Format wird heutzutage auch in anderen Branchen als der Automobilindustrie eingesetzt.

Den Standard können Sie übrigens hier herunterladen und ansehen: https://www.omg.org/spec/ReqIF/About-ReqIF/

Vorteile von ReqIF-Format

Der Standard ist frei einsehbar.

Der Austausch ist verlustfrei.

Die Zusammenarbeit zwischen Partnerunternehmen wird erleichtert.

Anforderungen (inkl. Anforderungsattribute und zusätzliche Dateien) lassen sich zwischen verschiedenen Tools austauschen.

Eine Auswahl an Unternehmen, die das ReqIF-Format unterstützen

Audi AG

BMW AG

Continental AG

Daimler AG

Robert Bosch AG

Volkswagen AG

So arbeiten Sie mit ReqIF Standard in der Praxis

Mehr zu Requirements Engineering mit objectiF RPM und objectiF RM »

Wissen online: objectiF RPM und objectiF RM

Aufbau einer ReqIF-Datei

Eine ReqIF-XML-Datei enthält sowohl die Beschreibung der Datentypen als auch die Daten selbst. Der grundsätzliche Aufbau der XML-Datei ist in folgender Grafik zusammengefasst:

ReqIF - Überblick über die Aufbaudatei

Auf die ReqIF-XML-Datei übertragen, bedeutet das: Die Datei beginnt mit dem Tag < REQ-IF >, der die drei Abschnitte < REQ-IF-HEADER >, < REQ-IF-CONTENT > und < REQ-IF-TOOL-EXTENSION > umschließt.

< REQ-IF-HEADER >: Hier finden sich Metadaten wie zum Beispiel das Erstellungsdatum der Datei. (obligatorisch)
< REQ-IF-CONTENT >: Sowohl die Beschreibung der Datentypen als auch die Daten, d.h. die Anforderungen selbst, befinden sich in diesem Abschnitt. (obligatorisch)
< REQ-IF-TOOL-EXTENSION > : Es lassen sich in diesem Abschnitt zusätzliche Informationen bezüglich des Tools dokumentieren. (optional)

Inhalt von <REQ-IF-CONTENT>

Der grundsätzliche Aufbau von < REQ-IF-CONTENT > ist in folgender Grafik zusammengefasst:

Aufbau der ReqIF Datei Content

Datatype Definition

Datentypen werden innerhalb des Tags < DATATYPES > definiert. Als Datentypen kennt der ReqIF-Standard u.a. String, Boolean, Integer, Enumeration, Real, Simple, Date und XHTML.

Beispiel einer Definition von “String”, “Boolean” und “Date”:

Datatypes einer ReqiF Datei

SpecType

Innerhalb des Tags < SPEC-TYPES > definieren Sie, welche Anforderungstypen es gibt (funktionale Anforderung, Qualitätsanforderung, Performance-Anforderung etc.), welche Attribute bzw. Eigenschaften diese Anforderungstypen besitzen und welche Beziehungen zwischen Anforderungen bestehen können (Verfeinerung, Abhängigkeit etc.). Hier lassen sich gleichzeitig auch Standardwerte für die Attribute definieren.

Beispiel eines Anforderungstyps “FUNC-REQ” und dem Attribut “FUNC-REQ-TXT” vom Typ “String” (Es handelt sich also um den Typ “Funktionale Anforderung”. Für eine Anforderung dieses Typs lässt sich – nach dieser Definition – nur ein Beschreibungstext erfassen.):

SpecTypes einer ReqiF Datei

Specification

Innerhalb des Tags < SPECIFICATIONS > können Sie die Anforderungen auflisten und hierarchisch gliedern. In diesem Sinne entspricht es einem Anforderungsdokument bzw. einer Anforderungsspezifikation.

Beispiel einer Specification mit SpecHierarchy (Hier wird die abgeleitete Anforderung unterhalb der Basisanforderung aufgelistet):

Specifications in einer ReqiF Datei

RelationGroup

Durch eine RelationGroup in der ReqIF-Datei lassen sich Gruppen von Relationen darstellen.

Beispiel einer RelationGroup:

RelationGroup in einer ReqiF Datei

So importieren und exportieren Sie ReqIF-Dateien mit objectiF RPM

Mit nur wenigen Klicks können Sie ReqIF-Dateien nach objectiF RPM importieren oder Ihre Anforderungen als ReqIF-exportieren. Probieren Sie selbst mit der kostenlosen Testversion.

ReqIF Import in objectiF RPM