Wie meint es der eine und wie versteht es der andere… (IV)

In unseren ersten drei Blogsitzungen haben Sie bereits einige solide Kenntnisse im Aus- und Umformulieren von Anforderungen erworben. Sie wissen um die drohenden Konsequenzen durch schlechte Prozesswörter und können diese üblen Keimzellen mit wenigen Schritten leicht ausmerzen.

Dieses Mal soll es nicht um Prozesse, sondern um Eigenschaften gehen und auch hier dreht sich wieder alles um Eindeutigkeit und Vollständigkeit.

Systemeigenschaften einer Anforderung beschreiben sogenannte nicht-funktionale Aspekte eines zu spezifizierenden Systems. Diese Eigenschaften werden üblicherweise durch Adjektive und Adverbien dargestellt. Wie bei den Verben sind aber meist auch Eigenschaftswörter mit viel zu wenig Informationen ausgestattet. Es wurde also wieder mal kräftig getilgt und verzerrt. Nutzen Sie deshalb den W-Fragenkatalog für die Prozesswörter und stellen Sie nun auch alle relevanten W-Fragen auch zum Eigenschaftswort.

Ist die fehlende Information wissenswert, ergänzen Sie die Anforderung um die getilgte Information.

Im Beispiel „Das System muss vor externem Zugriff sicher sein“ muss z. B. für das Adjektiv „sicher“ beschrieben werden, was genau vor wem sicher ein soll, wer sichert und wie gesichert werden soll. Auch hier verlassen Sie sich am besten auf Ihr Sprachgefühlt, um die erforderlichen W-Fragen zu identifizieren.

Steigern gleich höher und besser?

Eine nicht-funktionale Systemeigenschaft benennt immer ein bestimmtes Verhalten. So gibt die Steigerung des Adjektivs „schneller“ ein Zeitverhalten an, das allerdings nicht genauer spezifiziert wird, beispielsweise um wie viel schneller etwas ist. In Ermangelung dieser Präzisierung entstand die nächste Regel:

Beachten Sie also, dass die verschiedenen Formen der Adjektive stets einen Bezugsverhalten haben, damit ein Vergleichswert vorliegt und das Adjektiv nicht für sich alleine steht.

Aus eins mach‘ zwei (Anforderungen)

Eine strukturelle Komponente ergibt sich schließlich noch aus der Überlegung, ob nicht-funktionale Aspekte in einer separaten Anforderung formuliert werden sollten, um sie von funktionalen Anforderungen zu trennen, oder ob eine Aufteilung nicht sinnvoll ist. Hier eine Regel, die Ihnen bei dieser Entscheidung hilft.

Anhand dieses Beispiels lassen sich die Bedingungen gut veranschaulichen:

„Das Bibliothekssystem muss die eingegebenen neuen Benutzerdaten innerhalb von maximal 1 Sekunde speichern.

Handelt es sich beim Zeitverhalten „maximal 1 Sekunde“ um ein globales Contraint, das für sämtliche zu speichernden Daten gilt, formulieren Sie eine separate nicht-funktionale Anforderung:

„Das Bibliothekssystem muss jeden Speichervorgang innerhalb maximal 1 Sekunde durchführen.“

Würde sich das Zeitverhalten ausschließlich auf das Speichern der Benutzerdaten beziehen, könnten Sie keine separate Anforderung kreieren, da Sie sich dann der Frage gegenüber stehen würden, gegen welchen konkreten Sachverhalt das Zeitverhalten der neuen Anforderung dann zu testen wäre.

Mit diesen wenigen Schritten sind Sie in der Lage, fehlende Informationen zu Eigenschaftswörtern aufzudecken und zu füllen. In Zukunft werden Ihre Anforderungen also messbare Eigenschaften enthalten und nicht-funktionale Aspekte können in separate Anforderungen eingearbeitet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert