Wie die Einzelteile einer Anforderung Beim Verifizieren helfen

Es gibt viele Möglichkeiten, Anforderungen zu modellieren. Zu dem Thema habe ich mich auch schon mehrfach geäußert. Heute geht es um ein weiteres mögliches Modell einer Anforderung, welches von einem Mitarbeiter der HOOD Group entwickelt wurde. Dieses schauen wir uns heute an, und untersuchen den Mehrwert, den es uns bietet.

Welche Themen sind im Systems Engineering aktuell? Jetzt Thema vorschlagen >>

Der Kontext einer Anforderung

Philip Stolz stellte das Model einer Anforderung kürzlich im HOOD-Block vor, und ist oben zu sehen. Zunächst ist zu erkennen, dass eine Anforderung drei direkte Beziehungen haben sollte zu:

Stakeholder: Jede Anforderung braucht mindestens einen Stakeholder, denn Anforderungen sollen schließlich kein Selbstzweck sein.

Aussage: Die Aussage ist wahr, wenn die Anforderung erfüllt ist. Im gewissen Sinne ist die Aussage daher eine strukturierte Umformung der Anforderung.

Adressat: Der Adressat ist verantwortlich dafür, dass die Aussage der Anforderung wahr wird.

Mit diesen drei Elementen wird der Kontext definiert, in den sich eine Anforderung einordnet.

Konsistenz im Modell

Wie im Bild zu sehen ist, wird die Anforderung indirekt über weitere Elemente definiert und beeinflusst. Insbesondere ergeben sich durch die weiteren Elemente zirkulare Beziehungen. Solche Beziehungen können sehr nützlich sein, wenn sie richtig eingesetzt werden. Zum Beispiel beschreibt die dreieckige Form des V-Modells eine Dreiecks-Beziehung, die für Konsistenzprüfungen herangezogen werden kann: Die Anforderung definiert sowohl das Design als auch den Test. Wenn der Test fehlschlägt, weist dies auf ein Problem in einem der drei Elemente (oder deren Kinder) hin.

Die in diesem Modell gezeigten Relationen sind allerdings wesentlich komplexer als die simple Dreiecksbeziehung des V-Modells. Insbesondere wird hier die Notation der UML benutzt. Insbesondere ist die Aussage ein fester Bestandteil der Anforderung (Composition), während der Adressat lediglich eine Zugehörigkeit hat (Aggregation).

Bei allen anderen Beziehungen (außer Stakeholder) handelt es sich um Generalisierungen: Hier wird Vererbung eingesetzt. Die Hardware ist bspw. indirekt eine Spezialisierung des Gegenstands (mit dem Entwicklungsgegenstand als verbindende Glied).

Der Nutzen

Philip verspricht im Eingang, dass das Model hilft herauszufinden, ob eine Anforderung verifizierbar ist. Das Kernelement für diesen Zweck ist die Aussage: Die „Übersetzung“ der Anforderung in Aussagen ermöglicht genau dies. Weiterhin könnten die restlichen Beziehungen für die genutzt werden, um die Konsistenz zu prüfen. Also zu prüfen, ob die Aussage im Kontext des Gegenstandes noch richtig ist. Auf die Frage, wie so eine Konsistenzprüfung in der Praxis aussehen könnte, geht Philip allerdings in diesem Artikel nicht weiter ein.

Anforderungen haben Aussagen. Diese explizit zu machen hilft, gute, testbare Anforderungen zu formulieren Twittern

In der Praxis sehe ich zwei Möglichkeiten, dieses Modell zu nutzen:

(1) Einsatz von Aussagen: Die Idee, die Aussagen von Anforderungen zum Verifizieren explizit zu machen halte ich für eine sehr gute. In einer leicht abgeänderten Form habe ich in der Vergangenheit bereits Anforderungen modelliert, Wobei ich Constraints statt Aussagen benutzte. Diesen Ansatz habe ich in einem Artikel im IREB-Magazin dokumentiert.

(2) Weiterhin kann das Modell genutzt werden, um sicherzustellen, dass alle wichtigen Aspekte für das Arbeiten mit Anforderungen abgedeckt werden. Dazu müssen die Beziehungen nicht unbedingt so formal wie hier beschrieben eingehalten werden. Wenn jedoch nirgendwo die Beziehung zum Adressaten hergestellt wird, dann fehlt möglicherweise eine wichtige Information.

Fazit

Wie Philip eingangs sagt, ein Modell ist eine vereinfachte Abbildung der Wirklichkeit mit einem bestimmten Zweck. Zwei Nutzen von diesem Modell konnte ich erkennen und habe ich hier beschrieben.

In dem Modell steckt jedoch noch eine Menge mehr. Insofern bin ich gespannt, ob es hier noch Folgeartikel geben wird, die darauf eingehen.

Bild: Philip Stolz. Hintergrund: Kjpargeter