Requirement: „Eine Bedingung oder Fähigkeit, die
eine
Software erfüllen oder besitzen muss, um einen Vertrag, eine
Norm
oder ein anderes, formell bestimmtes Dokument zu erfüllen."
(IEEE
610.12-1990)
Die zentrale
Funktion des
Requirementsengineerings ist das Sammeln,
Formalisieren und
Bewerten von Anforderungen.
Dabei gilt es
die Anforderungen eindeutig zu formulieren und
vollständig zu erfassen. Kommt es hierbei zu Lücken,
kann
dies später zu erheblichen Mehraufwänden bzw.
Verzögerungen in der Abwicklung des Vorhabens führen.
Um dies
zu gewährleisten ist eine einheitliche Strukturierung der
Dokumentation unerlässlich. Besonders in
großen Projekten kommt dem Anforderungsmanagement
besondere Bedeutung zu.
Requirements können in unterschiedlichen Ebenen definiert werden.
Die Spanne reicht hier von High-Level Requirements (z.B. Reduktion der
Kosten um 10%) bis hin zu konkreten Funktionen einer Software (z.B.
Möglichkeit zum Sortieren einer Liste).
Auch die adequate Beschreibung der Requirements kann je nach konkretem
Anwendungsfall variieren. So kommen hier unter anderem User
Stories, Use Case Diagramme, Prozessmodelle oder Prototypen zum
Einsatz.