Requirements Engineering

Abkürzungen

Requirements Engineering ist ein Begriff des Software Engineerings. Es umfasst das Sammeln, Dokumentieren, Analysieren und Verfolgen von Kundenanforderungen für ein zu erstellendes Softwareprodukt.

Requirements Engineering

Abkürzungen

Requirements Engineering ist ein Begriff des Software Engineerings. Es umfasst das Sammeln, Dokumentieren, Analysieren und Verfolgen von Kundenanforderungen für ein zu erstellendes Softwareprodukt.

Jedes Vorgehensmodell für Software-Entwicklungsprojekte enthält in unterschiedlicher Form Elemente des Requirements Engineering. Dies reicht von einer einmaligen Erstellung einer Spezifikation (V-Modell, PRINCE2) bis hin zum intensiven Einbeziehen des Kunden und der Anwender in einen iterativen Entwicklungsprozess (Rational Unified Process, Quality Function Deployment, Extreme Programming).

Es sind im wesentlichen drei Gründe, warum die Behandlung von Kundenanforderungen im Software-Entwicklungsbereich so anspruchsvoll ist:

  1. Das Sprachproblem: Die Anwender von Software beschreiben intuitiv, welche Ergebnisse sie vom Einsatz der Software erwarten. Die Software-Hersteller benötigen hingegen maschinengerechte Algorithmen.
  2. Das Umfeldproblem: Durch die hohe Innovationsrate im IT-Bereich gibt es keinen einheitlichen Stand der Technik, der sowohl für Anwender als auch für Hersteller eine gemeinsame Verständigungsbasis darstellen könnte.
  3. Instabilität der Anforderung: Die Anwender variieren im Laufe der Entwicklung ihre Anforderungen stark. Ein wesentlicher Grund hierfür ist die Veränderung der Arbeitsabläufe durch den Einsatz von Informationstechnologien. Die erstmalig formulierten Anforderungen beziehen sich auf den Stand ohne IT-Einsatz. Sobald dieser in die Neugestaltung der Arbeitsabläufe mit einbezogen wird, ergeben sich neue oder veränderte Anforderungen.

Die wichtigste Aufgabe von Requirements Engineering ist es, aus den Aussagen von Kunden und Anwendern für den Entwicklungsprozess verwertbare Aussagen zu erstellen. Kriterien für solche Aussagen sind:

  • Vollständigkeit. Dies bedeutet z.B., dass alle möglichen Eingaben hinsichtlich Format und Wertebereich bekannt sind.
  • Eindeutigkeit. Die Anforderungen dürfen nicht aus verschiedenen Perspektiven interpretierbar sein, sondern klare Definitionen enthalten.
  • Gültigkeit. Die Anforderungen müssen stets auf dem aktuellen Stand gehalten werden.
  • Konsistenz. Es dürfen keine Widersprüche zwischen Anforderungen untereinander oder gegenüber Rahmenbedingungen auftreten.
  • Überprüfbarkeit. Für die Abnahme muss eindeutig geregelt sein, wann eine Anforderung erfüllt ist oder nicht.
  • Realisierbarkeit. Die Anforderungen müssen technisch auf den für sie vorgesehenen Systemen erfüllbar sein.
  • Verständlichkeit. Alle Projektbeteiligten müssen die Anforderung verstehen können.

Im Projektverlauf umfasst Requirements Engineering im wesentlichen das traditionelle Konfigurationsmanagement inklusive Änderungsmanagement.

Bewertungen

Diese Funktion steht nur eingeloggten Nutzern zur Verfügung.
Gesamt
Bewertungen 7
Kommentare 0