Einführung in das Thema Requirements Engineering
In diesem Kapitel werden Grundlagen besprochen, welchen Lösungsansatz das Requirements Engineering verfolgt, um bessere Anforderungen zu gewinnen.
- Was Requirements Engineering ist
- Was Anforderungen sind
- Warum Anforderungen dokumentiert werden müssen
- Die Aufgaben des Requirements Engineerings
- Die Bedeutung der Stakeholder
- Der Stakeholder und Kontext als Quelle von Anforderungen
- Die Aufgabenverteilung zwischen Stakeholder und Requirements Engineer
- Die Rolle der Kommunikation im Requirements Engineering
Den Kontext der Anforderungen festlegen
Anforderungen sind immer für einen Kontext definiert. Ohne Kenntnis des Kontext kann man deshalb Anforderungen häufig nicht richtig interpretieren. In diesem Kapitel lernt man, woraus der Kontext besteht, welche Bedeutung die System- und die Kontextgrenze haben und wie man den Systemkontext dokumentiert.
Arten von Anforderungen
In diesem Kapitel werden die unterschiedlichen Arten von Anforderungen besprochen. Außerdem werden Kriterien besprochen, mit deren Hilfe man Anforderungen einordnen kann.
- Anforderungstypen nach IREB (Funktionale Anforderungen, Qualitätsanforderungen und Randbedingungen) unterscheiden
- Anforderungstypen nach BABOK unterscheiden>Business-, System- und Softwareanforderungen unterscheiden können
- Technische Anforderungen erkennen
- Nicht-funktionale Anforderungen erkennen
- Constraints
- Geschäftsregeln
- Detaillierungsebenen/Granularitäten von Anforderungen verwenden
- Ziele und Anforderungen abgrenzen
Analyse von natürlichsprachigen Anforderungen
In diesem Kapitel wird ein umfangreiches Regelwerk vorgestellt, mit dessen Hilfe man sprachliche Phänomene identifiziert, die häufig zu unklaren Anforderungen führen. Außerdem wird ein Katalog zur inhaltlichen und zur formalen Prüfung von Anforderungen behandelt.
- Inhaltliche Analyse
- Sprachlich-linguistische Analyse
- Analyse formaler Aspekte
Konstruktion von natürlichsprachigen Anforderungen
Natürlichsprachige Anforderungsdokumentationen bedienen sich sog. Sprachschablonen, um möglichst präzise Anforderungen zu dokumentieren. In diesem Kapitel besprechen wir unterschiedliche Schablonen, die den Requirements Engineer dabei unterstützen, Anforderungen zu formulieren.
- Gründe für den Einsatz natürlichsprachiger Anforderungsdokumentation
- Funktionale Anforderungen formulieren
- Nicht-funktionale Anforderungen formulieren
- Qualitätsanforderungen formulieren
- Akzeptanz- bzw. Abnahmebedingungen formulieren
- Abstrakte und konkrete Abnahmekriterien formulieren
- Eigenschaften, Beziehungen, Generalisierungen und Zustandsveränderungen formulieren
- Rechtliche Verbindlichkeiten definieren (MOSCOW, IREB, FAQ)
- Prozesswörter, Begriffe, Abkürzungen definieren
- Ziele präzise dokumentieren (SMART-Kriterien)
- Mögliche Erweiterungen (z.B. für Dienstleistungen)
- Use Cases formulieren
- Grenzen und Einschränkungen des Ansatzes beachten (Akzeptanz, Grenzen natürlicher Sprache)
Qualitätskriterien für Anforderungen und Anforderungsdokumente
In diesem Kapitel werden Kriterien besprochen, mit deren Hilfe man Anforderungen und Anforderungsdokumente prüfen kann.
- Qualitätskriterien für Anforderungen: eindeutig, atomar konsistent, klare Struktur, modifizierbar, erweiterbar, vollständig, verfolgbar
- Qualitätskriterien für Anforderungsdokumente: abgestimmt, bewertet, eindeutig, gültig, aktuell, korrekt, konsistent, realisierbar, verfolgbar, vollständig, verständlich
- Weitere Kriterien
Große Anforderungsmengen gliedern und strukturieren
In diesem Kapitel wird u.a. dargestellt, welche Vorlagen und Standards verwendet werden, um Anforderungen zu dokumentieren. Es wird besprochen, wie man Anforderungen gliedert und welche Informationen in einer Standardgliederung sehr empfehlenswert sind.
- Verbreitete Standardgliederungen kennen
- Notwendige Elemente einer angepassten Standardgliederung beachten
- Anforderungen entsprechend der Produktstruktur zuordnen
- Unterschiedliche Möglichkeiten, funktionale Anforderungen zu gliedern
- Unterschiedliche Möglichkeiten, nichtfunktionale-Anforderungen zu gliedern
- Handlungsoptionen für die hierarchische Gliederung von Anforderungen