RequirementsEngineering und -Management Professionelle, iterative Anforderungsanalyse für die Praxis 3., neu bearbeitete Auflage
HANSER
Inhalt Einleitung Liebe Leserin, lieber Leser, Ihre Reiseleitung: die SOPHISTen Ihre Meinung ist uns wichtig Danksagungen Die Autoren
1 1 4 4 5 6
1
Anforderungsqualität - der Maßstab Ihres Projekterfolges 9 1.1 Motivation für eine erfolgreiche Systemanalyse 10 1.1.1 Primäre Aufgaben einer Anforderung 11 1.1.2 Sekundäre Aufgaben einer Anforderung 12 1.1.3 Warum benötigen Sie ein funktionierendes RequirementsManagement? 12 1.2 Typische Probleme in der Anforderungsanalyse 16 1.2.1 Herausforderungen und Projektrisiken 16 1.3 Qualitätskriterien für jede einzelne Anforderung 20 1.3.1 Merkmale exzellenter Anforderungen 21 1.4 Qualitätskriterien für die Anforderungsspezifikation 27 1.5 Qualitätsstandards 33 1.6 Management-Zusammenfassung 34 1.7 Ausreichend motiviert für ein exzellentes Requirements-Engineering?... 35 1.8 Weiterführende Literatur 35
2
Das Bibliothekssystem Einführung in das durchgehende Beispiel
37
Von der Idee zum System 3.1 Das Need-to-Know-Prinzip 3.1.1 Der richtige Zeitpunkt
39 40 40
3
V \
Inhalt
VI
3.1.2 Das akkumulierte Wissen 3.1.3 Strukturierung des Wissens 3.1.4 Änderungstendenz von Anforderungen 3.2 Vorgehensmodelle 3.2.1 Konzepte der Vorgehensmodelle 3.2.2 Rational Unified Process 3.2.3 V-Modell 3.2.4 Agile Prozesse 3.2.5 eXtreme Programming 3.2.6 Systemanalyse-Prozesse 3.2.7 Die Rolle des Systemanalytikers 3.3 Object Engineering 3.3.1 Ziele, Stakeholder, Randbedingungen 3.3.2 Natürlichsprachliche Anforderungen 3.3.3 Das Analysemodell 3.3.4 Die Abnahmekriterien 3.3.5 Das Simulationsmodell (Prototyp) 3.3.6 Agiler Einsatz des Object Engineering 3.3.7 Abhängigkeiten der Artefakte 3.4 Projektrandbedingungen 3.4.1 Menschliche Einflussfaktoren 3.4.2 Organisatorische Rahmenbedingungen 3.4.3 Fachlicher Inhalt der Anforderungen 3.4.4 Die optimale Systemanalyse 3.5 Management-Zusammenfassung 3.6 Ist Ihr Vorgehen optimal für Ihre Problemstellung? 3.7 Weiterführende Literatur
Anforderungsermittlung - Hellsehen für Fortgeschrittene 4.1 Ran an die Kundenforderungen 4.1.1 Die Informationsquellen 4.1.2 Geeignete Ermittlungstechniken 4.1.3 Die Qual der Wahl 4.1.4 Die Projektrandbedingungen 4.2 Die entscheidenden Faktoren Ihres Produkts 4.2.1 Basisfaktoren ermitteln 4.2.2 Leistungsfaktoren abholen 4.2.3 Unbewusste Wünsche finden 4.3 Ermittlungstechniken - Kristallkugeln und Kartenlegen 4.3.1 Kreativitätstechniken 4.3.2 Beobachtungstechniken 4.3.3 Befragungstechniken 4.3.4 Vergangenheitsorientierte Techniken 4.3.5 Unterstützende Techniken 4.3.6 Manöver des letzten Augenblicks 4.4 Techniken erfolgreicher Hellseher 4.4.1 Entwicklung eines Bibliothekssystems 4.4.2 Entwicklung eines neuartigen elektronischen Spielzeugs
Management-Zusammenfassung Kennen Sie die Chancen und Risiken Ihres Projekts? Weiterführende Literatur
109 109 110
Stakeholder, Ziele und der Systemkontext 113 5.1 Ziele finden 115 5.1.1 Stakeholder: Ausgangspunkt und Mittelpunkt 116 5.1.2 Die derzeitige Realität unter die Lupe nehmen 117 5.1.3 Probleme erkunden und Optimierungspotenziale beschreiben.... 117 5.1.4 Ziele definieren 118 5.1.5 Ziele bewerten und entscheiden 119 5.2 Stakeholder finden 119 5.2.1 Rollen von Stakeholdern 121 5.2.2 Die Notation von Stakeholdern 125 5.2.3 Stakeholder-Relationship-Management - Die Pflege von Stakeholdern 125 5.3 Ziele klassifizieren 127 5.3.1 Klassifizierung von Zielen nach der Reichweite und dem Inhalt 127 5.4 Ziele beschreiben 130 5.5 Festlegung des Systemumfangs, -kontexts und der Systemgrenzen 131 5.5.1 Der Systembegriff 131 5.5.2 Die Kontextabgrenzung 133 5.6 Management-Zusammenfassung 135 5.7 Kennen Sie Ihre Ziele, Fesseln und Informanten? 135 5.8 Weiterführende Literatur 136
Anforderung oder Anforderung - der feine Unterschied 6.1 Unterschiedliche Anforderungen 6.1.1 Der Begriff der Anforderung 6.1.2 Notwendige Unterscheidungen 6.2 Gruppierung nach Art 6.2.1 Arten von Anforderungen 6.2.2 Merkmale der einzelnen Gruppen 6.2.3 Gründe für die Gruppierung nach Art 6.3 Gruppierung nach Detailebene 6.3.1 Gründe für die Gruppierung nach Detailebenen 6.3.2 Die Detailebenen 0 bis 4 6.4 Gruppierung nach Priorität 6.4.1 Allgemeines 6.4.2 Kritikalität 6.4.3 Rechtliche Verbindlichkeit 6.5 Beispiele 6.6 Management-Zusammenfassung 6.7 Kontrollfragen 6.8 Weiterführende Literatur
Dokumentation von Anforderungen ausgewählte Notationen im Überblick 7.1 Einleitung 7.2 Strukturierte Analyse 7.2.1 Das Kontextdiagramm 7.2.2 Verfeinerte Datenflussdiagramme 7.3 Use-Cases: Diagramm und Spezifikation 7.4 Das UML2-Aktivitätsdiagramm 7.5 Die Ereignisgesteuerte Prozesskette 7.6 Der UML2-Zustandsautomat 7.7 Der Programmablaufplan 7.8 Das Petrinetz 7.9 Szenarien 7.10 Das UML2-Sequenzdiagramm 7.11 Die Specification and Description Language (SDL) 7.12 Entity-Relationship-Modellierung/ER-Diagramm 7.13 Das UML2-Klassendiagramm 7.14 Das UML2-Objektdiagramm 7.15 Oberflächenmodelle und -dialoge 7.16 Entscheidungstabellen 7.17 Natürlichsprachliche Anforderungen 7.18 Die Wahl der richtigen Dokumentationstechniken 7.18.1 Einflussfaktoren bei der Wahl der Dokumentationstechniken 7.18.2 Auswahlempfehlungen 7.19 Management-Zusammenfassung 7.20 Haben Sie die passende Dokumentationstechnik gefunden? 7.21 Weiterführende Literatur
8
VIII
Der lange Weg vom Satz zur Anforderung 8.1 Das SOPHIST REgelwerk 8.1.1 Übertragung auf die Anforderungsanalyse 8.2 Sprachliche Effekte 8.2.1 Tilgungen 8.2.2 Generalisierungen 8.2.3 Verzerrungen 8.3 Weitere Aspekte der linguistischen Analyse 8.3.1 Redundanz 8.3.2 Nebensätze 8.3.3 Definitionen 8.3.4 Kommentare 8.3.5 Grafische Elemente in Anforderungen 8.4 Der Algorithmus zum SOPHIST REgelwerk 8.4.1 Der Algorithmus 8.5 Management-Zusammenfassung 8.6 Haben Sie Ihre Anforderungen auf die Couch gelegt? 8.7 Weiterführende Literatur
Anforderungsschablone - der Bauplan einer Anforderung 9.1 Linguistische und philosophische Grundlagen 9.2 Der schablonenbasierte Ansatz 9.3 Anforderungen - Schritt für Schritt 9.4 Semantische Präzisierung der Anforderungsschablone 9.4.1 Semantische Definitionen 9.4.2 Logische Operatoren 9.5 Fallbeispiel: Bibliothek 9.6 Konstruieren im Englischen 9.7 Erfahrungen aus der Praxis 9.7.1 Effektivität durch Softwareeinsatz 9.8 Management-Zusammenfassung 9.9 Sind Sie reif für Schablonen und eine definierte Begriffswelt? 9.10 Weiterführende Literatur
10 Die nicht-funktionalen Anforderungen in der Systementwicklung 10.1 Einleitung 10.2 Chancen durch nicht-funktionale Anforderungen 10.3 Besonderheiten beim Requirements Engineering 10.4 Handreichungen 10.4.1 Standard-Gliederungen 10.4.2 Wiederverwendung mit IVENA 10.5 Management-Zusammenfassung 10.6 Kontrollfragen 10.7 Weiterführende Literatur
269 270 270 274 276 276 283 286 287 287
11 Prüfen von Anforderungen ungeahntes Verbesserungspotenzial 11.1 Analytische Qualitätssicherung 11.1.1 Ziel guter Anforderungen 11.1.2 Mängel und Fehler 11.1.3 Vorgehen 11.2 Prüfen von Anforderungen 11.2.1 Prüftechniken 11.2.2 Hilfsmittel bei der Prüfung 11.2.3 Auswahl einer Technik 11.3 Fehlerkorrektur 11.3.1 Beheben von Fehlern 11.3.2 Konsolidierung divergierender Meinungen 11.3.3 Analytiker als Moderator 11.4 Management-Zusammenfassung 11.5 Stellen Sie die Qualität Ihrer Anforderungen sicher? 11.6 Weiterführende Literatur
12 Abnahmekriterien - der Prüfstein für Ihre Anforderungen 12.1 Einleitung 12.2 Arten von Abnahmekriterien
307 308 312 IX
Inhalt
12.3
12.4
12.5 12.6
12.7 12.8 12.9
12.2.1 Natürlichsprachliche Abnahmekriterien 312 12.2.2 Formalisierte Abnahmekriterien 316 Die richtigen Abnahmekriterien finden: Methoden und Strategien 319 12.3.1 Funktionsabdeckung 321 12.3.2 Äquivalenzklassenbildung 322 12.3.3 Grenzwertanalyse 324 12.3.4 Intuitive Abnahmekriterien-Ermittlung 326 12.3.5 Abnahmekriterien für nicht-funktionale Anforderungen 327 Mittels Abnahmekriterien Anforderungen verbessern 330 12.4.1 Mittels formalisierter Abnahmekriterien Anforderungen verbessern 330 12.4.2 Mittels natürlichsprachlicher Abnahmekriterien Anforderungen verbessern 333 Testszenarien - der rote Faden für Abnahmekriterien 336 Empfehlungen und Erfahrungen 341 12.6.1 Formulieren Sie die Abnahmekriterien während der Analyse!... 341 12.6.2 Formulieren Sie die Abnahmekriterien zu mittelfeinen Anforderungen! 342 12.6.3 Werden Sie sich über das Ziel klar, das Sie mit Abnahmekriterien verfolgen! 343 12.6.4 Achten Sie auf eine präzise Abbildung zwischen Anforderung und Abnahmekriterium! 344 12.6.5 Passen Sie die Art des Abnahmekriteriums der Art der Anforderung an! 344 12.6.6 Je höher die Kritikalität einer Anforderung ist, desto mehr Abnahmekriterien sind notwendig! 345 12.6.7 Abnahmekriterien für eine Anforderung soll jemand schreiben, der nicht die Anforderung geschrieben hat! 345 12.6.8 Verwenden Sie die Abnahmekriterien als Vertragsbestandteil!.. 346 Management-Zusammenfassung 346 Kontrollfragen 347 Weiterführende Literatur 348
13 Ordnung im Chaos- Requirements-Management 13.1 Einleitung 13.1.1 Herausforderungen 13.1.2 Auf den Rahmen kommt es an 13.2 Stakeholder und Prozess - individuell für jedes Projekt 13.2.1 Stakeholder und warum sie was fordern 13.2.2 Prozessfindung 13.3 Was verwaltet Requirements-Management 13.3.1 Welche Informationen 13.3.2 ... und was zu den Informationen dazu 13.4 Was das Wiederfinden erleichtert 13.4.1 Gliedern und Strukturieren 13.4.2 Filtern und Sortieren 13.5 Spielzüge des Requirements-Managements 13.5.1 Traceability
13.5.2 Versionierung und Verfeinerung 13.5.3 System Release, Baseline, Branch 13.5.4 Produktlinien und -familien 13.5.5 Auswertungen Am Simulator Management-Zusammenfassung Kennen Sie Ihr Chaos Weiterführende Literatur
14 Ergänzende Kurzgeschichten - was Sie vielleicht nicht wissen müssen 14.1 Requirements-Engineering & Offshore Development 14.1.1 Heilsversprechungen des Offshoring 14.1.2 Wie funktioniert Offshoring? 14.1.3 Vorteile von Offshoring 14.1.4 Risiken beim Offshoring 14.1.5 Der Offshore-Vertrag 14.1.6 RE in Offshore-Projekten 14.1.7 Fazit 14.2 Benutzerhandbuch als Anforderungsspezifikation 14.2.1 Doppelter Aufwand 14.2.2 Überschneidungen der Artefakte 14.2.3 Ziele und Leser der Artefakte 14.2.4 Das Vorgehen 14.2.5 Tipps für die Umsetzung 14.2.6 Diskussion 14.2.7 Fazit 14.3 Abnahmekriterien als Spezifikation 14.3.1 Die Vorgehensweise 14.3.2 Erfahrungswerte und Richtlinien 14.3.3 Vor- und Nachteile des Ansatzes 14.4 Requirements-Engineering im Projekt 14.4.1 Einleitung 14.4.2 Die Praxis zeigt 14.4.3 Die Anforderungen 14.4.4 ... zurück zur Praxis 14.4.5 Persönliche Erfahrungen 14.4.6 Fazit 14.5 Anforderungsmuster 14.5.1 Einführung 14.5.2 Grundlagen zu Anforderungsmustern 14.5.3 Anforderungsmuster am Beispiel 14.5.4 Fazit 14.6 Optik - Haptik - Akustik und deren Spezifikation 14.6.1 Stakeholder der HMI und ihrer Spezifikation 14.6.2 Eingrenzen weiterer Inhalte 14.6.3 Welche Arten von HMI-Spezifikationen werden benötigt? 14.6.4 Projektaufstellung aus HMI-Sicht
14.6.5 Fazit 14.7 Weiterführende Literatur 15 Und jetzt? Strategien zur Einführung 15.1 Grundsätzliche Überlegungen 15.1.1 Einführung heißt Veränderung 15.1.2 Angst und Widerstand und was Sie dagegen tun können 15.2 Aktivitäten der Einführung 15.2.1 Vorbereiten 15.2.2 Umsetzen und anpassen 15.3 Pilotprojekte 15.3.1 Was macht Projekte für eine Erprobung geeignet? 15.3.2 Was macht Projekte für eine Erprobung ungeeignet? 15.3.3 Kernfragen 15.4 Management-Zusammenfassung 15.5 Kontrollfragen 15.6 Weiterführende Literatur