Im letzten Teil unserer Blogserie zur Promotion unseres Beraters Alexander Rauh haben wir Ihnen Metamodelle und deren Anwendung im Requirements-Engineering und –Management vorgestellt.
In diesem Artikel möchten wir Ihnen nun eines dieser Metamodelle, das Requirements Interchange Format (ReqIF) [1], ehemals RIF abgekürzt, und dessen Anwendungsgebiete näher bringen.
Es existieren jede Menge Requirements-Management-Tools auf dem freien Markt wie zum Beispiel Caliber von Borland, IBM Rational DOORS, PTC Integrity, Polarion, HP Application Lifecycle Management. Jedes dieser Tools hat eigene Stärken und Schwächen, sprich differenzierte Funktionen und Eigenschaften. Außerdem decken einige dieser RM-Tools (bspw. HP Application Lifecycle Management) den gesamten Produktlebenszyklus ab und stellen daher weiterführende Funktionalität zum Beispiel für die Testautomatisierung bereit.
Doch wie können Anforderungen in einer großen Toollandschaft eigentlich übermittelt werden?
Stellen Sie sich nun folgendes Szenario vor:
Sie haben die Rolle des Auftraggebers und arbeiten in Ihrem Unternehmen mit RM-Tool A. Nun möchten Sie Ihre Forderungen in Form von Anforderungen bspw. im Rahmen einer Ausschreibung an diverse mögliche Auftragnehmer übermitteln, in deren Geschäftsprozess aber jeweils andere Tools zur Verwaltung der Anforderungen eingebettet sind. Zudem möchten Sie das Feedback der potenziellen Auftragnehmer in Ihrem RM-Tool zusammenführen, um dadurch Vergleichbarkeit zu gewährleisten und natürlich um die Ausschreibung zu vergeben. Angesichts der existierenden Tooldiversität ist das gar nicht so einfach.
Abbildung 1: Übermittlung von Anforderungen zwischen unterschiedlichen Tools
Die Lösung für das in Abbildung 1 dargestellte Szenario liefert uns das Requirements Interchange Format, indem es eine Art kleinsten gemeinsamen Nenner zwischen den verschiedenen Tools definiert. Genauer gesagt: Es definiert die Struktur eines Dokuments zum Übermitteln von Requirements.
Doch wie setzt sich eine solche Struktur zusammen?
Das folgende Klassendiagramm zeigt die Struktur eines ReqIF-Dokuments, wie sie in der ReqIF-Spezifikation [1] definiert ist:
Abbildung 2: Struktur eines ReqIF-Dokuments
Wie Sie aus Abbildung 2 entnehmen können, besteht ein ReqIF-Dokument aus einer Kopfzeile (ReqIFHeader), die für das Austauschdokument relevante Metadaten enthält, dem Kerninhalt (ReqIFContent), also den zu übermittelnden Objekten wie Anforderungen und optional toolspezifischen Erweiterungen (ReqIFToolExtension).
Werfen wir nun noch einen kleinen Blick auf den oben genannten Kerninhalt, also den ReqIFContent:
Der Kerninhalt des ReqIFContent besteht aus den folgenden Elementen:
- Datentypen, die innerhalb des Dokuments verwendet werden können
- Spezifikationen, die zu einem ReqIF-Dokument gehören (bspw. Lastenheft und Pflichtenheft)
- Objekte, die den Spezifikationen zugeordnet sind (bspw. die Requirements)
- Beziehungen zwischen Objekten und Spezifikationen inkl. Beziehungsgruppen
- Attribute und Attributgruppen, die Informationen zu den Objekten der Spezifikationen beinhalten
An dieser Stelle möchten wir nicht weiter ins Detail gehen und verzichten auf eine langweilige Erläuterung des ReqIF-Metamodells. Bei Bedarf erhalten Sie weitere Informationen zur ReqIF-Struktur in der ReqIF-Spezifikation [1] in Kapitel 10.
Jetzt fragen Sie sich aber sicherlich, wie genau eine Übermittlung von Dokumentenbeispielsweise aus unserem obigen Szenario unter der Verwendung von ReqIF aussehen kann. Dann bleiben Sie dran, denn im nächsten Teil unserer Blogserie geht es genau um diesen Prozess.
Herzliche Grüße
Ihre SOPHISTen
Teil 1: Die SOPHISTen forschen wieder
Teil 2: Metamodelle – Beschreiben und Verstehen eines Modells
Teil 4: Dokumentierst du noch oder übermittelst du schon? – Spezifikationen kommunizieren mittels ReqIF
Teil 5: Das Metamodell der UML – Grammatik für Modellierer
Quellen:
[1] Object Management Group, Inc. (2013): Requirements Interchange Format (ReqIF). Online verfügbar unter http://www.omg.org/spec/ReqIF/1.1/PDF/ , zuletzt geprüft am