© GreenFlash/Shutterstock.com
Kolumne: Req4Arcs

Kolumne: Req4Arcs


In den letzten Folgen haben wir Ihnen Optionen für die Darstellung und Klärung funktionaler Anforderungen aufgezeigt. Eingestiegen sind wir über Geschäftsprozesse und haben anschließend die Granularität in kleinen Schritten bis zu User Stories verfeinert [1]. In der letzten Folge haben Sie dann einige Aspekte des Knowledge Crunching aus dem Domain-driven Design kennengelernt, insbesondere Event Storming und die Ubiquitous Language [2]. Nun stellen wir Ihnen noch eine dritte Perspektive für funktionale Anforderungen vor, nämlich Beispiele. Der Titel dieser Kolumne deutet unsere Intention an: Statt uns auf möglicherweise schwer verständliche Abstraktionen zu verlassen, versuchen wir durch möglichst konkrete Beispiele die wesentlichen (nicht alle!) Funktionen des Systems zu illustrieren.

Anforderungen durch Beispiele

Traditionelle Analyse- oder Modellierungsmethoden haben lange versucht, Sachverhalte (in unserem Fall: funktionale Anforderungen) ganzheitlich und gesamthaft (generisch) zu erfassen, unter Berücksichtigung von sowohl Normal- als auch Sonderfällen. Heraus kamen oftmals abstrakte Modell- oder Textkonstrukte. Bei denen besteht das große Risiko, dass Entwicklungsteams die Intention der Modelle nicht gut verstehen – und deswegen ihre eigene (und vermutlich fehlerhafte) Interpretation dieser Modelle in Quellcode implementieren.

Ein Beispiel für eine solche abstrakte Anforderung aus der Domäne Schulwesen:

„Das System soll registrierten Schülerinnen und Schülern on- und offline den Zugriff auf Stunden-, Vertretungs- und Klausurpläne inklusive der Raumzuordnung erlauben.“

In dieser Domäne Schulwesen ändern sich Vertretungs- und Raumpläne sehr häufig, weil Krankheiten und Raumänderungen eben kurzfristig und ungeplant auftreten. Ein Offlinezugriff auf Vertretungspläne ergibt daher nur eingeschränkt Sinn. Hingegen sind Stundenpläne über Monate lang fix – die können wir prima dezentral speichern und natürlich offline anzeigen. Solche Details lassen sich oft nur schwer abstrakt formulieren. Alternativ dazu könnte eine Beschreibung auch anhand konkreter Beispiele erfolgen:

„Lea öffnet die App und sieht, dass am heutigen Dienstag der Matheleistungskurs um 10 Uhr in Raum R42 stattfindet und von Frau Yildiz vertreten wird. Franz hat kein Datenvolumen mehr und sieht in der App, dass der Matheleistungskurs um 10 Uhr stattfindet, ohne Info zum Raum oder Lehrperson.“

Die Grundlagen für Spezifikationen anhand von Beispielen stammen von Ward Cunningham, der schon 1996 ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang