Nicht-funktionale Anforderungen im Überblick Teil 1

In dieser zweiteiligen Blogserie möchten wir auf die Kategorien nicht-funktionaler Anforderungen (NFA) eingehen. Ein Vorhaben, dass sich lohnt, denn NFAs gibt es reichlich, wie Abbildung 1 verdeutlicht.

NFA Kategorien Teil 1 - Bild 1

Abbildung 1: Übersicht der Kategorien nicht-funktionaler Anforderungen

Wie in der Abbildung 1 zu sehen ist, lassen sich die nicht-funktionalen Anforderungen auf der ersten Ebene in sechs verschiedene Kategorien aufteilen. Jede der Kategorien kann in weitere Unterkategorien unterteilt werden. Als Beispiel haben wir in Abbildung 1 die technologischen Anforderungen und die Qualitätsanforderungen bis zur zweiten Ebene aufgeschlüsselt. In dieser Blogserie finden Sie für jede Kategorie die wichtigsten Unterkategorien und eine kurze Beschreibung. Ausführliche Informationen finden Sie im Kapitel 9 unseres RE-Buchs. Anhand einer Smartphone-Entwicklung möchten wir Ihnen verdeutlichen, welche Fragen Sie während der Entwicklung stellen können und in welche NFA-Kategorien diese Fragen gehören. Im 1. Blogeintrag beginnen wir mit den technologischen und den Qualitätsanforderungen.

Technologische Anforderungen

In dieser Anforderungskategorie betrachten wir die technologischen Anforderungen. Der Begriff fasst Anforderungen an das System zusammen, die direkten Einfluss auf die in der Entwicklung zu verwendenden Technologien haben. Technologische Anforderungen können in vier verschieden Gruppen eingeteilt werden:

  • Anforderungen, die sich aus der Systemumwelt ergeben

Umwelteinflüsse können sein: Das physikalische Umfeld (Temperatur, Feuchtigkeit, Druck, Bewegung, chemische Beanspruchung etc.) und das technologische Umfeld (Stromversorgung, Ausrüstung und das Netzwerk etc.).

  • Mengengerüstanforderungen

Wie es das Wort schon verrät, beinhalten diese Anforderungen Mengenangaben wie Speicherplatzkapazität, Stromstärken, Benutzeranzahlen oder auch Stückzahlen.

  • Anforderungen an Schnittstellen

Schnittstellen können mechanisch oder softwarespezifisch sein, beispielsweise Anschlüsse an dem Produkt oder auch die Kommunikation mit anderen Systemen.

  • Vorgaben an Komponenten

Meint Hardware- oder Softwarekomponenten, aus denen sich das System zusammensetzen soll oder was bei der Entwicklung der Komponenten zu beachten ist.

 

Einige Fragen, die wir uns bei der Entwicklung unseres Smartphone stellen müssen, sind:

– In welcher Umgebung wird das Smartphone eingesetzt?

– Wie viel Speicherplatz soll das Smartphone haben?

– Über welche physikalischen Anschlüsse soll das Smartphone verfügen?

Qualitätsanforderungen

Qualitätsanforderungen machen Angaben über die Güte des Produkts. Sie lassen sich in sechs verschiedene Gruppen unterteilen:

  • Änderbarkeit

Hierunter fallen Vorgaben in Bezug auf den Aufwand und die Auswirkungen, die mit spezifischen Änderungen am System oder Prozess verbunden sind.

  • Benutzbarkeit

Diese Anforderungen legen den Aufwand zum Erlernen oder zur Bedienung des Produkts oder des Prozesses fest und beschreiben, inwiefern Standards einzuhalten sind.

  • Effizienz

In diese Kategorie fallen Vorgaben zum Leistungsniveau, wie beispielsweise das Zeit- und Verbrauchsverhalten des Produkts oder Prozesses.

  • Funktionalität

Hier werden Eigenschaften von Funktionalitäten beschrieben, wie zum Beispiel Angemessenheit, Richtigkeit, Interoperabilität, Sicherheit oder Ordnungsmäßigkeit.

  • Übertragbarkeit

Hier können Sie Vorgaben zur Anpassungsfähigkeit an verschiedene neue Umgebungen beschreiben, z. B. technische Plattformen oder betriebliche Abläufe.

  • Zuverlässigkeit

Anforderungen in diesem Unterkapitel beschreiben das geforderte Leistungsniveau über einen bestimmten Zeitraum an das Produkt oder den Prozess.

 

Einige Fragen, die wir uns bei der Entwicklung unseres Smartphone stellen müssen, sind:

–       Werden bei Änderungen am System Funktionen unbrauchbar?

–       Soll das Gerät zu bedienen sein, wenn Hintergrundaktivitäten laufen?

–       Wie lange kann das Smartphone mit einer Akkuladung bertrieben werden?

–       Wie soll das Produkt auf Fehler reagieren?

Sie merken schon, die Vielfalt der NFAs hat es in sich. Darum endet der 1. Blogeintrag auch an dieser Stelle. Sie werden wahrscheinlich eh das Bedürfnis haben, Ihr Smartphone in die Hand zu nehmen. Tun Sie das nur und melden Sie sich gern mit Fragen oder Kommentaren bei SOPHIST – heureka@sophist.de oder 0911 – 40 900-0.

Hier finden Sie den 2.Teil dieser Blogserie.

3 Gedanken zu „Nicht-funktionale Anforderungen im Überblick Teil 1

  1. Die technologischen Anforderungen halte ich größtenteils für Randbedingungen. Diese Art von Anforderung ist also eher eine Bedingung, die den Problemlösungsraum eingrenzt. Somit würde ich eher die im IREB publizierte Struktur Funktionale Anforderung, Qualitätsanforderung und Randbedingung unterstützen. Es scheint mir, als wenn Sie sich davon abgrenzen. Viellicht können Sie die Gründe dafür aufführen. Ich wäre daran sehr interessiert.

    • Hallo Herr Baumann,

      vielen Dank für Ihren Kommentar zu diesem Thema.

      Ich glaube wir liegen bei den Begriffsdefinitionen nicht weit voneinander entfernt. Nimmt man die Einordnung nach IREB, zählen wir die technologischen Anforderungen auch zu den Randbedingungen.

      Ziel dieses Blog-Beitrags war die Beschreibung und Charakterisierung verschiedener NFA-Kategorien wie sie auch in unserem RE-Buch zu finden sind. Diese etwas feinere Aufteilung erleichtert es, ein Gefühl dafür zu bekommen, welche Inhalte in nicht-funktionalen Anforderungen beschrieben werden. Anhand dieser Inhalte haben wir Satzschablonen für nicht-funktionale Anforderungen entwickelt, die wir demnächst vorstellen werden. Eine grobe Einordnung in Qualitätsanforderungen und Randbedingungen reicht hierfür nicht aus.

      Viele Grüße
      André Pflüger

  2. Pingback: Was ist ein Product Owner? Welche Aufgaben hat der Product Owner? | Agile is limit

Schreibe einen Kommentar

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