Wie meint es der eine und wie versteht es der andere… (VI)
In den vorherigen Blogeinträgen haben wir von Funktionen gesprochen, die durch Anforderungen beschrieben werden müssen. Wir haben mehrfach betont, dass die Funktionalität einer Anforderung, die durch ein Verb, also ein Prozesswort suggeriert wird, den Kern einer Anforderung bildet.
Soweit so gut. Hier wäre nun ein guter Zeitpunkt für eine kleine Erweiterung: Bei genauerer Betrachtung fällt nämlich auf, dass die Beschreibung einer Funktion häufig unbemerkt in einer Ergebnisbeschreibung der Anforderung resultiert.
Oftmals ist es aber notwendig, dass Anforderungen weitere Details enthalten, z.B. den Weg zu diesem beschriebenen Ergebnis. Sehen Sie sich einmal folgendes Beispiel an:
„Bei jedem Update der Straßenkarte muss die Reiseroute neu berechnet werden“.
Der Leser dieser Anforderung hat das Resultat, das geschildertes Ergebnis, unmittelbar vor Augen: Die Route muss nach einem Update berechnet sein. Wie dies allerdings von statten geht, wird nicht erläutert, diese Information fehlt. Die hier getilgte Information über bestimmte Abläufe nennen wir Fachlogik. Einfache Indizien dafür, dass die beschreibende Fachlogik in einer Anforderung ignoriert wurde, finden Sie in solchen Signalwörtern wie „kann“, „darf“, „es ist (nicht) möglich“ usw. Sie drücken aus, dass etwas möglich bzw. unmöglich ist und gehen dabei bereits von vollendeten Tatsachen aus, ohne die vorherigen Abläufe zu erwähnen.
Diese Regel soll Sie dazu anleiten, unterschlagene Abläufe und Vorinformationen (Begründungssätze) in Anforderungen zu erkennen und zu ergänzen. Zur Erläuterung hilft Ihnen dieses Beispiel:
„An einen Bibliothekskunden, für den noch mindestens zwei offene Mahnungen vorliegen, darf kein weiteres Buch ausgeliehen werden.“
Das hier geforderte Verhalten des Bibliothekssystems (nämlich kein weiteres Buch an den Kunden auszugeben), ist bereits eine Art Ergebnisbeschreibung, die ohne den vorangegangen Ablauf in der Anforderung steht. Der Ablauf also, der beschreibt, wieso eine weitere Buchausleihe nicht möglich ist. Diese Information ist aber erforderlich, da sie die Voraussetzung für obige Anforderung darstellt. Formulieren Sie also eine zusätzliche Anforderung als Ergänzung. Sie könnte z. B. so lauten:
„Sobald der Rückgabetermin für ein Leihobjekt erreicht ist, muss das Bibliothekssystem für den Bibliothekskunden, der das Leihobjekt ausgeliehen hat, die Anzahl der offenen Mahnungen in der Mahnhistorie des Bibliothekskunden um 1 erhöhen.“
Je nach Komplexität und Menge der getilgten Informationen müssen Sie entscheiden, ob Sie eine weitere Anforderung als Ergänzung schreiben oder die fehlenden Informationen als Voraussetzung für ein beschriebenes Verhalten in die selbe Anforderung integrieren. Je nach Situation kann beides sinnvoll sein.
Hier nochmal das Vorgehen in aller Kürze: Analysieren Sie die hinter einer Anforderung steckende fachliche Logik und nehmen Sie anschließend die notwendigen Vorbedingungen auf.