Wie man eine Spezifikation modelliert

In den beiden letzten Artikeln dieser Reihe haben wir zunächst gelernt, was Requirements Modeling überhaupt ist und warum es eine gute Idee ist (wenn es richtig gemacht wird). Wir haben auch gelernt, dass an Modeling nichts Magisches ist, im Gegenteil: Sie betreiben vielleicht bereits Requirements Modeling, ohne es überhaupt zu wissen. Modeling…

In den letzten beiden Artikeln dieser Reihe haben wir gelernt, was Requirements Engineering überhaupt ist und warum es (richtig gemacht) Sinn macht. Wir haben auch gelernt, dass am Modellieren nichts Magisches ist, im Gegenteil: Möglicherweise betreiben Sie bereits Requirements Engineering, ohne es überhaupt zu wissen.

Die Spezifikation modellieren

In diesem Artikel betrachten wir einen Anforderungsmodellierungsansatz, der seit Jahrzehnten erfolgreich angewendet wird: die Struktur des Anforderungsdokuments. Oder, wie letztes Mal eingeführt, die Spezifikationsstufe.Zur Erinnerung: Damit bezeichnen wir die Spezifikation als Ganzes. Oder im Kontext von textlichen Anforderungen wäre dies das Anforderungsdokument.

Wir müssen das Rad nicht neu erfinden: Im letzten Artikel haben wir bereits ISO/IEC/IEEE 29148 (kurz ISO 29148) erwähnt, die unter anderem einige Dokumentvorlagen enthält. In dieser Serie (und auch in unserem Blog) werden wir noch eine ganze Menge über diesen Standard sprechen. Nicht, weil er das Größte ist, was je erfunden wurde, sondern weil er ein internationaler Standard ist, der eine gemeinsame Basis schafft. Andere Goodies im Standard sind einfache Textvorlagen, empfohlene Attribute und Aktivitäten sowie Aufgaben.

Unterschiedliche Strukturen für unterschiedliche Ziele

SySR-structure

Die korrekte Struktur der Anforderungen hängt vom Zweck der Spezifikation ab. ISO 29148 unterscheidet beispielsweise zwischen Spezifikationsdokumenten für Stakeholderanforderungen (StSR), Systemanforderungen (SySR) oder Softwareanforderungen (SRS). Die folgende Abbildung zeigt die Gliederung für ein SySR.

Wir planen, in naher Zukunft Vorlagen für Anforderungsspezifikationen im ReqIF-Format bereitzustellen. Diese können mit unserem kostenlosen Tool verwendet werden, formalmind Studio, oder jedes andere ReqIF-fähige Werkzeug Ihrer Wahl. Melden Sie sich für unseren Newsletter an, wo wir es ankündigen werden, sobald es verfügbar ist.

ISO 29148 SySR Struktur

Die Bedeutung der verschiedenen Abschnitte ist selbsterklärend. ISO 29148 liefert jedoch detaillierte Erklärungen zu jedem Abschnitt. Die Verwendung einer standardisierten Vorlage wie dieser hat zwei Hauptvorteile:

  1. Sobald Sie die Struktur verstanden haben, werden Sie in der Lage sein, andere Spezifikationen, die nach ISO 29148 geschrieben sind, schnell zu erfassen. Sie werden die gesuchten Informationen schnell finden.
  2. Indem Sie jeden Abschnitt betrachten, werden Sie gezwungen, alle relevanten Aspekte Ihres Systems zu durchdenken, und es ist weniger wahrscheinlich, dass Sie einen entscheidenden Aspekt vergessen.

Dokumentenzentrierte Vorlage

Die ISO 29148-Vorlage ist eindeutig für die Erstellung eines Dokuments konzipiert. Das ist sinnvoll, da die meisten Spezifikationen heute in Word oder Excel verfasst werden – im Guten wie im Schlechten. Wenn Word das zu verwendende Werkzeug ist, dann empfehle ich, sich mit dem Vorlage von lastenhefteerstellen.de (Deutsch, Anmeldung erforderlich).

Die ISO 29148-Vorlage kann auch mit einem Anforderungsmodellierungswerkzeug wie formalmind Studio oder Rational DOORS verwendet werden. Dies sind Werkzeuge, die immer noch primär textbasiert arbeiten, aber eine Strukturierung mit Hierarchien, Attributen und Rückverfolgbarkeiten ermöglichen. Die Verwendung der Vorlage “wie besehen” funktioniert, aber eine Anpassung an die Fähigkeiten des Werkzeugs kann das Ergebnis verbessern. Beispielsweise trennt die Vorlage funktionale, Benutzerfreundlichkeits- und Leistungsanforderungen in separate Kapitel. Aus einer dokumentenzentrierten Sichtweise ergibt dies Sinn. Sobald wir jedoch über Modellierungsfähigkeiten verfügen, gibt es bessere Möglichkeiten, dies zu tun. Beispielsweise könnte ein Aufzählung-Attribut für “Anforderungstyp” eingeführt werden, mit den Aufzählungswerten funktional, Benutzerfreundlichkeit und Leistung. Dieser Ansatz würde es ermöglichen, Anforderungen nach Kontext zu gruppieren, was die Spezifikation leichter lesbar macht.

Spezifikationsstrukturen für Modelle

Diese Art von übergeordneter Struktur ist nicht auf Textdokumente beschränkt. Für diejenigen, die mit UML- oder SysML-Modellen arbeiten, gilt SYSMOD-Buch von Tim Weilkiens (Rezension) liefert eine Empfehlung für eine Paket-Hierarchie (siehe Abbildung).

Aber was ist drin?

Gleichgültig ob im Textverarbeitungsprogramm, einem Requirements Management Tool oder in einer Modellierungsumgebung: Die bereitgestellten Strukturen müssen immer noch mit Inhalten gefüllt werden. Und diese Inhalte müssen ebenfalls modelliert werden. Dies werden wir im nächsten Artikel betrachten.

Ähnliche Beiträge