Requirements Interchange Format

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel beschäftigt sich mit dem Requirements Interchange Format (RIF/ReqIF). Für weitere Bedeutungen siehe Rif.

Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehlt

Requirements Interchange Format
Logo
Dateiendung: .reqif

.reqifz

Entwickelt von: Object Management Group
Erstveröffentlichung: 2. April 2011
Aktuelle Version: 1.1 (Stand: 1. Oktober 2013)
Art: Austauschformat
Container für: Anforderungen
Erweitert von: XML
Website: OMG Webseite

RIF/ReqIF (Requirements Interchange Format, englisch Austauschformat für Anforderungen) ist ein XML-Dateiformat, mit dessen Hilfe Anforderungen samt zugehöriger Metadaten zwischen Software-Werkzeugen verschiedener Hersteller ausgetauscht werden können. Mit dem Änderungsaustauschformat zusammen ist auch eine Vorgehensweise ("Workflow") definiert, der die Übermittlung der Status von Requirements zwischen Auftraggeber und Auftragnehmer beschreibt. Obwohl in der Automobilindustrie entstanden, ist ReqIF ein generell für den verlustfreien Austausch von Anforderungen taugliches Format.

Entstehungsgeschichte[Bearbeiten]

Die Herstellerinitiative Software (HIS) begann 2004 unter der Bezeichnung RIF mit der Definition eines generischen Änderungsaustauschformats.

Zur weiteren Pflege wurde RIF 2008 an den ProSTEP iViP e.V. übergeben. Dort treibt eine Projektgruppe die internationale Standardisierung voran und reichte 2010 eine überarbeitete Version des Änderungsaustauschformat als Request for Comment bei der Object Management Group (OMG) ein.

Um Verwechslungen mit dem W3C-Standard RIF (dem Rule Interchange Format) zu vermeiden, wurde 2010 ReqIF als Kurzschreibweise des OMG Requirements Interchange Formats eingeführt.

Im April 2011 wurde ReqIF von der OMG in der Version 1.0.1 als formale Spezifikation (OMG Document Number: formal/2011-04-02) angenommen.

Im Oktober 2013 wurde die Version 1.1 freigegeben (OMG Document Number: formal/2013-10-01). Lediglich der Text des Standards hat sich geändert, aber nicht das XML Schema oder das zugrundeliegende Datenmodell. Daher sind ReqIF-Dateien der Versionen 1.1 und 1.0.1 äquivalent.

Eigenschaften[Bearbeiten]

ReqIF erlaubt mittels exchange files den Austausch von Requirements, Requirement-Attributen sowie zusätzlichen Dateien (z.B. für Grafiken) über mehrere Ebenen von Auftraggebern, Auftragnehmern und Unterauftragnehmern hinweg. Zur eindeutigen Identifizierung eines Requirements dient dabei eine GUID, die über die gesamte Prozesskette unabhängig von Änderungen des Inhalts unverändert bleibt. Durch die Verwendung einer GUID sind auch Beziehungen zwischen verschiedenen Ebenen von Requirements eindeutig möglich.

Einsatzgebiete[Bearbeiten]

Requirements (Anforderungen) werden in erster Linie während der frühen Phasen der Produktentwicklung erfasst, gemeinsam bewertet und festgelegt. Hieraus leitet sich das primäre Einsatzgebiet von ReqIF ab, denn die Produktentwicklung erfolgt zunehmend firmenübergreifend. ReqIF wird genutzt, um Requirements zwischen mehreren in einem Projekt beteiligten Partnern mit möglicherweise unterschiedlichen Software-Werkzeugen auszutauschen und zu aktualisieren. Im Gegensatz zur Verwendung von Word-, Excel- oder PDF-Dateien ermöglicht ReqIF dabei den verlustfreien Datenaustausch.

Eine Vorreiterrolle beim Einsatz von ReqIF nehmen die Automobilhersteller ein, die insbesondere bei der Entwicklung von Steuergeräten ReqIF als Standard-Austauschformat fordern.

