{"id":1007,"date":"2013-07-07T08:00:00","date_gmt":"2013-07-07T06:00:00","guid":{"rendered":"https:\/\/www.formalmind.com\/blog\/use-cases-pror\/"},"modified":"2022-04-11T18:58:55","modified_gmt":"2022-04-11T16:58:55","slug":"use-cases-pror","status":"publish","type":"post","link":"https:\/\/www.formalmind.com\/de\/blog\/use-cases-pror\/","title":{"rendered":"Anwendungsf\u00e4lle mit ProR"},"content":{"rendered":"<p>Use Cases sind eine beliebte Methode zur Erfassung von Anforderungen. Mit wenig Aufwand kann ProR die Erfassung von Use Cases einfach und nachvollziehbar gestalten. Um dies zu demonstrieren, verwenden wir ProR selbst als Beispiel. Unterhalb ist ein Screenshot von ProR zu sehen, der den Use Case \u201cErzeuge ein neues SpecObject\u201d erfasst. Sie k\u00f6nnen <a href=\"http:\/\/git.eclipse.org\/c\/rmf\/org.eclipse.rmf.git\/plain\/org.eclipse.rmf.docs.requirements\/RMF_CustomerRequirementsSpecification.reqif?h=develop\">Laden Sie dieses Anforderungsmodell aus dem Eclipse Git-Repository herunter<\/a>.Im Folgenden weisen wir darauf hin, wo dieses Modell spezifisch die Funktionalit\u00e4ten von ProR nutzt und schlussfolgern abschlie\u00dfend, wie eine weitere Integration mit anderen Modellen (SysML-Modellierung, Testen) realisiert werden k\u00f6nnte.<\/p>\n<p><img class=\"lazyload\" data-src=\"\/sites\/default\/files\/blog\/usecase.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 583px; height: 398px;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/default\/files\/blog\/usecase.png\" style=\"width: 583px; height: 398px;\"><\/noscript><\/p>\n<h2>Zeile 1: Schlagzeile und IDs<\/h2>\n<p>Der Use Case hat eine ID (UC-1). Diese ID wird durch die ID-Darstellung generiert. Au\u00dferdem wird die Zeile in einer gro\u00dfen, fetten Schriftart angezeigt. Dies wurde mit der \u00dcberschriften-Darstellung realisiert.<\/p>\n<h2><img class=\"lazyload\" data-src=\"\/sites\/default\/files\/blog\/UC-Actors.png\" decoding=\"async\" alt=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" style=\"width: 379px; height: 114px; float: right;\"><noscript><img decoding=\"async\" alt=\"\" src=\"\/sites\/default\/files\/blog\/UC-Actors.png\" style=\"width: 379px; height: 114px; float: right;\"><\/noscript>Link zu Schauspieler<\/h2>\n<p>Use Cases haben einen prim\u00e4ren Akteur, der durch eine Verkn\u00fcpfung realisiert wird. In diesem Beispiel ist der prim\u00e4re Akteur der \u201cRequirements Engineer\u201d. Es gibt ein separates Dokument (Spezifikation), in dem alle Akteure definiert sind (siehe Screenshot rechts). Die Rolle \u201cPrim\u00e4rer Akteur\u201d wird ebenfalls aus einer Liste vordefinierter Rollen aus einer Dropdown-Liste ausgew\u00e4hlt.<\/p>\n<h2>Zeile 1.1: Erl\u00e4uternder Text<\/h2>\n<p>Informationstexte k\u00f6nnen \u00fcberall hinzugef\u00fcgt werden und ben\u00f6tigen keine ID (da keine ben\u00f6tigt wird)<\/p>\n<h2>Zeilen 1.3, 1.4 und 1.5: Szenarien<\/h2>\n<p>Szenarien haben ihren eigenen SpecType. \u00dcber die Headline Presentation wird es auch sichtbarer formatiert. Zus\u00e4tzlich verf\u00fcgt es \u00fcber ein Statusfeld, das die Verfolgung des Implementierungsstatus der verschiedenen Szenarien erm\u00f6glicht.<\/p>\n<h2>Vorteile<\/h2>\n<p>Das Ergebnis dieses Ansatzes ist eine dokumenten\u00e4hnliche Beschreibung von Anwendungsf\u00e4llen. Eine Handvoll SpecTypes werden zur Verwaltung des Erscheinungsbildes verwendet und um das Modell von Formatierungsinformationen freizuhalten. Dies erleichtert die Wiederverwendung und Verkn\u00fcpfung von Modellen au\u00dferhalb von ProR. Referenzen (Akteure) und Auswahllisten (Status, Beziehung) werden verwendet, um Duplizierung von Informationen zu vermeiden und den Requirements-Ingenieur bei seiner Arbeit zu leiten und zu unterst\u00fctzen.<\/p>\n<h2>Integration<\/h2>\n<p>Das, was wir gerade vorgestellt haben, kann mit ProR Stand-alone realisiert werden. Wir untersuchen jedoch zurzeit einfache Integrationen, die einen erheblichen Mehrwert bieten k\u00f6nnten. Dazu geh\u00f6ren:<\/p>\n<h2>UML\/SysML (Anwendungsf\u00e4lle, Aktoren)<\/h2>\n<p>Papyrus ist ein Eclipse-Projekt, das UML- und SysML-Modellierung erm\u00f6glicht. Der Ansatz zur Modellierung von Anwendungsf\u00e4llen k\u00f6nnte Papyrus f\u00fcr die UML\/SysML-Integration nutzen. Eine solche Integration w\u00fcrde:<\/p>\n<ul>\n<li>UML und ProR Use Cases synchron halten: Ein UML Use Case w\u00fcrde automatisch die entsprechenden Elemente in ProR generieren.<\/li>\n<li>W\u00e4hrend in Papyrus nur die Anforderungs-ID und der Name angezeigt werden, k\u00f6nnen die Inhalte mit ProR verwaltet (und angereichert) werden.<\/li>\n<li>Use Case-Actor-Assoziationen k\u00f6nnen weiterhin in Papyrus realisiert werden. Die Beziehung w\u00fcrde jedoch in ProR synchronisiert erscheinen.<\/li>\n<\/ul>\n<p>Der Vorteil w\u00e4re eine textuelle Darstellung, wie von vielen Stakeholdern bevorzugt, w\u00e4hrend gleichzeitig die Wiederverwendung von Modellelementen in UML\/SysML erm\u00f6glicht wird<\/p>\n<h2>Mylyn (Projektmanagement)<\/h2>\n<p>Mylyn ist ein beliebtes Werkzeug zur Fehler- und Funktionsverfolgung, das sich nahtlos in Eclipse integriert. Eine Integration k\u00f6nnte f\u00fcr jedes Szenario ein Mylyn-Issue erstellen und verfolgen. Der in ProR angezeigte Status k\u00f6nnte direkt von Mylyn \u00fcbernommen werden. Die Verwendung von Mylyn w\u00fcrde das Trackingsystem von der Integration abstrahieren: Es w\u00e4re unerheblich, ob Mylyn im Hintergrund beispielsweise Bugzilla oder Jira verwendet.<\/p>\n<h2>JUnit (Implementierungsstatus)<\/h2>\n<p>Wenn es m\u00f6glich w\u00e4re, Unit-Tests mit einzelnen Szenarien zu verkn\u00fcpfen. Dann k\u00f6nnte ein Statusfeld automatisch durch die Analyse der zugeh\u00f6rigen Unit-Tests verwaltet werden: Wenn nur ein Test fehlschl\u00e4gt, w\u00fcrde das Szenario als fehlerhaft markiert.<\/p>\n<h2>Schlussfolgerung<\/h2>\n<p>Wir hoffen, dass dieses kleine Beispiel zeigt, wie die Verwendung eines spezialisierten Werkzeugs den Anforderungsengineeringprozess erheblich verbessern kann. Obwohl die Integrationen nicht existieren, k\u00f6nnten sie mit nur wenigen Tagen Arbeit jeweils von einem erfahrenen Entwickler implementiert werden. Das Eclipse-\u00d6kosystem gew\u00e4hrleistet, dass der resultierende Code kompakt und wartbar ist.<\/p>","protected":false},"excerpt":{"rendered":"<p>Use Cases sind eine beliebte Methode zur Erfassung von Anforderungen.  Mit wenig Aufwand kann ProR die Erfassung von Use Cases einfach und nachvollziehbar machen. Um dies zu demonstrieren, verwenden wir ProR selbst als Beispiel.  Unten sehen Sie einen Screenshot von ProR, der den Use Case \u201cCreate a new SpecObject\u201d aufzeichnet.  Sie k\u00f6nnen dieses Anforderungsmodell aus dem Eclipse git herunterladen...<\/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-1007","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/1007","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=1007"}],"version-history":[{"count":0,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/posts\/1007\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/media?parent=1007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/categories?post=1007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.formalmind.com\/de\/wp-json\/wp\/v2\/tags?post=1007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}