Anforderungserhebung

Das Erheben der Anforderungen (englisch requirements engineering) ist ein Teil des Anforderungsmanagements im Systementwicklungsprozess sowie ein Teil der Business-Analyse. Ziel ist es, die Anforderungen des Auftraggebers an das zu entwickelnde System zu ermitteln.

Inhaltsverzeichnis

Definitionen

IEEE

Laut IEEE kann die Anforderungserhebung in Anforderungsaufnahme (requirements elicitation), Anforderungsanalyse (requirements analysis), Anforderungsspezifikation (requirements specification) und Anforderungsbewertung (requirements validation) unterteilt werden.[1] Diese Schritte überlappen einander und werden oft auch mehrfach – iterativ – durchgeführt.

SEI, Carnegie Mellon

Das Software Engineering Institute der Carnegie Mellon Universität unterscheidet in ihrem Capability Maturity Model Integration das Management von Anforderungen und die Entwicklung der Anforderungen[2].

Volere

In dem von den Robertsons entwickelten Vorgehensmodell Volere existieren Anforderungsspezifikation, Stakeholder-Analyse, Bedarfsanalyse, Analyse der Priorisierung und die Aufzeichnung der elementaren Anforderungen[3].

IIBA

Das International Institute of Business Analysis führt zu diesem Thema im Business Analysis Body of Knowledge drei Kapitel auf:[4] Anforderungserhebung (Anforderungen der Stakeholder ermitteln), Anforderungs-Management & Kommunikation (Anforderungen verwalten und kommunizieren, wiederverwendbare Anforderungen identifizieren, Anforderungen zusammenstellen, Anforderungen zur Genehmigung vorbereiten, Anforderungsänderungen managen), Anforderungsanalyse (Anforderungen priorisieren, strukturieren, Anforderungen in Textform dokumentieren, Anforderungen mit Grafiken/Modellen dokumentieren, auf inhaltliche Qualität prüfen, auf Übereinstimmung mit den Zielen prüfen).

Vorgehen

In allen oben genannten Modellen existieren die folgenden Schritte in der einen oder anderen Form. Dabei werden Anforderungen gesammelt (englisch elicitation), es soll durch Analyse ein gemeinsames Verständnis hergestellt werden, die Anforderungen müssen niedergeschrieben oder in Modellen niedergelegt, d. h. spezifiziert werden. Danach wird üblicherweise geprüft, ob das Ganze noch stimmig ist (englisch validation). Rund um diese Schritte existiert eine Verwaltung des Prozesses, das Management.

Sammeln, Analysieren

Beim Sammeln der Anforderungen (engl. elicitation) ist der Übersetzungsprozess zwischen Fachseite und Entwickler von besonderer Bedeutung. Folgende Kriterien sind zu erfüllen:

  • vollständig – alle Anforderungen des Kunden müssen explizit beschrieben sein, es darf keine impliziten Annahmen des Kunden über das zu entwickelnde System geben.
  • eindeutig definiert / abgegrenzt – präzise Definitionen helfen, Missverständnisse zwischen Entwickler und Auftraggeber zu vermeiden.
  • verständlich beschrieben – damit sowohl der Auftraggeber als auch der Entwickler mit vertretbarem Aufwand die gesamten Anforderungen lesen und verstehen kann.
  • atomar – es darf nur eine Anforderung pro Abschnitt oder Satz beschrieben sein. Das Kriterium für ein „Atom“ sollte die Entscheidbarkeit einer Anforderung sein.
  • identifizierbar – jede Anforderung muss eindeutig identifizierbar sein (z. B. über eine Kennung oder Nummer).
  • einheitlich dokumentiert – die Anforderungen und ihre Quellen sollten nicht in unterschiedlichen Dokumenten stehen oder unterschiedliche Strukturen haben.
  • notwendig – gesetzliche Vorschriften sind unabdingbar.
  • nachprüfbar – die Anforderungen sollten mit Abnahmekriterien verknüpft werden, damit bei der Abnahme geprüft werden kann, ob die Anforderungen erfüllt wurden. Testfälle werden aus den Abnahmekriterien abgeleitet. Siehe auch Verifizierung.
  • rück- und vorwärtsverfolgbar – damit einerseits erkennbar ist, ob jede Anforderung vollständig erfüllt wurde und andererseits für jede implementierte Funktionalität erkennbar ist, aus welcher Anforderung sie resultiert, also nicht Überflüssiges entwickelt wird. Siehe Rückverfolgbarkeit (Anforderungsmanagement).
  • Konsistenz – Konsistenz beschreibt den Grad, in dem die definierten Anforderungen untereinander widerspruchsfrei sind.

