Anwendungsfälle mit ProR

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 “Create a new SpecObject” aufzeichnet. Sie können dieses Anforderungsmodell aus dem Eclipse git herunterladen...

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 “Erzeuge ein neues SpecObject” erfasst. Sie können Laden Sie dieses Anforderungsmodell aus dem Eclipse Git-Repository herunter.Im Folgenden weisen wir darauf hin, wo dieses Modell spezifisch die Funktionalitäten von ProR nutzt und schlussfolgern abschließend, wie eine weitere Integration mit anderen Modellen (SysML-Modellierung, Testen) realisiert werden könnte.

Zeile 1: Schlagzeile und IDs

Der Use Case hat eine ID (UC-1). Diese ID wird durch die ID-Darstellung generiert. Außerdem wird die Zeile in einer großen, fetten Schriftart angezeigt. Dies wurde mit der Überschriften-Darstellung realisiert.

Link zu Schauspieler

Use Cases haben einen primären Akteur, der durch eine Verknüpfung realisiert wird. In diesem Beispiel ist der primäre Akteur der “Requirements Engineer”. Es gibt ein separates Dokument (Spezifikation), in dem alle Akteure definiert sind (siehe Screenshot rechts). Die Rolle “Primärer Akteur” wird ebenfalls aus einer Liste vordefinierter Rollen aus einer Dropdown-Liste ausgewählt.

Zeile 1.1: Erläuternder Text

Informationstexte können überall hinzugefügt werden und benötigen keine ID (da keine benötigt wird)

Zeilen 1.3, 1.4 und 1.5: Szenarien

Szenarien haben ihren eigenen SpecType. Über die Headline Presentation wird es auch sichtbarer formatiert. Zusätzlich verfügt es über ein Statusfeld, das die Verfolgung des Implementierungsstatus der verschiedenen Szenarien ermöglicht.

Vorteile

Das Ergebnis dieses Ansatzes ist eine dokumentenähnliche Beschreibung von Anwendungsfällen. Eine Handvoll SpecTypes werden zur Verwaltung des Erscheinungsbildes verwendet und um das Modell von Formatierungsinformationen freizuhalten. Dies erleichtert die Wiederverwendung und Verknüpfung von Modellen außerhalb 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ützen.

Integration

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önnten. Dazu gehören:

UML/SysML (Anwendungsfälle, Aktoren)

Papyrus ist ein Eclipse-Projekt, das UML- und SysML-Modellierung ermöglicht. Der Ansatz zur Modellierung von Anwendungsfällen könnte Papyrus für die UML/SysML-Integration nutzen. Eine solche Integration würde:

  • UML und ProR Use Cases synchron halten: Ein UML Use Case würde automatisch die entsprechenden Elemente in ProR generieren.
  • Während in Papyrus nur die Anforderungs-ID und der Name angezeigt werden, können die Inhalte mit ProR verwaltet (und angereichert) werden.
  • Use Case-Actor-Assoziationen können weiterhin in Papyrus realisiert werden. Die Beziehung würde jedoch in ProR synchronisiert erscheinen.

Der Vorteil wäre eine textuelle Darstellung, wie von vielen Stakeholdern bevorzugt, während gleichzeitig die Wiederverwendung von Modellelementen in UML/SysML ermöglicht wird

Mylyn (Projektmanagement)

Mylyn ist ein beliebtes Werkzeug zur Fehler- und Funktionsverfolgung, das sich nahtlos in Eclipse integriert. Eine Integration könnte für jedes Szenario ein Mylyn-Issue erstellen und verfolgen. Der in ProR angezeigte Status könnte direkt von Mylyn übernommen werden. Die Verwendung von Mylyn würde das Trackingsystem von der Integration abstrahieren: Es wäre unerheblich, ob Mylyn im Hintergrund beispielsweise Bugzilla oder Jira verwendet.

JUnit (Implementierungsstatus)

Wenn es möglich wäre, Unit-Tests mit einzelnen Szenarien zu verknüpfen. Dann könnte ein Statusfeld automatisch durch die Analyse der zugehörigen Unit-Tests verwaltet werden: Wenn nur ein Test fehlschlägt, würde das Szenario als fehlerhaft markiert.

Schlussfolgerung

Wir hoffen, dass dieses kleine Beispiel zeigt, wie die Verwendung eines spezialisierten Werkzeugs den Anforderungsengineeringprozess erheblich verbessern kann. Obwohl die Integrationen nicht existieren, könnten sie mit nur wenigen Tagen Arbeit jeweils von einem erfahrenen Entwickler implementiert werden. Das Eclipse-Ökosystem gewährleistet, dass der resultierende Code kompakt und wartbar ist.

Ähnliche Beiträge