Requirement

Definitionen

nach Grady Booch

Eine Anforderung ist eine Voraussetzung oder eine Fähigkeit, die ein System erfüllen muss. Das aktive Management der Anforderungen umfasst drei Aktivitäten:

  • Das Entdecken, Organisieren und Dokumentieren vom System geforderter Funktionalität und Zusammenhänge
  • Das Einschätzen der Änderungen dieser Anforderungen und das Einschätzen ihrer Auswirkungen
  • Das Verfolgen und Dokumentieren der vorgenommenen Änderungen und der Entscheidungen
Kru 1999

nach dem V-Modell

Sachgebiet: Sofware-Engineering
Messbare Eigenschaften, Forderungen und Merkmale.
Bemerkung:
Anforderungen müssen auf ihre Erfüllung hin geprüft werden können.

nach SOPHIST

Eine Anforderung ist eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Produktes, Prozesses oder der am Prozess beteiligten Personen.
Die Aufgaben von Anforderungen lassen sich in primäre und sekundäre Aufgaben unterteilen. Die Unterscheidung drückt aus, ob sich die Anforderungen unmittelbar oder nur mittelbar auf das Projekt auswirken.

Rupp, 2001

nach IEEE

Eine Anforderung ist:

  1. Eine Bedingung oder Fähigkeit, die von einem Benutzer (Person oder System) zur Lösung eines Problems oder zur Erreichung eines Ziels benötigt wird.
  2. Eine Bedingung oder Fähigkeit, die ein System oder Teilsystem erfüllen oder besitzen muss, um einen Vertrag, eine NOrm, eine Spezifikatio oder andere, formell vorgegebene Dokumente zu erfüllen.
  3. Eine dokumentierte Repräsentation einer Bedinung oder Eigenschaft gemäß 1) oder 2).
Rupp, 2010

nach CoCOO

Eine Anforderung ist eine Funktionalität bzw. Eigenschaft, die das Ergebnis (ein System) aufweisen muss.

CoCOO

nach Prof. Dr. Helmut Balzert

Aussage über eine zu erfüllende und/oder quantitative Eigenschaft eines Produkts; eine vom Auftraggeber Festgelegte Systemspezifikation, um ein System für den Entwickler zu definieren.

Helmut Balzert - Lehrbuch der Software-Technik

Klassifikation

  • Requirements werden üblicherweise als Spezifikation dessen, was realisiert werden soll, definiert. Sie sind damit sowohl eine Beschreibung des geforderten bzw. des gewünschten Systemverhaltens des Produkts, als auch eine Festschreibung des allgemeinen Rahmenbedingungen an die Produktentwicklung einschließlich der wesentlichen Forderungen an den Entwicklungsprozess.
  • Die Erarbeitung von Requirements sind ein iterativer Prozess zur systematischen Annäherung und Bestimmung der optimalen Produkteigenschaften.
  • Requirements müssen gewonnen bzw. erforscht, dokumentiert, geprüft, verwaltet und aktualisiert bzw. weiterentwickelt sowie deren Umsetzung im Produktentwicklungsprozess ständig kontrolliert werden.

Funktionale Anforderungen

  • Funktionale Requirements beschreiben was ein System/Produkt tun soll und nicht wie dies erreicht werden kann. Requirements Engineering legt damit den Grundstein die die Qualität des Produkts. → „Was tut das System?“ / „Was soll es aufgrund der Aufgabenstellung können?“
  • Eingaben (Daten, Ereignisse, Stimuli) und deren Einschränkungen
  • Funktionen, die das System ausführen können soll (Umformung von Daten, Verhaltensweisen abhängig von Stimuli), beschrieben durch extern sichtbare Effekte, d.h. aus der Sicht des Benutzers oder der Systemumgebung.
  • Ausgabe (Daten, Fehlermeldungen, Reaktionen des Systems)

Nicht-funktionale Anforderungen

  • Geben klare Aussagen zur Qualität des geplanten Produkts, zu den allgemeinen Anforderungen an das zu entwickelnde bzw. zu implementierende System als Ganzes, zu den Umständen, unter denen die geforderten Funktionalitäten zu erbringen sind (z.B. Art und Weise, wie etwas zu erbringen ist) und zu den Bedingungen, unter denen die Entwicklung abläuft.
  • Nicht-funktionale Anforderungen an ein System setzen die elementare Kenntnis über das funktionale Verhalten voraus.
  1. Qualitätsattribute der gewünschten Funktionen
  2. Anforderungen an das implementierte System als Ganzes → Produktrequirements
  3. Vorgaben für die Durchführung der Systemerstellung, d.h. wie und unter welchen Umständen soll das System erstellt werden? → Prozessrequirements

Qualitätsattribute

Produktrequirements

  • Realisierung in Software und/oder Hardware
  • Räumliche Verteilung von Komponenten
  • Einzuhaltende Schnittstellen (mit anderen Teilsystemen)
  • Qualität und Verständlichkeit der Systemdokumentation
  • Überlebensfähigkeit bei Störungen, Katastrophen usw.
  • Physikalische Sicherheit
  • Operationelle Sicherheit
  • Menschliche Faktoren

Prozessrequirements

  • Art der Entwicklung
  • Vorgehensweise bei der Entwicklung
  • Umfang des Projekts
  • Prioritäten und Änderbarkeit
    • grundlegende Annahmen
    • relative Bedeutung einzelner Anforderungen
    • Identifikation derjenigen Faktoren, bei denen Änderungen möglich oder wahrscheinlich sind
  • globale Vorgehensweise, Projektorganisation, Managementstruktur
  • zu verwendende Hilfsmittel (Methoden, Beschreibungsmittel, Werkzeuge)
  • Maßnahmen zur Qualitätssicherung
  • zur Verfügung stehende Ressourcen/ökonomische Aspekte
  • zu berücksichtigende Konventionen, Vorschriften, Richtlinien, Normen
  • Dokumentation
  • politische Einschränkungen (Geschäftspolitik, gesetzliche Vorschriften, Copyrights)
  • Qualifikation des Bedienpersonals
  • Konfigurationsmanagement
  • Wartung
  • Kundendienst
  • Schulung und Ausbildung

Anforderung an Prüfungen, Einführung, Betreuung und Betrieb

Anforderungen, die sich auf die Installation des neuen Systems beim Kunden beziehen:

  • Testvorbereitung und Test
  • Abnahmebedingungen, Freigabe, Endprüfung
  • Betriebsbeschränkungen
  • physikalische Einschränkungen und Umweltbedingungen

Kontext

Weiterführende Beiträge


Navigation

Alphabetischer Index
Akronyme