Das Ergebnis der Anforderungsaufnahme ist das Lastenheft.

Strukturierung und Abstimmung

Nach der Erfassung muss eine Strukturierung und Klassifizierung der Anforderungen vorgenommen werden. Damit erreicht man, dass die Anforderungen übersichtlicher werden. Dies wiederum erhöht das Verständnis von den Beziehungen zwischen den Anforderungen. Kriterien sind hierbei: abhängig (Anforderungen müssen daraufhin überprüft werden, ob eine Anforderung die Voraussetzung für eine andere ist bzw. sich gegenseitig bedingen oder ob sie unabhängig voneinander realisieren lassen), zusammengehörig (Anforderungen, die fachlich-logisch zusammengehören, sollten nicht allein realisiert werden), rollenbezogen (jede Benutzergruppe hat ihre eigene Sicht auf die Anforderungen, die damit unterstützt werden soll; siehe Benutzerrolle).
Weitere Strukturierungsmöglichkeiten sind Funktionale und nichtfunktionale Anforderungen sowie fachlich motivierte (fachliche und technische) und technisch motivierte (nur technische) Anforderungen.
Die so strukturierten Anforderungen müssen dann zwischen Kunde und Entwickler abgestimmt werden. Diese Abstimmung kann gegebenenfalls zu einem iterativen Prozess werden, der zur Verfeinerung der Anforderungen führt.

Prüfung und Bewertung

Nach der Strukturierung, zum Teil auch parallel dazu, erfolgt die Qualitätssicherung der Anforderungen nach diesen Qualitätsmerkmalen:

  • korrekt – die Anforderungen müssen insbesondere widerspruchsfrei sein. Siehe Korrektheit (Informatik).
  • machbar – die Anforderung muss realisierbar sein. Siehe Machbarkeit.
  • notwendig – was nicht vom Auftraggeber gefordert wird, ist keine Anforderung.
  • priorisiert – es muss erkennbar sein, welche Anforderungen am wichtigsten sind. Ziel der Priorisierung ist es, häufig benötigte oder dem Kunden besonders wichtige Funktionen vor den weniger häufig benötigten bereitzustellen. Man erreicht es über eine Quantifizierung der Funktionszweige.
  • nutzbar, nützlich – auch bei teilweiser Realisierung soll bereits ein produktives System entstehen.
  • benutzerfreundlich – die Benutzerfreundlichkeit des Systems muss sichergestellt sein.

Das Ergebnis der Prüfung stellt die Basis für das Pflichtenheft dar.

Literatur

  • Christof Ebert: Systematisches Requirements Engineering und Management dpunkt.Verlag, Heidelberg, 2008, ISBN 978-3-89864-546-1
  • Colin Hood, Simon Wiedemann, Stefan Fichtinger, Urte Pautz: Requirements Management: Interface Between Requirements Development and All Other Engineering Processes Springer, Berlin 2007, ISBN 3-540-47689-X
  • Klaus Pohl: Requirements Engineering: Grundlagen, Prinzipien, Techniken dpunkt.Verlag, Heidelberg, 2008, ISBN 3-898-64550-9
  • Suzanne Robertson, James Robertson: Mastering the Requirements Process. Addison-Wesley Professional, Boston, Massachusetts 2nd Edition 2006, ISBN 0-321-41949-9
  • Chris Rupp & die SOPHISTen: Requirements Engineering und Management. Professionelle, iterative Anforderungsanalyse für die Praxis, Hanser 2009, ISBN 3-446-41841-5
  • Bruno Schienmann: Kontinuierliches Anforderungsmanagement: Prozesse – Techniken – Werkzeuge. Addison-Wesley, München 2001, ISBN 3-8273-1787-8
  • Götz Schmidt: Organisation und Business Analysis - Methoden und Techniken. 14 Auflage. Gießen 2009, ISBN 978-3-921313-78-7.
  • Karl E. Wiegers: Software Requirements. Microsoft Press, Redmond, Washington 2nd Edition 2003, ISBN 0-7356-1879-8

