Modellierung von textlichen Anforderungen

Nachdem in den letzten drei Artikeln die Grundlage für das Anforderungsmanagement gelegt wurde, beschäftigen wir uns nun endlich mit konkreten Anforderungen und deren Modellierung. Insbesondere behandelt dieser Artikel textuelle Anforderungen. An späterer Stelle werden wir uns nicht-textuellen Anforderungen zuwenden (z. B. der Use-Case-Modellierung). Vorlagen: Anforderungsmanagement für Einsteiger Eine überraschend einfache Methode zur Modellierung…

Nachdem in den letzten drei Artikeln die Grundlage für das Anforderungsmodellierung gelegt wurde, werden wir uns nun mit tatsächlichen Anforderungen und deren Modellierung beschäftigen. Insbesondere werden in diesem Artikel textuelle Anforderungen behandelt. Zu einem späteren Zeitpunkt werden wir uns mit nicht-textuellen Anforderungen (z. B. Use-Case-Modellierung) befassen.

Vorlagen: Anforderungsmodellierung für Anfänger

Eine überraschend einfache Methode zur Modellierung textueller Anforderungen ist die Verwendung von Textvorlagen. So empfiehlt beispielsweise die ISO/IEC/IEEE 29148. Dieser Standard trägt den Titel “Systems and software engineering — Life cycle processes — Requirements engineering” und ist die Grundlage für ernsthaftes Requirements Engineering. Er wurde bereits in der letzter Artikel, da er auch Empfehlungen für die Struktur von Spezifikationen gibt.

Die ISO 29148 stellt nur drei Vorlagen bereit, die die meisten Anforderungen abdecken. Diese sind in der folgenden Abbildung dargestellt:

requirements Templates. From: ISO/IEC/IEEE 29148, Page 11

Die Einfachheit dieses Ansatzes macht ihn so attraktiv: mit sehr geringem Aufwand hat er das Potenzial, die Qualität von Anforderungen drastisch zu verbessern.

Qualitätskriterien

Eine Vorlage zu haben ist sowohl für die Verfasser von Anforderungen als auch für die Leser hilfreich. Verfasser haben einen guten Ausgangspunkt, der es ihnen ermöglicht, gute Anforderungen zu schreiben. Leser werden die Muster irgendwann erkennen, wodurch es einfacher wird, die Bedeutung von Anforderungen schnell zu erfassen.

Es ist jedoch völlig in Ordnung, von den Vorlagen abzuweichen, wenn dies die Qualität der Anforderungen verbessert. Daher sollten sie als Empfehlung und nicht als Vorschrift dienen. Wie die Qualität von Anforderungen gemessen werden kann, wird ebenfalls in ISO 29148 behandelt: Sie enthält Qualitätskriterien für einzelne Anforderungen sowie Kriterien für Anforderungssätze, die in den folgenden Tabellen dargestellt sind:

Merkmale einzelner Anforderungen

  • Notwendig
  • Umsetzung Frei
  • Eindeutig
  • Konsequent
  • Vollständig
  • Singular
  • Machbar
  • Nachverfolgbar
  • Nachprüfbar

Merkmale einer Anforderungssammlung

  • Vollständig
  • Konsequent
  • Günstig
  • Begrenzt

Nichtanforderungen

Nicht der gesamte Text in einer Anforderungsspezifikation gehört zu den Anforderungen. Es wird Strukturelemente wie Überschriften und informationellen Text geben, der Kontext schafft. Es ist wichtig, dies anzuerkennen, aber es ist auch wichtig, dass man Anforderungen leicht von Nicht-Anforderungen unterscheiden kann. Es gibt viele Techniken, um dies zu erreichen, die manchmal werkzeugabhängig sind. Möglichkeiten sind:

  • Weisen Sie IDs nur Text zu, der Anforderungen darstellt. Einige professionelle Werkzeuge, wie ReqIF Studio, erlauben Sie dies. Andere, wie Rational DOORS, tun dies nicht (und weisen allem eine ID zu).
  • Ein Attribut, das das Textelement klassifiziert.  Eine einfache Klassifizierung könnte aus Anforderung, Überschrift und Information bestehen. Ein ausgeklügeltes Klassifizierungssystem wurde von Cimatti (Deutscher Artikel).
  • Nutze Stile, um Bedeutung zu transportieren. Dies ist eine Option, wenn ein Tool wie Microsoft Word für das Anforderungsmanagement verwendet wird.

Bilder

Ich bin ein Befürworter von Bildern, solange sie die Informationen besser als Text vermitteln. Im Übrigen können auch bestimmte Textformen, wie Tabellen, durchaus nützlich sein. Wenn man vom reinen Text abweicht, ist es immer wichtig zu fragen: (1) Gibt es einen Mehrwert dafür? Und (2) können die Bilder aufrechterhalten werden. Insbesondere wenn ein UML-Aktivitätsdiagramm als Anforderung aufgeführt ist, muss das Diagramm aktualisiert werden können. Auch hierfür gibt es viele Möglichkeiten. Aber bedenken Sie, dass veraltete Informationen schlimmer sein können als gar keine Informationen.

Vorlagen auf Steroiden

Diejenigen, die die Idee der Verwendung von Vorlagen mögen, sollten sich die von der Sophist-Gruppe vorgeschlagenen ansehen. Sie veröffentlichten eine Büchlein die eine Reihe von Vorlagen und eine Methode zur Anwendung dieser bietet. Obwohl das Heft derzeit nicht auf Englisch verfügbar ist, enthält es zumindest englische Übersetzungen der Vorlagen.

Die Ausnutzung des Modells

Der Hauptvorteil der bisher beschriebenen Verwendung von Vorlagen war die Anforderung von höherer Qualität. Aber es ist mehr möglich. Insbesondere können Anforderungen, die einer Vorlage folgen, zum Aufbau eines Modells verwendet werden. Am einfachsten wäre es, sie zum Aufbau eines Glossars zu verwenden: Mithilfe der oben genannten ISO 29148-Vorlagen könnte ein Werkzeug für jeden “Gegenstand” automatisch einen Glossarbegriff generieren. Ein ausgefeilterer Ansatz könnte versuchen, auch die anderen Elemente zu verarbeiten.

Ein größerer Schritt wäre, ein tatsächliches Domänenmodell zu erstellen und dieses mit den Textvorlagen zu integrieren. So könnte das Domänenmodell beispielsweise aus UML-Klassen bestehen, welche die Subjekte in den Textvorlagen darstellen. Einen Prototypen dieser Idee haben wir mit einem Domänenmodell in der Event-B-Modellierungssprache.

Schlussfolgerung

Textvorlagen sind ein schneller Einstieg in die Formalisierung von Anforderungen. Sie erfordern wenig Aufwand und bieten viele Vorteile. Aber dies ist erst der Anfang. In den folgenden Artikeln werden wir uns mit ausgefeilteren Ansätzen zur Anforderungsmodellierung befassen. Einige sind weitaus leistungsfähiger als das hier vorgestellte, auf Kosten einer deutlich steileren Lernkurve.

Ähnliche Beiträge