Blog-Serie – Teil 2 von 8
Willkommen im Teil 2 der Blog-Serie „Analysetätigkeiten für belastbare Anforderungen“. In diesem und den folgenden 5 Artikeln betrachten wir die im ersten Blogbeitrag erwähnten Analysetätigkeiten nacheinander im Detail.
Hierzu stellen wir zuerst vier Ursprungsanforderungen (U1 – U4) aus einem beispielhaften Smart-Home-System (SHS) vor, die gemäß den Analysetätigkeiten in Ergebnisanforderungen (E1 – Ex) umgewandelt werden:
- Das SHS muss die Erlaubnis zum Öffnen der Tür überprüfen und innerhalb von 2 Sekunden die Tür öffnen. (U1)
- Das SHS muss jede Entriegelung einer Tür auf konfigurierten Handys und Tablets innerhalb von 2 Sekunden anzeigen. (U2)
- Der Türsensor muss den Status einer Tür (offen/geschlossen) melden. (U3)
- Die Nutzung des SHS muss so einfach wie möglich sein. (U4)
Als erwähnenswert gelten auch die Regeln aus dem SOPHIST-REgelwerk, die wichtige Hinweise liefern, welche Defizite in den betrachteten Anforderungen vorhanden sind. Ebenso die SOPHIST-MASTeR-Schablone zum Formulieren von Anforderungen.
Mit diesem Vorwissen starten wir mit der Beschreibung der Analysetätigkeit „Anforderungen separieren“.
Diesen BLOG-Artikel gibt es auch „Vorgelesen“ als Video:-)
Worum geht es bei dieser Analysetätigkeit?
In der Analyse von vorgegebenen Ursprungsanforderungen sollte die erste Aufgabe darin bestehen, diese in ihre Bestandteile zu zerlegen, bzw. zu separieren. Dies ist dann notwendig, wenn in einer Anforderung zwei oder mehr Funktionen von einem System gefordert werden oder unterschiedliche Vorbedingungen für die Anteile der Anforderung gelten.
Das Ziel dieser Tätigkeit besteht darin, einzeln testbare Anforderungen zu erzeugen, die in den folgenden Analyseschritten getrennt voneinander bearbeitet werden können.
Ursprungsanforderung und Ausgangsgraph
Betrachten wir nun eine unserer Ursprungsanforderungen aus dem SHS zusammen mit dem Ausgangsgraph.
Das SHS muss die Erlaubnis zum Öffnen der Tür überprüfen und innerhalb von 2 Sekunden die Tür öffnen. (U1)
In der Anforderung U1 werden die Funktionen „Erlaubnis überprüfen“ und „Tür öffnen“ von dem System gefordert. Die Vorteile einer Separierung liegen auf der Hand. Zum einen können die Bestandteile getrennt voneinander getestet werden, ohne dass eine Teilerfüllung die gesamte Ursprungsanforderung als „fail“ wertet. Zum anderen besteht die Möglichkeit, die separierten Teile zu unterschiedlichen Zeitpunkten zu entwickeln oder verschiedene Prioritäten zu vergeben. Zuletzt kann nach Bedarf nur der komplexe Teil einer Anforderung verfeinert werden (in diesem Fall „Erlaubnis überprüfen“).
Hilfestellungen zur Durchführung dieser Analysetätigkeit
An dieser Stelle möchten wir Ihnen drei simple Fragen mitgeben. Falls Sie bei der Betrachtung einer Anforderung eine dieser Fragen mit einem Ja beantworten können, sollte eine Ursprungsanforderung in eigenständige Anforderungen zerlegt werden.
- Beinhaltet die Anforderung unterschiedliche Funktionen des Systems?
- Existieren unterschiedliche Bedingungen für die einzelnen Anteile der Anforderung?
Beinhaltet die Anforderung eine Qualitätsanforderung zu einer funktionalen Anforderung?
Ergebnis nach Anwendung der Analysetätigkeit
Nach der Zerlegung der Ursprungsanforderung U1, erhalten wir somit drei mögliche Ergebnisanforderungen E1, E2 und E3:
Das SHS muss die Erlaubnis zum Öffnen einer Tür überprüfen. (E1)
Sobald das SHS die Erlaubnis zum Öffnen einer Tür überprüft hat und falls die Überprüfung positiv war, muss das SHS die entsprechende Tür öffnen. (E2)
Die Funktion Tür öffnen muss eine Ausführungszeit von maximal 2 Sekunden aufweisen. (E3)
Wenn Sie den Anforderungen im Zuge der Separierung neue Annahmen hinzufügen, sollte Sie diese Annahmen unbedingt von Ihren Stakeholdern einholen oder absegnen lassen.
Wie bereits im ersten Blogartikel erwähnt, verbessert jede Analysetätigkeit Schritt für Schritt die Qualität der ursprünglichen Anforderungen. Nach unserer Erfahrung verbessert die soeben vorgestellte Tätigkeit folgende Qualitätskriterien:
- Notwendig
- Eindeutig
- Vollständig
- Klare Struktur
- Konsistente Spezifikation
- Angemessenheit
Fazit
Für die nachfolgenden Entwicklungsschritte sollten Ursprungsanforderungen immer zuerst in ihre Bestandteile separiert werden. Dies erleichtert nicht nur die tiefere Analyse, sondern unter anderem auch ein gezielteres Testen der Anforderungen.
Im nächsten Blogbeitrag (Teil 3 von 8) betrachten wir die nächste Analysetätigkeit „Notwendige Anforderungen extrahieren“. Also bleiben Sie dran!
Beste Grüße,
Ihre SOPHISTen