ReqIF wird inzwischen auch als Datenmodell für Implementierungen benutzt. Insbesondere ist dies bei der ReqIF Referenzimplementierung (Eclipse RMF) der Fall, die in einem Implementierer-Forum der ProStep eingesetzt wird[1], um sicherzustellen, dass kommerzielle Software bezüglich ReqIF interoperabel ist. ReqIF Server[2] ist ein anderes Werkzeug, das ReqIF direkt als Datenmodell nutzt.

Arbeitsweise von ReqIF[Bearbeiten]

RIF/ReqIF ist ein standardisiertes Meta-Modell und ist durch ein XML-Schema definiert. RIF/ReqIF-Dateien sollen dem Schema entsprechen und enthalten sowohl die Beschreibung des Modells (der Datentypen) als auch die Daten selbst. Ein erfolgreicher Datenaustausch zwischen verschiedenen Anforderungs-Management-Werkzeugen gelingt also nur, wenn zuvor ein gemeinsames Datenmodell vereinbart wird, nachdem die RIF/ReqIF-Daten exportiert und importiert werden. Aktuell (2012) erarbeitet das "ProSTEP ReqIF Implementor Forum" ein derartiges gemeinsames Modell und organisiert einen Test mit Werkzeugen der beteiligten Software-Hersteller, um die Interoperabilität zukünftig sicherzustellen.

Aufbau von ReqIF-Dateien[Bearbeiten]

Eine OMG ReqIF XML-Datei besteht aus dem XML-Root-Element „REQ-IF“, in das Informationen über die Datei selbst sowie die in der Datei verwendeten Datentypen und Requirements eingebettet sind.

ReqIF verwendet zur Beschreibung von Anforderungen ("requirements") sogenannte specification objects mit definierbaren Attributen. Jedes Attribut eines specification objects hat jeweils einen Datentyp, darunter Boolean, Integer, Real, String, Auswahltypen mit definierten Werten oder XHTML-Texte, wodurch auch formatierte Texte und eingebettete Bilder darstellbar sind. Numerische Datentypen können projektspezifisch in ihrem Wertebereich eingeschränkt werden.

Relationen können Beziehungen zwischen Objekten darstellen, also beispielsweise Abhängigkeiten oder Widersprüche. Auch Relationen können wie Objekte Attribute besitzen.

Schließlich werden hierarchische Bäume (specifications) verwendet, um gegliederte Sichten auf die Anforderungen zu bilden, wobei Objekte in einem Baum mehrfach oder in mehreren Bäumen vorkommen können.

Implementierungsrichtlinien[Bearbeiten]

Im Rahmen des ProSTEP Implementor Forums wurden eine Anzahl von Empfehlungen ausgesprochen, die in einer Implementation Guideline zusammengefasst wurden[3]. Zu den Empfehlungen gehört:

  • Nutzung der Endungen .reqif und .reqifz (gezippte Archive) für Dateien.
  • Einführung von Standard-Namen für Attribute, die von Werkzeugen dann automatisch auf die interne Darstellung übertragen werden können (ReqIF.Name, ReqIF.ForeignID, u.v.a.m.)
  • Richtlinien für den Umgang mit schreibgeschützen Systemattributen
  • Richtlinien für den Umgang mit DOORS-Tabellen
  • Richtlinien für den Umgang mit eingebetteten Objekten
  • Weitere Richtlinien zu Themen wie Conversation ID, RelationGroupType, XHTML-Vereinfachung, SpecHierarchy Zugriffsrechte und Schema Referenzierung.

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. ReqIF Implementor Forum, Webseite der ProSTEP, abgerufen am 28. Mai 2013.
  2. ReqIf Server Homepage, abgerufen am 30. Mai 2013.
  3. ReqIF Implementor Guideline (kostenpflichtig), Webseite der ProSTEP, abgerufen am 10. Juli 2013.

Weblinks[Bearbeiten]