{"id":1026,"date":"2015-06-03T08:00:00","date_gmt":"2015-06-03T06:00:00","guid":{"rendered":"https:\/\/www.formalmind.com\/blog\/why-reqif-better-rif\/"},"modified":"2022-04-11T18:58:54","modified_gmt":"2022-04-11T16:58:54","slug":"why-reqif-better-rif","status":"publish","type":"post","link":"https:\/\/www.formalmind.com\/de\/blog\/why-reqif-better-rif\/","title":{"rendered":"Warum ReqIF besser ist als RIF"},"content":{"rendered":"<p><img class=\"lazyload\" data-src=\"\/sites\/blog\/RIF-ReqIF.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 300px; height: 213px; float: right;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/blog\/RIF-ReqIF.png\" style=\"width: 300px; height: 213px; float: right;\"><\/noscript>Als der ReqIF-Standard geschaffen wurde, hie\u00df er noch RIF.  Erst als die OMG den Standard \u00fcbernahm, wurde er umbenannt: Leider gab es bereits einen etablierten Standard namens RIF, das W3C Rule Interchange Format.<\/p>\n<p>Heute gibt es sowohl ReqIF als auch RIF und sie werden verwendet.  Viele Tools unterst\u00fctzen auch RIF, so dass sich potenzielle Anwender fragen, warum sie sich f\u00fcr das neue ReqIF entscheiden sollen, wenn es doch schon einen etablierten RIF-Standard gibt.  Welchen Standard soll man w\u00e4hlen?<!--break--><\/p>\n<h2>Warum ReqIF? Die kurze Antwort<\/h2>\n<p>Aus den folgenden Gr\u00fcnden sollte ReqIF gegen\u00fcber RIF bevorzugt werden:<\/p>\n<ul>\n<li>Das ReqIF-Modell ist <strong>erheblich vereinfacht,<\/strong> im Vergleich zu RIF, ohne Abstriche bei den Funktionen<\/li>\n<li>Die ReqIF-Datenstrukturen sind <strong>leichter zu validieren<\/strong><\/li>\n<li><strong>International genormt<\/strong>, und daher weniger risikoreich im langfristigen Einsatz<\/li>\n<li><strong>Breitere Verf\u00fcgbarkeit<\/strong>: Alle uns bekannten Tool-Anbieter unterst\u00fctzen ReqIF, aber nicht alle unterst\u00fctzen RIF<\/li>\n<li>F\u00fcr ReqIF wird ein <strong>Referenzimplementierung<\/strong> existiert (Open Source), aber nicht f\u00fcr RIF<\/li>\n<li><strong>Interoperabilit\u00e4t<\/strong> der verschiedenen ReqIF-Implementierungen wird im ProStep Implementor Forum getestet (siehe unten)<\/li>\n<\/ul>\n<p>Auch nach reiflicher \u00dcberlegung ist uns nur ein Grund f\u00fcr die Verwendung von RIF eingefallen: Sie m\u00fcssen es verwenden, wenn der Partner, mit dem Sie Anforderungen austauschen, es verlangt.<\/p>\n<h2>Die verschiedenen Versionen<\/h2>\n<p>Es sind drei RIF-Versionen und zwei ReqIF-Versionen verf\u00fcgbar.  Die beiden ReqIF-Versionen (1.0.1 und 1.1) sind jedoch v\u00f6llig identisch: Das Einzige, was sich ge\u00e4ndert hat, ist der Begleittext, in dem einige zweideutige Textpassagen gekl\u00e4rt wurden.  Praktisch gesehen gibt es also nur noch eine ReqIF-Version.<\/p>\n<p>Im Gegensatz dazu gibt es f\u00fcnf Versionen von RIF: 1.0, 1.0a, 1.1, 1.1a und 1.2.  Alle Versionen unterscheiden sich.  Von diesen, <a href=\"http:\/\/www.automotive-his.de\/rif\/doku.php#rif_dokumentation\" target=\"_blank\" rel=\"noopener\">RIF 1.1a<\/a> ist die beliebteste Version. Beachten Sie auch, dass dies keine \u201coffiziellen\u201d Versionen sind.  Vielmehr handelt es sich um Empfehlungen von ProStep und HIS.  Aber selbst als Empfehlung stellen sie einen De-facto-Standard dar (\u00e4hnlich wie die bekannten Request for Comments, RFCs, im Internet).<\/p>\n<h2>Kompatibilit\u00e4t<\/h2>\n<p>RIF und ReqIF sind nicht 100%-kompatibel, aber sie sind ziemlich \u00e4hnlich.  Das bedeutet zwei Dinge:<\/p>\n<p>Erstens k\u00f6nnen Sie nicht RIF in ReqIF und zur\u00fcck transformieren und die gleichen Ergebnisse erwarten.  Je nachdem, welche Funktionen von RIF\/ReqIF Sie verwenden, k\u00f6nnen die Ergebnisse unterschiedlich ausfallen.<\/p>\n<p>Zweitens kann die Kompatibilit\u00e4t jedoch durch die Auferlegung einiger in der Praxis eher unbedeutender Einschr\u00e4nkungen erreicht werden.<\/p>\n<p>Um ein Beispiel zu geben: Sie wollen typischerweise die Attribute von Anforderungen (SpecObjects) und Verkn\u00fcpfungen (SpecRelations) definieren, z.B. ID, Beschreibung und Status.  Diese werden durch einen sogenannten SpecType definiert.  RIF erlaubt die gemeinsame Nutzung von SpecTypes durch verschiedene Klassen (in diesem Fall SpecObjects und SpecRelations), ReqIF nicht.  F\u00fcr dieses Beispiel ist die L\u00f6sung einfach: Teilen Sie keine SpecTypes, wenn Sie eine RIF-nach-ReqIF-Transformation durchf\u00fchren wollen.<\/p>\n<p>Das bedeutet auch, dass die Umwandlung zwischen RIF und ReqIF eine Option ist, aber uns sind keine kommerziellen Implementierungen bekannt, wahrscheinlich weil die Nachfrage einfach zu gering ist.  Wir empfehlen daher, RIF zu \u00fcberspringen, wenn dies m\u00f6glich ist, und gleich zu ReqIF zu greifen. (Wenn Sie diesen Weg jedoch ben\u00f6tigen, <a href=\"https:\/\/www.formalmind.com\/de\/contact\/\" target=\"_blank\" rel=\"noopener\">wir helfen Ihnen gerne<\/a> mit unserem Fachwissen).<\/p>\n<h2><a name=\"prostep\"><\/a><img class=\"lazyload\" data-src=\"\/sites\/files\/ProStep_iViP_logo.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 200px; height: 118px; float: right;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/files\/ProStep_iViP_logo.png\" style=\"width: 200px; height: 118px; float: right;\"><\/noscript>ProSTEP Implementor Forum<\/h2>\n<p>Es gibt einen weiteren Vorteil von ReqIF: ProStep iViP, eine gemeinn\u00fctzige Organisation, die das RIF-Format mehrere Jahre lang betreute, betreibt seit 2011 ein Implementierungsforum.  Ziel dieses Forums ist es, die Interoperabilit\u00e4t der verschiedenen Implementierungen sicherzustellen, was bei RIF nie der Fall war.  Zu den Mitgliedern des Forums geh\u00f6ren gro\u00dfe Anwender wie Daimler, BMW und VW sowie gro\u00dfe Tool-Anbieter wie IBM, PTC und nat\u00fcrlich wir, Formal Mind.  Die Stimmung innerhalb des Forums ist klar: RIF ist Vergangenheit, ReqIF ist der Weg in die Zukunft.<\/p>\n<p>Wir hoffen, dass dieser kurze \u00dcberblick Ihnen bei der Entscheidung f\u00fcr das richtige Format zum Austausch von Anforderungen f\u00fcr Ihr Unternehmen hilft.<\/p>\n<p style=\"text-align: right;\"><span style=\"color:#d3d3d3;\">Bild mit freundlicher Genehmigung von anankkml bei FreeDigitalPhotos.net<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Als der ReqIF-Standard geschaffen wurde, hie\u00df er noch RIF.  Erst als die OMG den Standard \u00fcbernahm, wurde er umbenannt: Leider gab es bereits einen etablierten Standard namens RIF, das W3C Rule Interchange Format. Heute existieren sowohl ReqIF als auch RIF und werden verwendet.  Viele Tools unterst\u00fctzen auch RIF, so dass potenzielle Anwender...<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-no-separators","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[13],"tags":[],"class_list":["post-1026","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/1026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/comments?post=1026"}],"version-history":[{"count":0,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/1026\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media?parent=1026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/categories?post=1026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/tags?post=1026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}