Einfach nicht… funktional! (Teil 2)

Willkommen zum zweiten Teil unserer Blogserie zu den nicht-funktionalen Anforderungen, kurz: NFA.
In diesem 2. Teil bringen wir Ihnen näher, wie Sie NFAs systematisch erheben können. Wie läuft diese Erhebung ab? Welche Informationen und Hilfsmittel werden benötigt?

Aber blicken wir kurz zurück. Haben Sie den ersten Teil verpasst? Kein Problem. Die Kernaussagen lassen sich in wenigen Worten zusammenfassen. Nicht …Sprechpause… funktionale Anforderungen sind einfach und verallgemeinert ausgedrückt all jene Anforderungen die NICHT die Funktion, also das, was ein System tun soll, beschreiben. NFAs beschreiben das „Wie“ und damit u.a. technische Eigenschaften und Beschreibung der Anforderungen bezüglich der Qualität. Damit lassen sich NFAs relativ einfach von den Anforderungen abgrenzen, die beschreiben, „Was“ getan werden soll, also der Beschreibung von Verhalten.

Darüber hinaus haben wir Ihnen Möglichkeiten gezeigt, NFAs zu kategorisieren. Letztendlich tragen NFAs also maßgeblich dazu bei, ein qualitativ hochwertiges und gut funktionierendes System zu spezifizieren. NFAs sind daher für jeden relevant, der einsatztaugliche Systeme spezifizieren möchte. Den kompletten ersten Teil der Serie können Sie hier nachlesen.

Und nun starten wir mit dem NFA-Erhebungsprozess:NFA_Teil 2_Tätigkeiten und Artefakte des NFA-Erhebungsprozesses
Abbildung1

Abbildung 1 zeigt den NFA-Erhebungsprozess. Für die Erhebung von NFAs gilt, wie so oft im Leben auch: „Gute Vorbereitung ist schon die halbe Miete“. Vor dem Sport wärmt man sich auf, vor dem Kochen geht man einkaufen und vor der Prüfung sollte man seine Hausaufgaben gemacht haben. Und glauben Sie uns – diese Vorbereitung weg zu lassen führt in aller Regel zu keinen guten Resultaten. Es sei denn, Sie verfolgen das Ziel einer schmerzhaften Muskelzerrung oder einer Prüfungswiederholung.

Mit unserem NFA-Erhebungsprozess verhält es sich ebenso. Deshalb definieren wir, wie in Abbildung 1 zu sehen ist, zwei wichtige wegbereitende Aktivitäten: das Auswählen von NFA-Kategorien und das Suchen von Anforderungsquellen. Mit diesen zwei vorbereitenden und den zwei eigentlichen durchzuführenden Aufgaben, dem Ermitteln und Dokumentieren von NFAs, ist der Erhebungsprozess auch schon grob umrissen. Werfen wir ein Blick ins Detail.

Mit der ersten Vorbereitungsaktivität, dem Auswählen von NFA-Kategorien, passen Sie den Prozess an Ihre konkrete Projektsituation an. Denn mit der Wahl der zu untersuchenden Inhalte legen Sie fest, aus welchen Kategorien NFAs erhoben werden sollen. Ein Beispiel: Sie möchten Ihre erhobenen Systemfunktionalitäten bezüglich nicht-funktionaler Anforderungen durchleuchten, dann wählen Sie alle NFA-Kategorien aus, deren Inhalte sich auf Funktionalitäten beziehen – z.B. Qualitätsanforderungen. Andere, wie z.B. Anforderungen an sonstige Lieferbestandteile legen Sie getrost zur Seite. Sie kaufen sich ja auch keine Pasta wenn Sie vorhaben, Knödel zu kochen.

Noch zwei Ratschläge zum ersten Vorbereitungsschritt:

  • Zu ihren NFA-Kategorien erstellen Sie sich am besten eine Liste mit Beispielen. Damit bekommen Sie und alle Beteiligten bei der nachfolgenden Ermittlung von NFAs Hilfe stellende Ideen und eine klarere Vorstellung davon, welche Anforderungsinhalte in diese Kategorie fallen. Beispiele von NFAs zu den verschiedenen Kategorien finden Sie auch in unserem RE-Buch. Man muss ja nicht alles selber backen.
  • Zum Zweiten ist es ratsam, schon in der Vorbereitung Abhängigkeiten zwischen den Kategorien zu notieren. Konfliktverursachende Anforderungen kennen Sie vielleicht aus anderen Bereichen – denken Sie an die Frage nach dem Cabrio oder dem Kombi, Image & Lifestyle gegenüber den praktischen Vorteilen einer „Familienkutsche“.

In Systemen müssen beispielsweise Vorgaben zum verfügbaren Speichervolumen gegenüber Zeitverhalten miteinander abgewogen werden. Wenn Sie bereits Ihre NFAs aus der einen Kategorie kennen, z.B. technologischen Anforderungen bezüglich des Speichervolumens, wird es Ihnen leichter fallen, NFAs aus einer konkurrierenden Kategorie z.B. Qualitätsanforderungen zum Zeitverhalten zu assoziieren. Die Abhängigkeiten zu notieren, wird Ihnen außerdem dabei helfen, diese bei der späteren Erhebung und Konsistenzprüfung nicht aus den Augen zu verlieren.

Schritt 2 der Vorbereitung ist einfach erklärt: Für die Ermittlung ist es hilfreich, schon im Vorfeld eine Liste mit möglichen Anforderungsquellen zusammenzustellen. Neben existierender Dokumentation kann Ihnen jeder, der zukünftig mit dem System arbeiten wird oder Erwartungen an Ihr Projekt hat, wichtige Information für das neue System liefern. Die Identifikation von Quellen im Vorfeld wird sich bei der Ermittlung als sehr hilfreich erweisen. Es ist besser zu wissen, wo man suchen muss, bevor man sich auf die Suche macht.

Im Grunde sind unsere beiden ersten Vorbereitungsschritte damit schon erklärt. Wenn Sie sich nun noch abschließend Gedanken zur späteren Dokumentation machen, sind Sie aufs Beste vorbereitet. Abhängig von Projekt und Kontext kann es vorteilhaft sein, natürlichsprachlich zu dokumentieren oder auf eine Modellierungssprache wie UML zurückzugreifen. Sich auf geeignete Techniken zwischen allen Beteiligten zu einigen, vermeidet Missverständnisse und Konflikte und erhöht die Effizienz in der Dokumentationsphase.

Als Ergebnis der vorbereitenden Tätigkeiten haben Sie mit Schritt 1 die für sich passenden NFA-Kategorien mit Beispielen erstellt, alle Abhängigkeiten bedacht und mit Schritt 2 mögliche Anforderungsquellen und geeignete Dokumentationsmittel identifiziert (Artefakte der rechten Spalte in Abbildung 1). Die Aufwärmübungen wären damit dann abgeschlossen.

Nun sind Sie gut vorbereitet für die durchführenden Tätigkeiten, dem Ermitteln und Dokumentieren von nicht-funktionalen Anforderungen. Wie Sie dabei genau vorzugehen haben, zeigen wir Ihnen in unserem dritten und letzten Blog-Teil. Bis dahin dürfen Sie gespannt bleiben und zum Umsetzen haben Sie ja nun für die Vorbereitung erst einmal einiges in der Hand.

Ihr Sascha Frehse und André Pflüger

Einfach nicht… funktional! (Teil 1)
Einfach nicht… funktional! (Teil 3)

Schreibe einen Kommentar

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