Stichwort: Requirements Engineering Was ist Requirements Engineering?
Requirements Engineering (RE) ist ein systematischer Ansatz zur Spezifizierung und Verwaltung von Anforderungen für ein System, ein Produkt oder eine Software. Es umfasst Aktivitäten wie das Erfassen, Analysieren, Dokumentieren, Validieren und Verwalten von Anforderungen.
RE umfasst den Prozess der systematischen Spezifizierung und Verwaltung von Anforderungen für ein System, ein Produkt oder eine Software. Es beantwortet Fragen wie: Welche Fähigkeiten und Eigenschaften braucht das gewünschte Produkt? Wie können wir diese Anforderungen spezifizieren (d. h. sammeln, analysieren, dokumentieren und validieren)? Wie sollten die Anforderungen verwaltet werden (Freigabe, Änderung und Rückverfolgung)?
Aktivitäten
Zu den Schlüsselaktivitäten des Requirements Engineerings zählen:
- Anforderungsermittlung und -verfeinerung: Identifizieren und Detaillieren von Anforderungen.
- Dokumentation: Angemessene Beschreibung der Anforderungen.
- Qualitätssicherung: Sicherstellung der Anforderungsqualität.
- Anforderungsmanagement: Verwalten von Anforderungen.
Warum sollten wir RE-Methoden einsetzen?
Gründe für die Durchführung von Requirements Engineering:
- Verstehen der Erwartungen der Stakeholder: Zu wissen, was die Stakeholder erwarten, ist entscheidend für die Entwicklung eines Produkts, das diese Erwartungen erfüllt. Stakeholder-Management zur Identifizierung, Analyse und Kommunikation ist ein wesentlicher Bestandteil des RE.
- Erfolgreiche Implementierung: Eine umfassende, eindeutige und konsistente Spezifikation der Anforderungen (z. B. in einer Software-Anforderungsspezifikation) ist für eine erfolgreiche Implementierung unerlässlich.
Requirements-Engineering-Normen
Normen und Ressourcen:
- ISO/IEC/IEEE 29148:2018: Enthält Richtlinien für Requirements Engineering-Prozesse während des gesamten Lebenszyklus von Systemen und Softwareprodukten1.
- Das International Requirements Engineering Board (IREB) und das International Institute of Business Analysis (IIBA) bieten wertvolle Einblicke in RE-Praktiken.
- Es existieren zahlreiche branchenspezifische Normen, die eine wichtige Rolle bei der Gewährleistung eines einheitlichen und effektiven Requirements Engineerings spielen.
Requirements-Engineering-Tools
Requirements-Engineering-Tools erleichtern den Requirements-Engineering-Prozess und gestalten ihn systematischer und formalisierter. Sie helfen bei der Verwaltung von Anforderungen, der Rückverfolgbarkeit und dem Änderungsmanagement während des gesamten Projektlebenszyklus. In verschiedenen Richtlinien wird betont, wie wichtig die Auswahl eines geeigneten Anforderungswerkzeugs zu Beginn des Projekts ist, da ein Wechsel des Werkzeugs während des Projekts zu Komplikationen führen kann.
Fähigkeiten von Requirements-Engineering-Tools
Laut ISO/IEC TR 24766:2009 gibt es sechs Hauptfähigkeiten, die Requirements Engineering Tools besitzen sollten:
- Anforderungserhebung: Sammeln von Anforderungen von Stakeholdern.
- Anforderungsanalyse: Evaluierung und Verfeinerung von Anforderungen.
- Anforderungsspezifikation: Dokumentieren von Anforderungen in einer klaren und strukturierten Weise.
- Anforderungsverifizierung und -validierung: Sicherstellen, dass die Anforderungen durch Tests und Überprüfungen erfüllt werden.
- Anforderungsmanagement: Organisation und Kontrolle von Änderungen an Anforderungen während ihres gesamten Lebenszyklus.
- Andere Fähigkeiten: Dazu kann die Integration mit anderen Tools und Methoden gehören, wie z.B. agile Praktiken oder modellbasiertes Systems Engineering (MBSE).
Vorteile von Anforderungsmanagement-Tools
Der Einsatz eines Anforderungsmanagement-Tools bietet mehrere Vorteile:
- Verbesserte Kommunikation: Erleichterterung der Kommunikation zwischen den Beteiligten durch die Bereitstellung einer gemeinsamen Plattform für die Verwaltung von Anforderungen.
- Nachvollziehbarkeit: Stellt klare Verbindungen zwischen verschiedenen Anforderungen und anderen Projektartefakten her und vereinfacht so die Überprüfungsprozesse.
- Änderungsmanagement: Hilft bei der effizienten Kontrolle von Anforderungsänderungen und reduziert das Fehler- und Nachbearbeitungspotenzia.
- Kollaborationsfunktionen: Viele Werkzeuge unterstützen kollaborative Arbeitsumgebungen, die es Teams ermöglichen, nahtlos an Anforderungsdefinitionen und -änderungen zusammenzuarbeiten.
Populäre Requirements-Engineering-Tools
Mehrere Tools sind für ihre Effektivität bei der Verwaltung von Anforderungen in verschiedenen Bereichen bekannt:
- IBM Rational DOORS: Ein umfassendes Tool, das für seine robusten Nachverfolgbarkeits- und Änderungsmanagementfunktionen bekannt ist und häufig in komplexen Projekten eingesetzt wird.
- Jama Software: Bietet umfangreiche Funktionen für die Zusammenarbeit und das Berichtswesen und eignet sich daher für große Teams, die an komplizierten Projekten arbeiten.
- Valispace: Speziell für das Hardware-Engineering entwickelt, ermöglicht es die Echtzeit-Verknüpfung von Anforderungen mit technischen Daten und verbessert so das Verständnis des Systemdesigns.
- ReqView: Eine Cloud-basierte Lösung, die kollaboratives Anforderungsmanagement unterstützt.
- Helix RM: Bekannt für seine starken Integrationsfähigkeiten mit anderen Entwicklungswerkzeugen.
Sie haben Fragen zu Requirements-Engineering? Dann sprechen Sie mich an und vereinbaren Sie einen Termin mit mir. .
|