{"id":99,"date":"2012-05-15T08:00:00","date_gmt":"2012-05-15T06:00:00","guid":{"rendered":"https:\/\/www.formalmind.com\/blog\/integrating-requirements-and-models\/"},"modified":"2022-04-11T18:58:55","modified_gmt":"2022-04-11T16:58:55","slug":"integrating-requirements-and-models","status":"publish","type":"post","link":"https:\/\/www.formalmind.com\/de\/blog\/integrating-requirements-and-models\/","title":{"rendered":"Anforderungen und Modelle integrieren"},"content":{"rendered":"<p>W\u00e4hrend die Anforderungsanalyse an sich bereits n\u00fctzlich ist, kann sie durch die Integration mit anderen Elementen des Systementwicklungsprozesses ihren Wert erheblich steigern.  Wir haben dies bereits in unserer wissenschaftlichen Arbeit angedeutet in Bezug auf <a href=\"http:\/\/www.stups.uni-duesseldorf.de\/w\/Special:Publication\/tr-JaGr2011\">R\u00fcckverfolgbarkeit<\/a>, oder unsere Gedanken an eine <a href=\"http:\/\/www.stups.uni-duesseldorf.de\/w\/Special:Publication\/topcase-JaGr2011\">Integration mit Topcased<\/a>.  Unsere neuesten Ideen wurden gerade <a href=\"http:\/\/www.stups.uni-duesseldorf.de\/w\/Special:Publication\/HalJasLad2012\">zur Ver\u00f6ffentlichung eingereicht<\/a>.<\/p>\n<p>Stellen Sie sich ein Szenario vor, in dem Sie an Ihren Anforderungen arbeiten, w\u00e4hrend Sie gleichzeitig ein Modell erstellen.  Das Tool verwaltet das Datenmodell (und in gewisser Weise auch ein Glossar) im laufenden Betrieb und gibt sogar R\u00fcckmeldung durch farbliche Hervorhebung:<\/p>\n<p style=\"text-align: center;\"><img class=\"lazyload\" data-src=\"\/sites\/default\/files\/blog\/ProRArtefacts_Trace_LL.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 630px; height: 325px;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/default\/files\/blog\/ProRArtefacts_Trace_LL.png\" style=\"width: 630px; height: 325px;\"><\/noscript><\/p>\n<p>Das obige Bildschirmfoto wurde mit dem Programm <a href=\"http:\/\/wiki.event-b.org\/index.php\/ProR\">Integration von ProR mit Rodin<\/a>.  Sie wurde aus einer <a href=\"http:\/\/www.stups.uni-duesseldorf.de\/w\/Special:Publication\/HalJasLad2012\">Papier, das wir gerade vorgelegt haben und das einen Ansatz zur R\u00fcckverfolgbarkeit skizziert<\/a>.  Rodin ist eine Plattform f\u00fcr die formale Modellierungssprache Event-B, aber die gleichen Konzepte k\u00f6nnen auch mit anderen Modellen, z. B. SysML, verwendet werden.<\/p>\n<p>Welchen Wert hat also eine solche Integration?  Stellen Sie sich vor, Sie erhalten einen Satz von Ausgangsanforderungen und die Aufgabe, eine Spezifikation zu erstellen.  Ein typischer erster Schritt ist die Identifizierung von Substantiven im Anforderungstext als Ausgangspunkt f\u00fcr die Modellierung der Dom\u00e4ne.  Durch die Integration kann die Modellierung der Dom\u00e4ne in Event-B erfolgen.  Sobald die ersten Elemente modelliert sind, erscheinen sie mit einer verschn\u00f6rkelten roten Unterstreichung, die Sie darauf aufmerksam macht, dass Sie m\u00f6glicherweise die Deklaration eines Elements vergessen haben.  Sobald Sie eckige Klammern um sie herum setzen, werden sie blau, um anzuzeigen, dass dies ein modelliertes Element ist.<\/p>\n<p>Der Ansatz kann umgedreht werden: Markieren Sie zun\u00e4chst alle Dom\u00e4nenelemente, indem Sie sie im Anforderungstext mit eckigen Klammern umgeben.  Sie werden rot und zeigen damit an, dass sie noch nicht modelliert worden sind.  Nach der Modellierung (oder Umbenennung, wenn Sie ein Synonym gefunden haben) werden sie blau.<\/p>\n<p>Die Integration erlaubt bereits die Erstellung von Traces - dies ist in der rechten Spalte des Screenshots zu sehen.  W\u00e4hrend Links in ProR generisch sind, verwenden wir in unserem Ansatz Traces, um eine \u201crealisierte\u201d Beziehung zu dokumentieren: Ein verkn\u00fcpftes Element tr\u00e4gt zur Realisierung einer Anforderung bei.  Es ist m\u00f6glich, Elemente aus dem Modell (z.B. eine Invariante) oder andere ProR-Elemente (z.B. SpecObjects, die Teil der Spezifikation sind) zu verkn\u00fcpfen.<\/p>\n<p>Im Laufe der Arbeit \u00e4ndern sich die Spezifikationen, Anforderungen oder Modellelemente.  Wenn es eine Spur gibt, wird sie mit einem gelben Dreieck als \u201cverd\u00e4chtig\u201d markiert, um den Benutzer darauf hinzuweisen, dass die Beziehung verd\u00e4chtig sein k\u00f6nnte.<\/p>\n<p>Sie verstehen schon - schlie\u00dflich k\u00f6nnen Sie Traces verwenden, um nicht realisierte Anforderungen, nicht modellierte Dom\u00e4nenobjekte usw. zu finden.  Wenn Sie den Ansatz verfolgen, der in <a href=\"http:\/\/www.stups.uni-duesseldorf.de\/w\/Special:Publication\/HalJasLad2012\">unser Papier,<\/a> k\u00f6nnen Sie sogar die Konsistenz der Systembeschreibung \u00fcberpr\u00fcfen. (Offenlegung: Unsere Integration unterst\u00fctzt nicht die Validierung aller Konsistenzeigenschaften, die wir identifiziert haben - wir arbeiten daran).<\/p>\n<p>Wenn Sie mehr dar\u00fcber erfahren m\u00f6chten, z\u00f6gern Sie bitte nicht, sich an folgende Adresse zu wenden <a href=\"https:\/\/www.formalmind.com\/en\/contact\">Kontaktieren Sie uns<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>W\u00e4hrend Requirements Engineering an sich bereits n\u00fctzlich ist, kann die Integration mit anderen Elementen aus dem Systementwicklungsprozess seinen Wert erheblich steigern. Wir haben dies in unserer wissenschaftlichen Arbeit bereits im Hinblick auf die R\u00fcckverfolgbarkeit oder unsere \u00dcberlegungen zur Integration mit Topcased angedeutet. Unsere neuesten Ideen wurden gerade zur Ver\u00f6ffentlichung eingereicht. Stellen Sie sich ein Szenario vor\u2026<\/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-99","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/99","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=99"}],"version-history":[{"count":0,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/99\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media?parent=99"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/categories?post=99"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/tags?post=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}