Die Arbeit mit Anforderungen sollte keine isolierte Aktivität sein – sie interagiert mit vielen Aspekten des Entwicklungsprozesses: der Fortschritt wird durch die Überprüfung, wie viele Anforderungen implementiert wurden, verfolgt; Tests zeigen, dass Anforderungen korrekt implementiert sind; Elemente der Systemspezifikation zeigen, wie Anforderungen realisiert werden; und vieles mehr.
UML/SysML-Elemente mit Anforderungen verknüpfen
Wir haben in der Vergangenheit gezeigt, wie Anforderungen und formale Spezifikationen können integriert werden. Wir erläuterten auch unsere Vision einer ähnliche Integration mit UML/SysML. Eine erste Implementierung einer solchen Integration ist nun verfügbar und wurde im Rahmen der openETCS Projekt.
openETCS
Für den Moment wird die Integration nur als Teil des openETCS-Tools angeboten und nicht als installierbares Feature. Es gibt technische Gründe dafür, da Papyrus, die Komponente für UML/SysML, sehr spezifische Systemanforderungen hat. Daher bitten wir Sie vorerst OpenETCS herunterladen und installieren (kostenlos), wenn Sie daran interessiert sind, diese Funktion auszuprobieren. Diese Funktionalität wird in der openETCS Dokumentation.Daher werden wir uns hier auf das Ergebnis konzentrieren und nicht auf die Schritte, die dorthin führen.
Anforderungen und UML-Modell
Als einfaches Beispiel erstellen wir Traces zwischen Anforderungen und einem UML-Anwendungsfalldiagramm. Als Vorbereitung haben wir einen Anwendungsfall bezüglich ProR erstellt: Eine neue Anforderung erstellen. Wir haben auch ein UML-Modell erstellt, das einen Akteur, den Requirements Engineer, enthält. Dies ist hier dargestellt:

Um das Tracing-Plug-in nutzen zu können, müssen einige Datenstrukturen erstellt werden (der Linktyp und seine Attribute) und das Plug-in konfiguriert werden. Dies ist alles in der openETCS-Dokumentation beschrieben. Sobald dies geschehen ist, erfolgt die Verknüpfung durch Ziehen aus dem Model Explorer in den Specification Editor. Dies führt zu einem Trace, der sich wie ein regulärer Link in ProR verhält:

Man kann sehen, dass ein Link erstellt wurde, wobei die Bezeichnung des Linkziels eine prägnante Beschreibung des Zielelements ist (in diesem Fall, Anforderungsingenieur). In der Eigenschaftenansicht sehen Sie alle Attribute des UML-Elements.
Selbstverständlich kann diese Funktionalität mit anderen Elementen von ProR Essentials kombiniert werden, insbesondere mit dem Verdächtiger Link Feature. Dies erstreckt sich auch auf das UML-Modell. Das heißt, wenn sich das UML-Modellelement ändert, wird dies ebenfalls erkannt. Probieren wir dies aus und benennen wir den “Requirements Engineer” in “User” um. Dies wird im UML-Modell gemacht (die Elemente in ProR sind schreibgeschützt). Nach der Installation der Essentials und der Konfiguration von Suspect-Links erhalten Sie nach dem Umbenennen des Akteurs Folgendes:

Der Linkinhalt wurde aktualisiert und neben dem Link wird ein Ausrufezeichen angezeigt. Ziel Flagge. Hättest du die Linkquelle (den Anwendungsfalltitel) aktualisiert, Quelle Flagge wäre aktualisiert worden.
Nächste Schritte
Vorerst zeigt die Integration nur eine textuelle Darstellung des UML-Elements. Langfristig wäre es wirklich aussagekräftig, die grafische Darstellung der Modellelemente einzubinden. Stellen Sie sich vor, Sie zeigen ein Zustandsdiagramm inline mit dem Anforderungstext: Nicht als eingefügtes Bild, sondern als lebendiges Modellelement, das sowohl visuell als auch funktional nahtlos integriert ist. Das wäre ein großer Fortschritt.



