Vielleicht erinnern Sie sich nicht mehr daran, was Sie letzten Dienstag zum Mittag gegessen haben oder wann Sie das letzte Mal einen richtig guten Film gesehen haben. Wir glauben aber, dass Sie sich an die Abbildung 1 erinnern können.
Abbildung 1: Übersicht der Kategorien nicht-funktionaler Anforderungen
Ja genau, da war doch was. Nicht-funktionale Anforderungen gibt es in Hülle und Fülle. Mit der Abbildung 1 und einer Blogserie zu den NFAs haben wir jedoch eine gute Übersicht schaffen können. Nun folgt die nächste Herausforderung: Wie werden nicht-funktionale Anforderung formuliert? Eine große Hilfe an dieser Stelle sind Satzschablonen. Warum? Satzschablonen sind eine gute Lösung, um einerseits sprachliche Defekte in Anforderungen zu vermeiden und andererseits Anforderungen von hoher Qualität in einem optimalen Zeit- und Kostenrahmen zu schreiben. Durch die vorgegebenen Bausteine einer Satzschablone ist der Benutzer angehalten, sich bewusst mit den Inhalten seiner Spezifikation im Detail auseinander zu setzen. Ein Sachverhalt, von dem Sie nur profitieren: Sie erhalten qualitativ hochwertigere Anforderungen, die z. B. für alle Stakeholder gleich verständlich oder durch einen Test prüfbar werden.
Die SOPHIST-Satzschablone für funktionale Anforderungen ist nicht die einzige Schablone auf dem Markt. Einen Überblick gibt Ihnen hier unsere Blogserie „Durchblick im Schablonendschungel“. Bei dieser Marktanalyse hat sich herausgestellt, dass gerade für die schwierig zu spezifizierenden nicht-funktionalen Anforderungen keine praxistauglichen Ansätze existieren. Das war der Startschuss für unser MASTeR-Projekt und die entstandenen Schablonen stellen wir Ihnen nun vor. Einen ersten Überblick gibt Ihnen die Abbildung 2. Mit Hilfe von drei Schablonen können Sie die Formulierung Ihrer nicht-funktionalen Anforderungen MASTeRn.
Abbildung 2: Drei MASTeR Schablonen
Mit der ersten Schablone EigenschaftsMASTeR formulieren Sie nicht-funktionale Anforderungen der Kategorien Qualitätsanforderungen, einen Teil der technologischen Anforderungen, Anforderungen an die Benutzungsoberfläche, Anforderung an die sonstigen Lieferbestandteile sowie rechtlich-vertragliche Anforderungen.
Abbildung 3: Satzschablone EigenschaftsMASTeR
Ein erster Blick auf die in Abbildung 3 dargestellte Schablone lässt das geschulte RE-Auge Gemeinsamkeiten mit der SOPHIST-Satzschablone für funktionale Anforderungen suchen. Doch lassen Sie uns die, wenn auch vielleicht imaginäre, Brille putzen: Im EigenschaftsMASTeR geht es um eine Eigenschaft eines Betrachtungsgegenstands und eben nicht um ein System. Der zweite Blick macht den Unterschied noch deutlicher, denn er fällt auf die drei neuen, entscheidenden Bestandteile des EigenschaftsMASTeRs: Vergleichsoperator, Wert und sein.
Die Schablone verlangt also einen konkreten Wert, genauer einen Zahlenwert, und wenn nötig einen Vergleichsoperator, wie z. B. mindestens, maximal. Die Testbarkeit einer so formulierten Anforderung wird erhöht. Eine nach dieser Schablone formulierte Anforderung endet mit dem Verb sein, denn Sie brauchen sich keine Gedanken über ein Prozesswort machen: Sie beschreiben keine Funktion oder Prozesse (das ist bei den funktionalen Anforderungen der Fall). In Verbindung mit dem Zahlenwert verwenden Sie sein. Schauen wir uns ein Beispiel an:
Der Stromverbrauch des Smartphone muss kleiner als 50% sein.
Die Formulierung mit dem EigenschaftsMASTeR ist eine der besseren in der RE-Welt. Sie finden hier kein schwammiges Adjektiv, sondern den Wert 50 % und den Vergleichsoperator kleiner. Eine Formulierung wie z. B. Das Smartphone muss einen geringen Stromverbrauch haben. wird bei der Arbeit mit dem EigenschaftsMASTeR ausgeschlossen. Was lesen Sie aber nun genau aus der ersten Beispielanforderung heraus? Wissen Sie, in welchem Zustand das Smartphone kleiner als 50% Strom verbrauchen soll? Ist die Anforderung so formuliert, haben Sie diese Information nicht. Daher wurde in einer weiteren EigenschaftsMASTeR-Schablone eine Bedingung mit eingefügt (vgl. Abbildung 4).
Abbildung 4: Satzschablone EigenschaftsMASTeR mit Bedingung
Die obige Anforderung erscheint also nur auf dem ersten Blick testbar. Der Tester braucht noch einen entscheidenden Hinweis: Unter welchen Bedingungen soll der Stromverbrauch des Smartphone kleiner als 50% sein? Ein Smartphone kann z. B. in Betrieb sein oder im Ruhezustand. Mit der erweiterten Version des EigenschaftsMASTeRs können Sie diese Information formulieren (vgl. Abb. 4). Aber hier ist Vorsicht geboten. Wenn das Smartphone inaktiv ist, muss der Stromverbrauch des Smartphone kleiner 50% sein. Vorsicht, weil diese Anforderung keine gute ist. Vergleichen Sie mit einer nach Schablone formulierten:
Solange das Smartphone inaktiv ist, muss der Stromverbrauch des Smartphone kleiner als 50% sein.
Der Satzbau dieser Anforderung ist komplexer als der unseres obigen Beispiels. Die Anforderung beginnt mit einer Bedingung. Da das Formulieren einer Bedingung ihre Tücken hat, zeigen wir Ihnen in einer anderen Blogserie, wie Sie diese Tücken MASTeRn.
An dieser Stelle jedoch lassen wir Ihnen Zeit, die Informationen zum EigenschaftsMASTeR zu verdauen und vielleicht auch schon die ein oder andere nicht-funktionale Anforderung (um-)zu formulieren. Gern können Sie uns von Ihrer Erfahrung mit dem EigenschaftsMASTeR berichten. Unsere Kontaktdaten: Email (heureka@sophist.de) oder Ihren Anruf (0911 – 40 900-0).
Zeitnah melden wir uns dann mit zwei weiteren Satzschablonen (dem Umgebungs- und ProzessMASTeR), damit Sie auch die übrigen Kategorien nicht-funktionaler Anforderungen MASTeRhaft beschreiben können.
Leider ist die Anforderung oben noch nicht vollständig. Damit sie es wäre, müsste der geneigte Leser noch wissen:
1. 50% von was?
2. Der Stromverbrauch eines Handy ist nie absolut gleichmäßig; auch nicht während scheinbar inaktiven Phasen. Ist also der maximal Stromverbrauch in der inaktiven Phase gemeint, oder der Durchschnittstromverbrauch?
3. Und falls Letzteres der Fall sein sollte, ist die Methode zu nennen, nach welcher der Durchschnittsverbrauch zu bestimmen ist, da diese voraussichtlich einen signifikanten Einfluss auf die Messgenauigkeit haben wird. Und wer will schon, dass die Verifikation der Anforderung schon „by Design“ fehlschlägt, weil Entwickler und Tester unterschiedliche Ansichten hegen…
Hallo Herr Bank,
vielen Dank für Ihr Feedback.
Die Anforderung dient in erster Linie dazu, die einzelnen Positionen des EigenschaftsMASTeRs zu verdeutlichen. Natürlich ist diese Anforderung ohne Kontext kaum einzuordnen und ohne weitere Kontextinformationen bleiben viele Fragen offen. Ihre Fragen unterstreichen das und müssten in einer Spezifikation näher betrachtet werden.
Sollten Sie mit der Schablone arbeiten, würden wir uns über Ihre Erfahrungen freuen.
Viele Grüße
Kristina Schöne
Ich zitieren Ihren Text: „Wenn das Smartphone inaktiv ist, (…) Vorsicht, weil diese Anforderung keine gute ist. “
Bitte führen Sie doch solche Cliffhänger aus. Der Unterschied zwischen „Wenn“ und „Solange“ ist meines Erachtens für den normalen Muttersprachler (und erst recht für Ingenieure oder Versicherungsfachangestellte mit denen wir zu tun haben) nicht selbstverständlich (Logikbezug vs. Zeitbezug). Wo finde ich den genannten weiterführenden Blog?
Liebe Frau Prün,
vielen Dank dafür, dass Sie uns beim Wort nehmen und sich mit Ihrer Frage an uns richten.
Besagten Blockeintrag mit Namen Optimale Bedingungen mit dem BedingungsMASTeR finden Sie auch auf unseren Blogseiten.
Dieser Blogeintrag ist ein guter Einstieg. Den Wissendurst kann unsere Broschüre zu den MASTeR-Schablonen noch besser stillen. Gern würden wir Sie Ihnen zuschicken, denn sie enthält tiefergehende Ausführungen zu den Bedeutungen der einzelnen Konjunktionen. Melden Sie sich einfach bei heureka@sophist.de.
Viele Grüße
Kristina Schöne