ReqIF. Mit dem Requirements Interchange Format Anforderungen austauschen

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

1
2
ReqIF: Standard zum Austausch von Anforderungen

So arbeiten Sie mit dem ReqIF Standard in der Praxis. Machen Sie den Test.

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

  • 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 GmbH
  • Volkswagen AG

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.

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-Datei: Überblick über den Aufbau

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:

ReqIF-Datei: Aufbau von ReqIFContent

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“:

ReqIF: DataTypes

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.):

ReqIF: SpecTypes

SpecObject

Die eigentlichen Anforderungen finden sich in der ReqIF-Datei innerhalb von
< SPEC-OBJECTS >.

Beispiel einer Anforderung vom Typ „FUNC-REQ“ mit einem String-Wert für das Attribut „FUNC-REQ-TXT“ (Es ist also eine funktionale Anforderung mit Beschreibungstext):

ReqIF: SpecObjects

SpecRelation

Um eine Beziehung in einer ReqIF-Datei zwischen zwei Anforderungen zu definieren, wird der Tag < SPEC-RELATIONS > eingesetzt. Für eine Beziehungsdefinition brauchen Sie immer ein Quell- und ein Ziel-Element. Damit stellen Sie also die Traceability sicher.

Beispiel für eine SpecRelation (Die Anforderung „Erkennung von Feuer“ wurde von der Anforderung „Überwachung der Bodentemperatur“ abgeleitet):

ReqIF: SpecRelations

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):

ReqIF: Specifications

RelationGroup

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

Beispiel einer RelationGroup:

ReqIF: SpecRelationGroups

Zusammenfassung: Beispiel und Struktur 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.

objectiF RPM: Import einer ReqIF-Datei

Pin It on Pinterest