Jede Anforderung definiert "eine Bedingung oder Fähigkeit, die das System erfüllen bzw. erbringen muss".
Es gibt viele verschiedene Arten von Anforderungen. Eine Möglichkeit, Anforderungen zu kategorisieren, ist das
FURPS+-Modell [GRA92]. Das
Akronym FURPS beschreibt die Hauptkategorien der Anforderungen mit den folgenden Unterkategorien:
Das Pluszeichen ("+") in FURPS+ erinnert Sie an die Berücksichtigung von Anforderungen wie
(Siehe auch [IEEE Std 610.12.1990].)
Solche Kategorien und Beispiele nicht funktionaler Anforderungen können wie eine Prüfliste verwendet werden, um sich zu
fragen, ob Sie eine Anforderung in einer bestimmten Kategorie haben. Aber wie kommen Sie zu einer vollständigen Liste
mit geeigneten nicht funktionalen Anforderungen. Einige zusätzliche Quellen sind im Folgenden beschrieben:
-
Eine Beschreibung eines systematischen Ansatzes für die Erfassung von Anforderungen gemäß FURPS+ finden Sie im
Artikel
'Capturing Architectural Requirements' von Peter
Eeles auf der Website The Rational Edge (http://www.ibm.com/developerworks/rational/library/4706.html).
Dieser Artikel enthält einen Fragenkatalog, in dem eine Vielzahl nicht funktionaler Anforderungen und Fragen zur
Bestimmung ihrer Anwendbarkeit aufgelistet sind.
-
Das Software Engineering Institute hat ebenfalls einen Katalog mit 'allgemeinen Szenarios' (Beschreibungen von
erforderlichen Qualitätsattributen) erstellt, der für viele unterschiedliche Arten von Systemen wiederverwendet
werden kann, um Qualitätsanforderungen zu definieren. Weitere Informationen finden Sie in http://www.sei.cmu.edu/publications/documents/01.reports/01tr014.html or Software
Architecture in Practice, 2nd Ed., by Len
Bass, Paul Clements, and Rick Kazman (Addison-Wesley, 2003).
Funktionale Anforderungen geben Aktionen an, die das System ohne die Berücksichtigung physischer Einschränkungen
ausführen können muss. Diese werden am besten in einem Anwendungsfallmodell und in Anwendungsfällen beschrieben. Funktionale Anforderungen legen somit
das Eingabe- und Ausgabeverhalten eines Systems fest.
Anforderungen, die nicht funktionaler Natur sind, wie beispielsweise die im Folgenden aufgelisteten, werden zuweilen
nicht funktionale Anforderungen genannt. Viele Anforderungen sind nicht funktional und beschreiben nur Attribute
des Systems oder Attribute der Systemumgebung. Nicht funktionale Anforderungen sind Anforderungen, die Probleme wie die
folgenden beschreiben.
Funktionale Anforderungen:
-
Feature-Gruppen
-
Fähigkeiten
-
Sicherheit
Anforderungen an die Benutzerfreundlichkeit können in die folgenden Unterkategorien eingeteilt werden:
-
Menschliche Faktoren
-
Ästhetik
-
Konsistenz innerhalb der Benutzerschnittstelle
-
Online- und Kontexthilfe
-
Assistenten und Agenten
-
Benutzerdokumentation
-
Schulungsmaterial
Anforderungen an die Zuverlässigkeit beziehen sich auf:
-
Häufigkeit und Schweregrad von Fehlern
-
Wiederherstellbarkeit
-
Vorhersagbarkeit
-
Genauigkeit
-
Mittlere Zeit zwischen auftretenden Fehlern
Eine Leistungsanforderung stellt Bedingungen an die Funktionalität. Sie kann beispielsweise für eine bestimmte Aktion
Leistungsparameter für Folgendes vorgeben:
-
Geschwindigkeit
-
Effizienz
-
Verfügbarkeit
-
Genauigkeit
-
Durchsatz
-
Antwortzeit
-
Wiederanlaufzeit
-
Ressourcennutzung
Anforderungen an die Servicefreundlichkeit:
-
Testfähigkeit
-
Erweiterbarkeit
-
Anpassungsfähigkeit
-
Wartungsfreundlichkeit
-
Kompatibilität
-
Konfigurierbarkeit
-
Servicefreundlichkeit
-
Installierbarkeit
-
Lokalisierbarkeit (Internationalization)
Eine Designanforderung (oder Designvorgaben) spezifiziert oder schränkt das Design eines Systems ein.
Eine Implementierungsanforderung spezifiziert oder schränkt die Codierung oder Konstruktion eines Systems ein.
Beispiele:
-
erforderliche Standards
-
Implementierungssprachen
-
Richtlinien für die Datenbankintegrität
-
Ressourcengrenzen
-
Betriebsumgebungen
Eine Schnittstellenvoraussetzung spezifiziert Folgendes:
-
ein internes Element, mit dem ein System interagieren muss.
-
Vorgaben für Formate, Ablaufsteuerungen und andere Faktoren, die von einer solchen Interaktion verwendet werden
Eine physische Voraussetzung spezifiziert ein physisches Merkmal, das ein System besitzen muss, z. B.:
-
Material
-
Form
-
Größe
-
Gewicht
Dieser Typ von Anforderung kann für die Darstellung der Hardwarevoraussetzungen verwendet werden, z. B. die
erforderlichen Netzkonfigurationen.
|