Weblinks

Einzelnachweise

  1. Alain Abran, James W. Moore (Hrsg.): SWEBOK: Guide to the Software Engineering Body of Knowledge. IEEE Computer Society, Los Alamitos, Kalifornien, USA 2004, ISBN 0-7695-2330-7, S. 2-2.
  2. CMMI Product Team; Software Engineering Institute, Carnegie Mellon (Hrsg.): CMMI® for Development, Version 1.2, Improving processes for better products. Pittsburgh, PA 15213-3890, USA 2006.
  3. http://www.volere.co.uk/books.htm
  4. http://www.iiba.org/AM/Template.cfm?Section=Body_of_Knowledge&Template=/CM/HTMLDisplay.cfm&ContentID=9205

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Requirements Management — Anforderungsmanagement (AM, englisch Requirements Management, RM) ist eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Es umfasst die Anforderungserhebung (Requirements Engineering) sowie Maßnahmen zur… …   Deutsch Wikipedia

  • Requirements Management System — Ein Requirements Management System ist eine Anwendungsprogramm, in der Anforderungen (englisch requirements) verwaltet werden. Die Anforderungen werden dort atomisiert dargestellt, d. h. eine Anforderung pro Zeile. Dies schafft die… …   Deutsch Wikipedia

  • Requirements management — Anforderungsmanagement (AM, englisch Requirements Management, RM) ist eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Es umfasst die Anforderungserhebung (Requirements Engineering) sowie Maßnahmen zur… …   Deutsch Wikipedia

  • Requirementsmanagement — Anforderungsmanagement (AM, englisch Requirements Management, RM) ist eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Es umfasst die Anforderungserhebung (Requirements Engineering) sowie Maßnahmen zur… …   Deutsch Wikipedia

  • Anforderungsdefinition — In der (Software )Technik ist eine Anforderung (häufig engl. requirement) eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Produktes, Systems oder Prozesses. Anforderungen werden in der Anforderungserhebung… …   Deutsch Wikipedia

  • Funktionale Anforderung — In der (Software )Technik ist eine Anforderung (häufig engl. requirement) eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Produktes, Systems oder Prozesses. Anforderungen werden in der Anforderungserhebung… …   Deutsch Wikipedia

  • Softwaretechnik — Die Softwaretechnik ist eine deutschsprachige Übersetzung des engl. Begriffs software engineering und beschäftigt sich mit der Herstellung bzw. Entwicklung von Software, der Organisation und Modellierung der zugehörigen Datenstrukturen und dem… …   Deutsch Wikipedia

  • Anforderungskatalog — Ein Lastenheft (teils auch Anforderungsspezifikation, Kundenspezifikation oder Requirements Specification) beschreibt die Gesamtheit der Forderungen des Auftraggebers an die Lieferungen und Leistungen eines Auftragnehmers. Ein wesentlicher… …   Deutsch Wikipedia

  • Anforderungsmanagement — (AM) (englisch Requirements Management (RM)) ist ein Teilgebiet des Requirements Engineerings (RE) sowie ein Teilgebiet der Business Analyse und eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Weitere… …   Deutsch Wikipedia

  • Anwendungsentwicklung — Die Softwaretechnik (engl. software engineering) beschäftigt sich mit der Herstellung von Software, also der Entwicklung und dem Betrieb von Softwaresystemen und der Organisation und Modellierung der zugehörigen Datenstrukturen. Eine Definition… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”