{"id":91,"date":"2011-12-21T08:00:00","date_gmt":"2011-12-21T07:00:00","guid":{"rendered":"https:\/\/www.formalmind.com\/blog\/requirements-uml-sysml\/"},"modified":"2022-04-11T18:58:55","modified_gmt":"2022-04-11T16:58:55","slug":"requirements-uml-sysml","status":"publish","type":"post","link":"https:\/\/www.formalmind.com\/de\/blog\/requirements-uml-sysml\/","title":{"rendered":"Anforderungen + UML = SysML"},"content":{"rendered":"<p>Was passiert, wenn man mit UML beginnt, etwas wegnimmt, etwas Neues hinzuf\u00fcgt und es ein wenig ab\u00e4ndert? Je nachdem, was genau man hinzuf\u00fcgt, kann man mit <a href=\"http:\/\/www.omgsysml.org\/\">SysML<\/a>.SysML sorgte in der Requirements Engineering (RE)-Community f\u00fcr Aufregung, da es einige rudiment\u00e4re Werkzeuge zur Schaffung von R\u00fcckverfolgbarkeit zwischen Anforderungen und Modellelementen bietet.<\/p>\n<h2>Was bietet SysML f\u00fcr RE?<\/h2>\n<p>SysML f\u00fcgt das <em>Anforderungsdiagramm<\/em>, <em>Anforderungsnotation<\/em>, sowie vier Abh\u00e4ngigkeitsbeziehungen (<em>Ableiten, \u00dcberpr\u00fcfen, Verfeinern, Nachverfolgen<\/em>.\u00a0 Es beinhaltet das <em>Anforderungstabelle<\/em> als ein Werkzeug, um alle Anforderungen in Listenform an einem Ort zu sammeln. Hier ist ein Beispiel eines Anforderungsdiagramms, entnommen aus der SysML-Spezifikation:<\/p>\n<p><img class=\"lazyload\" data-src=\"\/sites\/default\/files\/blog\/sysml-example.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 640px; height: 259px;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/default\/files\/blog\/sysml-example.png\" style=\"width: 640px; height: 259px;\"><\/noscript><\/p>\n<p>Anforderungsdiagramme sind ziemlich einfach: Sie bestehen aus K\u00e4stchen, die mit dem Anforderungsstereotyp bezeichnet sind und bestimmte Attribute wie id und text aufweisen. Sie k\u00f6nnen Beziehungen haben (die unbeschrifteten Beziehungen rechts stellen die Enthalten-Beziehung dar).<\/p>\n<p>Die hier gezeigten Beziehungen sind nicht besonders aufregend, da sie sich nur auf Anforderungen beziehen. Wirklich interessant wird es, wenn Beziehungen zu anderen Modellelementen hergestellt werden.<\/p>\n<h2>Wie formell ist SysML?<\/h2>\n<p>Bei SysML gibt es keine Formalit\u00e4t, nur Konventionen, die dennoch n\u00fctzlich sein k\u00f6nnen. Selbst ohne strenge Formalit\u00e4t kann ein Prozess f\u00fcr die Verwendung der manuell erstellten und gepflegten R\u00fcckverfolgbarkeit eingesetzt werden, um Modelle und Anforderungen zu validieren und zu verifizieren.<\/p>\n<p>Wie n\u00fctzlich dies in der Praxis ist, h\u00e4ngt auch von der Werkzeugunterst\u00fctzung ab, insbesondere von den Berichtsm\u00f6glichkeiten des Werkzeugs. Wenn sich die Quelle oder das Ziel einer R\u00fcckverfolgung \u00e4ndert, ist es sehr w\u00fcnschenswert, dass das Werkzeug dies aufzeichnet, damit der Link \u00fcberpr\u00fcft werden kann, ob er noch g\u00fcltig ist. Dies ist keine Raketenwissenschaft und es ist ein Prozess erforderlich, um eine solche Funktion im Kontext der Systementwicklung n\u00fctzlich zu machen.<\/p>\n<h2>ProR als Tool-Plattform f\u00fcr SysML-Anforderungen?<\/h2>\n<p><img class=\"lazyload\" data-src=\"\/sites\/default\/files\/blog\/sysml-logo.jpg\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 171px; height: 100px; float: right;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/default\/files\/blog\/sysml-logo.jpg\" style=\"width: 171px; height: 100px; float: right;\"><\/noscript>Die von SysML definierten Anforderungsstrukturen k\u00f6nnten leicht auf dem ReqIF-Datenmodell aufgebaut werden: Enthaltungsbeziehungen w\u00fcrden der Hierarchie von Spezifikationen entsprechen, w\u00e4hrend SpecRelationTypes die Arten von Verfolgbarkeiten modellieren k\u00f6nnten. Eine Integration mit einem Eclipse-basierten SysML-Editor wie <a href=\"http:\/\/www.topcased.org\/\">Aufgeklappt<\/a> w\u00e4re ziemlich einfach (siehe unsere Arbeit \u201c<a href=\"http:\/\/www.stups.uni-duesseldorf.de\/mediawiki\/images\/a\/ac\/Pub-topcase-JaGr2011.pdf\">Anforderungsr\u00fcckverfolgbarkeit in Topcased mit dem Requirements Interchange Format (RIF\/ReqIF)<\/a>\u201c).<\/p>\n<p><strong>Welche Vorteile g\u00e4be es?<\/strong> Erstens ist der ProR Requirements Editor leistungsf\u00e4higer als die von SysML definierte Requirements-Tabelle. Zweitens k\u00f6nnte eine beliebige Anzahl von Attributen zu den Anforderungen und den Verkn\u00fcpfungen hinzugef\u00fcgt werden. Drittens k\u00f6nnte ProR als Br\u00fccke zu bestehenden RE-Tools fungieren und somit die Einf\u00fchrung von Model-Tracing in bestehende Prozesse erleichtern. Und schlie\u00dflich k\u00f6nnten Eclipse-basierte Reporting-Einrichtungen zur Analyse der R\u00fcckverfolgbarkeit genutzt werden.<\/p>\n<p>Bitte sagen Sie uns Ihre Meinung dazu im Formal Mind Blog.<\/p>\n<p style=\"text-align: right;\"><span style=\"font-size:9px;\">Grafiken wurden aus dem <a href=\"http:\/\/www.omg.org\/spec\/SysML\/1.2\/PDF\/\">OMG SysML-Spezifikation<\/a> unter den darin genannten Lizenzbedingungen und Urheberrechten.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Was passiert, wenn man mit der UML beginnt, ein wenig wegnimmt, etwas Neues hinzuf\u00fcgt und es ein wenig ver\u00e4ndert?  Je nachdem, was man genau hinzuf\u00fcgt, landet man bei der SysML.  SysML hat in der Requirements-Engineering-Gemeinschaft (RE) f\u00fcr einige Aufregung gesorgt, da sie einige rudiment\u00e4re Werkzeuge zur Erstellung der R\u00fcckverfolgbarkeit zwischen Anforderungen und Modellelementen bietet....<\/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-91","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/91","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=91"}],"version-history":[{"count":0,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/91\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media?parent=91"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/categories?post=91"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/tags?post=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}