Die Anforderungsanalyse (englisch requirements analysis) ist in der Informatik ein Teil des Systementwicklungsprozesses (u. a. neben dem Anforderungsmanagement) sowie ein Teil der Business-Analyse. Ziel ist es, die Anforderungen des Auftraggebers an das zu entwickelnde System zu ermitteln, zu strukturieren und zu prüfen. Das Ergebnis einer Anforderungsanalyse wird meistens in einem Lastenheft dokumentiert oder bei einer agilen Softwareentwicklung resultiert daraus ein Product Backlog.
Bestandteile Bearbeiten
Führende Organisationen nennen für die Anforderungsanalyse folgende Bestandteile:
Nach IEEE Bearbeiten
Laut IEEE kann das requirements engineering unterteilt werden in:
- Anforderungserhebung (requirements elicitation),
- Anforderungsanalyse (requirements analysis),
- Anforderungsspezifikation (requirements specification) und
- Anforderungsbewertung (requirements validation)
Diese Tätigkeiten überlappen einander und werden oft auch mehrfach – iterativ – durchgeführt.
Nach CMMI Bearbeiten
Das Software Engineering Institute (SEI) der Carnegie Mellon Universität unterscheidet in ihrem Capability Maturity Model Integration
- die Entwicklung der Anforderungen und
- das Management von Anforderungen.
Nach Volere Bearbeiten
In dem von den Robertsons entwickelten Vorgehensmodell Volere existieren
- Anforderungsspezifikation,
- Stakeholder-Analyse,
- Bedarfsanalyse,
- Analyse der Priorisierung und
- Aufzeichnung der elementaren Anforderungen.
Nach IIBA Bearbeiten
Das International Institute of Business Analysis (IIBA) führt zu diesem Thema im Business Analysis Body of Knowledge (BABOK) drei Kapitel auf:
- 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.
Nach IREB Bearbeiten
Das International Requirements Engineering Board (IREB) listet zu diesem Thema im Lehrbuch für die Zertifizierung zum Certified Professional for Requirements Engineering (CPRE) vier Kapitel auf:
- Ermitteln: Beim Ermitteln der Anforderungen werden verschiedene Techniken genutzt, um die Anforderungen der Stakeholder und anderer Quellen zu gewinnen, zu detaillieren und zu verfeinern.
- Dokumentieren: Durch die Dokumentation werden erarbeitete Anforderungen adäquat beschrieben.
- Prüfen und abstimmen: Dokumentierte Anforderungen müssen frühzeitig geprüft und abgestimmt werden, um zu gewährleisten, dass sie allen geforderten Qualitätskriterien genügen.
- Verwalten: Die Anforderungsverwaltung geschieht flankierend zu allen anderen Aktivitäten und umfasst alle Maßnahmen, die notwendig sind, um Anforderungen zu strukturieren, für unterschiedliche Rollen aufzubereiten sowie konsistent zu ändern und umzusetzen.
Vorgehen Bearbeiten
In allen oben genannten Modellen existieren die folgenden Schritte in der einen oder anderen Form. Dabei werden Anforderungen gesammelt (englisch elicitation); durch Analyse soll ein gemeinsames Verständnis hergestellt werden; die Anforderungen werden textlich oder in Modellen dokumentiert, d. h. spezifiziert. Danach wird üblicherweise geprüft, ob das Ganze noch stimmig ist (englisch validation). Rund um diese Schritte existiert Verwaltung und Management des Prozesses.
Ermittlung, Analyse Bearbeiten
Beim Sammeln der Anforderungen (engl. elicitation) ist der Übersetzungsprozess zwischen Fachseite und Entwickler von besonderer Bedeutung. Folgende Kriterien sind zu erfüllen:
Das Ergebnis der Anforderungsaufnahme ist eine Liste mit Anforderungen. Diese kann z. B. in ein Lastenheft überführt werden.
Strukturierung und Abstimmung Bearbeiten
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 der Beziehungen zwischen den Anforderungen. Kriterien sind hierbei:
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 Bearbeiten
Nach der Strukturierung, zum Teil auch parallel dazu, erfolgt die Qualitätssicherung der Anforderungen nach Qualitätsmerkmalen:
Das Ergebnis der Prüfung stellt die Basis für das Pflichtenheft dar. Die Bewertungen stehen teilweise in Konkurrenz zueinander. Eine Realisierung von nur als hoch priorisierten Aufgaben erbringt nicht automatisch ein produktives System. Bei der Bewertung ist nicht nur die Einzelfunktion für sich, sondern auch ihr Wirken im Gesamtsystem zu betrachten.
Literatur Bearbeiten
- Christof Ebert: Systematisches Requirements Engineering und Management. 4. Auflage. dpunkt.Verlag, Heidelberg 2012, ISBN 978-3-89864-812-7.
- 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.
- Helmuth Partsch: Requirements-Engineering systematisch. 2. Auflage. Springer, Heidelberg 2010, ISBN 978-3-642-05357-3.
- Klaus Pohl: Requirements Engineering: Grundlagen, Prinzipien, Techniken. dpunkt.Verlag, Heidelberg 2008, ISBN 3-89864-550-9.
- Suzanne Robertson, James Robertson: Mastering the Requirements Process. 2. Auflage. Addison-Wesley Professional, Boston, Massachusetts 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.
- Karl E. Wiegers: Software Requirements. 2. Auflage. Microsoft Press, Redmond, Washington 2003, ISBN 0-7356-1879-8.
Weblinks Bearbeiten
- Arbeitskreis „Requirements“ der GI/GChACM-Regionalgruppe München. Neben einer ausführlichen Literatur- und Linkliste sind hier auch die Vortragsfolien der monatlich stattfindenden Veranstaltungen zu finden.
- Fachgruppe „Requirements Engineering“ der Gesellschaft für Informatik
- International Requirements Engineering Conference
- ReConf: deutschsprachige Konferenz, die sich mit Requirements Engineering aus Sicht der Wissenschaft und der Industrie auseinandersetzt.
Einzelnachweise Bearbeiten
- 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.
- CMMI Product Team: CMMI® for Development, Version 1.2, Improving processes for better products. Hrsg.: Software Engineering Institute, Carnegie Mellon. Pittsburgh, Pennsylvania 2006.
- (Memento des vom 25. Januar 2008 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- Klaus Pohl, Chris Rupp: Basiswissen Requirements Engineering. Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level. 4. Auflage. dpunkt, Heidelberg 2015, ISBN 978-3-86490-283-3.