Requirements Engineering - Ein Modul aus der Informatik

Studien zu den Gründen für den Erfolg und Misserfolg von Software- und Hardwareprojekten zeigen, dass die Ermittlung der Anforderungen an ein System sowie die Einbeziehung der Auftraggeber, der zukünftigen Nutzer und anderer Beteiligter (Stakeholder) in diesen Prozess eine entscheidende Rolle spielen. Eine Anforderung ist in diesem Zusammenhang eine Eigenschaft eines Systems, die zur Zweckerfüllung dient. Zu Beginn eines Projektes gibt es aber oft nur vage Vorstellungen über den Zweck und die Verwendung des zu entwickelnden Systems. Die Stakeholder können dabei unterschiedliche, sich teilweise sogar widersprechende Ziele verfolgen.

Im Requirements Engineering geht es unter anderem darum, die Systemanforderungen zu ermitteln und auf verschiedene Art zu beschreiben. Dabei benötigen zum Beispiel die Systementwickler formale Beschreibungen (Spezifikationen), die meist mit Hilfe einer speziellen graphischen oder mathematischen Notation erstellt werden. Auf diese Weise soll sichergestellt werden, dass die Beschreibungen vollständig und eindeutig sind und die Entwickler die Anforderungen "richtig" im Produkt umsetzen. Kunden und Nutzer benötigen dagegen allgemeinverständliche Beschreibungen möglicher Anforderungen. Solche Beschreibungen dürfen nicht zu abstrakt formuliert sein und müssen eine Diskussion unter den Stakeholdern anregen. Es soll eine gemeinsame Sicht auf die Anforderungen und die Folgen des Technikeinsatzes entstehen können.

Nicht ohne Grund findet man auf dem Gebiet der Anforderungsanalyse die höchst dotierten Stellen. Ein Anforderungsanalytiker benötigt nicht nur technisches Wissen. Er muss die Fähigkeit besitzen, sich Wissen in einer Anwendungsdomäne anzueignen und er muss die Kommunikation zwischen den Stakeholdern fördern und Entscheidungen herbeiführen können.  

Das Modul "Requirements Engineering" besteht aus Vorlesungen und Übungen. In den Vorlesungen werden die Herausforderungen der Anforderungsanalyse näher betrachtet und entsprechende Methoden, Techniken und Werkzeuge vorgestellt und miteinander verglichen. In den Übungen wird das vermittelte Wissen anhand einer durchgehenden Problemstellung praktisch angewendet.
Das Modul kann bei Bedarf auf Englisch gehalten werden und richtet sich alle Studenten der Fakultät. Aber auch an fachfremde Studenten können von dieser Veranstaltung profitieren, da sich viele Methoden auch in anderen Gebieten anwenden lassen. Es sind keine speziellen Programmierkenntnisse erforderlich.

Eine Studentin aus dem Sommersemester 2016: "Ich lerne am liebsten direkt in der Veranstaltung. Die Vorlesungen und vor allem die Kombination mit den sehr anwendungsorientierten Übungen, wie wir es in Requirements Engineering hatten, sind richtig klasse!"