Chris Rupp SOPHIST GROUP Requirements- Engineering und -Management Professionelle, iterative Anforderungsanalyse für IT-Systeme 2., überarbeitete Auflage HANSER
Inhalt Einleitung 1 Liebe Leserin, lieber Leser 1 Wer die SOPHISTen sind 4 Ihre Meinung ist uns sehr wichtig 4 Danksagungen 5 Die Autoren 6 1 Anforderungsqualität - Der Maßstab Ihres Projekterfolges 11 1.1 Motivation für eine erfolgreiche Systemanalyse 12 1.1.1 Primäre Aufgaben einer Anforderung 13 1.1.2 Sekundäre Aufgaben einer Anforderung 14 1.1.3 Warum benötigen Sie funktionierendes Requirements Management? 15 1.2 Typische Probleme in der Anforderungsanalyse 18 1.2.1 Herausforderungen und Projektrisiken 19 1.3 Qualitätskritierien für jede einzelne Anforderung 24 1.3.1 Die Merkmale exzellenter Anforderungen 25 1.4 Qualitätskriterien für das Anforderungsdokument 29 1.5 Qualitätsstandards 35 1.6 Management - Zusammenfassung 37 1.7 Ausreichend motiviert für ein exzellentes Requirements Engineering? 38 1.8 Weiterführende Literatur 39 V
Das Bibliothekssystem - Einführung in das durchgehende Beispiel 41 Von der Idee zum System 45 3.1 Projektrahmenbedingungen 46 3.2 Der Systembegriff 49 3.2.1 System- & Technologieebene 50 3.2.2 Problemstellung und Lösung 50 3.2.3 Das akkumulierte Wissen 51 3.3 Vorgehensmodelle 51 3.3.1 Requirements Engineering im Rational Unified Process 53 3.3.2 Systemanforderungsanalyse im V-Modell 56 3.3.3 Requirements Engineering in der agilen Systementwicklung 56 3.4 Object Engineering 59 3.5 Vorgehensweise des Object Engineering 62 3.5.1 Ziele, Stakeholder, Randbedingungen 62 3.5.2 Die natürlichsprachlichen Anforderungen 63 3.5.3 Das Analysemodell 68 3.5.4 Die Abnahmekriterien 71 3.5.5 Das Simulationsmodell (Prototyp) 72 3.5.6 Die ISO-9000-Konzepte 76 3.5.7 Extreme Programming 77 3.6 Spielarten von Object Engineering 81 3.7 Die logischen Zusammenhänge im Object Engineering 83 3.8 Empfehlungen für den Einsatz von Object Engineering 86 3.9 Management - Zusammenfassung 88 3.10 Ist Ihr Entwicklungsprozess optimal für Ihre Problemstellung 89 3.11 Weiterführende Literatur 90 Anforderungsermittlung - Hellsehen für Fortgeschrittene 91 4.1 Das How-To-Get-Prinzip 92 4.1.1 Das Need-To-Know-Prinzip 92 4.1.2 Die richtige Ermittlungstechnik 92 4.1.3 Die richtige Dokumentation 93 4.2 Chancen und Risiken für die Anforderungsermittlung 94 4.2.1 Menschliche Einflussfaktoren 94 4.2.2 Organisatorische Rahmenbedingungen 97 4.2.3 Fachlicher Inhalt der Anforderungen 100 4.2.4 Auswahl von Ermittlungstechniken anhand der Projektrisiken 102 4.3 Die Begeisterungsfaktoren Ihres Produkts 105 4.3.1 Implizite Annahmen ermitteln 106 4.3.2 Bewusste Forderungen 107 4.3.3 Unbewusste Wünsche finden 107
4.4 Ermittlungstechniken - Kristallkugeln und Kartenlegen 108 4.4.1 Die richtige Technik für alle Anforderungen? 108 4.4.2 Kreativitätstechniken 109 4.4.3 Beobachtungstechniken 113 4.4.4 Befragungstechniken 115 4.4.5 Vergangenheitsorientierte Techniken 118 4.4.6 Feedback-Techniken 120 4.4.7 Unterstützende Techniken 122 4.5 Techniken erfolgreicher Hellseher 130 4.5.1 Anforderungsermittlung nach XP 130 4.5.2 Entwicklung eines Bibliothekssystems 132 4.5.3 Entwicklung eines neuartigen elektronischen Spielzeugs 133 4.6 Management - Zusammenfassung 134 4.7 Kennen Sie die Chancen und Risiken Ihres Projekts? 135 4.8 Weiterführende Literatur 135 Stakeholder, Ziele und der Systemkontext 137 5.1 Ziele finden 138 5.1.1 Stakeholder: Ausgangspunkt und Mittelpunkt 140 5.1.2 Die derzeitige Realität unter die Lupe nehmen 141 5.1.3 Probleme erkunden und Optimierungspotenziale beschreiben 141 5.1.4 Ziele definieren 142 5.1.5 Ziele bewerten und entscheiden 142 5.2 Stakeholder finden 143 5.2.1 Rollen von Stakeholdera 144 5.2.2 Die Notation von Stakeholdern 147 5.2.3 Warum sind Stakeholder so wichtig? 147 5.3 Ziele klassifizieren 148 5.3.1 Klassifizierung von Zielen nach der Reichweite und dem Inhalt 149 5.4 Ziele beschreiben 151 5.5 Festlegung der Systemgrenzen 152 5.6 Management - Zusammenfassung 154 5.7 Kennen Sie Ihre Ziele, Fesseln und Informanten? 154 5.8 Weiterführende Literatur 155 Anforderung oder Anforderung - Der feine Unterschied 157 6.1 Unterschiedliche Anforderungen 158 6.1.1 Der Begriff der Anforderung 158 6.1.2 Notwendige Unterscheidungen 159 6.2 Unterscheidung nach rechtlicher Verbindlichkeit 160 VII
6.2.1 Grade der Verbindlichkeit 160 6.2.2 Gründe für die Unterscheidung nach Verbindlichkeit 163 6.2.3 Festlegung der Verbindlichkeit 165 6.3 Unterscheidung nach Priorität 166 6.3.1 Prioritäten von Anforderungen 166 6.3.2 Gründe für die Priorisierung 166 6.3.3 Mögliche Priorisierungen 168 6.4 Unterscheidung nach Art 170 6.4.1 Arten von Anforderungen 170 6.4.2 Gründe für die Unterscheidung nach Art 171 6.4.3 Beispiele 173 6.5 Unterscheidung nach Detailebene 176 6.5.1 Gründe für die Unterscheidung von Detailebenen 177 6.5.2 Die Detailebenen 0 bis 4 178 6.6 Management - Zusammenfassung 183 6.7 Kontrollfragen 184 6.8 Weiterführende Literatur 184 Der lange Weg vom Satz zur Anforderung 185 7.1 Das SOPHIST REgelwerk 186 7.1.1 Übertragung auf die Anforderungsanalyse 186 7.2 Sprachliche Defekte 191 7.2.1 Tilgung 191 7.2.2 Generalisierung 202 7.2.3 Verzerrung 208 7.3 Weitere Aspekte der linguistischen Analyse 214 7.3.1 Redundanz 214 7.3.2 Nebensätze 215 7.3.3 Definitionen 217 7.3.4 Kommentare 219 7.3.5 Grafische Elemente in Anforderungen 220 7.4 Der Algorithmus zur Anwendung des SOPHIST REgelwerks 223 7.4.1 Der Algorithmus 224 7.5 Management - Zusammenfassung 226 7.6 Haben Sie Ihre Anforderungen auf die Couch gelegt? 227 7.7 Weiterführende Literatur 228 Anforderungsschablone - Der Bauplan einer Anforderung 229 8.1 Linguistische und philosophische Grundlagen 230 8.2 Der schablonenbasierte Ansatz 232 8.3 Anforderungen - Schritt für Schritt 233
8.4 Semantische Präzisierung der Anforderungsschablone 241 8.4.1 Semantische Definitionen 242 8.4.2 Logische Operatoren 246 8.5 Fallbeispiel: Bibiliothek 249 8.6 Konstruieren im Englischen 253 8.7 Erfahrungen aus der Praxis 255 8.7.1 Effektivität durch Softwareeinsatz 255 8.8 Management - Zusammenfassung 260 8.9 Sind Sie reif für Schablonen und eine definierte Begriffswelt? 260 8.10 Weiterführende Literatur 261 9 Die nicht funktionalen Anforderungen in der Systementwicklung 263 9.1 Einleitung 264 9.2 Situationsdarstellung 264 9.2.1 Folgen der Vernachlässigung nicht funktionaler Anforderungen 264 9.2.2 Stiefmütterlicher Umgang mit nicht funktionalen Anforderungen 267 9.3 Voraussetzungen für einen erfolgreichen Umgang mit nicht funktionalen Anforderungen 270 9.4 Integriertes Vorgehen zur Ermittlung nicht funktionaler Anforderungen" - IVENA 271 9.4.1 Aufbau von IVENA 271 9.4.2 Das Vorgehen mit IVENA 273 9.5 Aufbau von IVENA im Detail 273 9.5.1 Leitfaden zur Vorgehensweise 273 9.5.2 Referenz-Beispiel-Datenbank 284 9.5.3 Interviewergebnisse/erhobene Informationen 288 9.6 Management - Zusammenfassung 289 9.7 Kontrollfragen 290 9.8 Weiterführende Literatur 291 10 Abnahmekriterien- Der Prüfstein für Ihre Anforderungen 293 10.1 Einleitung 294 10.2 Arten von Abnahmekriterien 298 10.2.1 Natürlichsprachliche Abnahmekriterien 299 10.2.2 Formalisierte Abnahmekriterien 303 10.3 Die richtigen Abnahmekriterien finden: Methoden und Strategien 305 10.3.1 Funktionsabdeckung 308
10.3.2 Äquivalenzklassenbildung 309 10.3.3 Grenzwertanalyse 311 10.3.4 Intuitive Abnahmekriterien-Ermittlung 313 10.4 Mittels Abnahmekriterien Anforderungen verbessern 316 10.4.1 Mittels formalisierter Abnahmekriterien Anforderungen verbessern 316 10.4.2 Mittels natürlichsprachlicher Abnahmekriterien Anforderungen verbessern 320 10.5 Testszenarien - Der rote Faden für Abnahmekriterien 323 10.6 Empfehlungen und Erfahrungen 328 10.6.1 Formulieren Sie die Abnahmekriterien während der Analyse! 328 10.6.2 Formulieren Sie die Abnahmekriterien zu mittelfeinen Anforderungen! 329 10.6.3 Werden Sie sich über das Ziel klar, welches Sie mit Abnahmekriterien verfolgen! 330 10.6.4 Achten Sie auf eine präzise Abbildung zwischen Anforderungen und Abnahmekriterium! 331 10.6.5 Passen Sie die Art des Abnahmekriteriums der Art der Anforderung an! 331 10.6.6 Je höher die Kritikalität einer Anforderung ist, desto mehr Abnahmekriterien sind notwendig! 332 10.6.7 Abnahmekriterien für eine Anforderung soll jemand schreiben, der nicht die Anforderung geschrieben hat! 333 10.6.8 Verwenden Sie die Abnahmekriterien als Vertragsbestandteil 333 10.7 Management - Zusammenfassung 334 10.8 Kontrollfragen 335 10.9 Weiterführende Literatur 336 Anforderungsmuster - Wiederverwenden statt Neuerfinden 337 11.1 Der ideale RE-Prozess 338 11.2 Muster - eine Einführung 341 11.2.1 Historischer Abriss 341 11.2.2 Beispiel 342 11.2.3 Grundelemente von Mustern 343 11.2.4 Motivation für die Verwendung von Mustern? 344 11.2.5 Anforderungen an ein Einzelmuster 346 11.2.6 Einsatzgebiete/Kategorien von Mustern 346 11.2.7 Mustersysteme, -sprachen 347 11.3 Einschub: Erstellung eines Analysemodells 348 11.4 Anforderungsmuster 351 11.4.1 Das durchgehende Beispiel 351 11.4.2 Definition 352 11.4.3 Grundlegender Entwurf eines Anforderungsmusters 353
Inhalt 11.4.4 Teile eines Anforderungsmusters 356 11.4.5 Bestandteil: Struktur und Anwendung der Lösung 365 11.4.6 Bestandteil: Beziehungen zu anderen Mustern 367 11.4.7 Weitere Bestandteile eines Anforderungsmusters 367 11.5 Arbeiten mit Anforderungsmustern 368 11.5.1 Aufspüren von Anforderungsmustern 369 11.5.2 Schreiben von Anforderungsmustern 371 11.5.3 Überprüfen von Anforderungsmustern 376 11.5.4 Verwalten von Anforderungsmustern 376 11.5.5 Auswählen und Anwenden von Anforderungsmustern 377 11.6 Nutzen und Grenzen von Anforderungsmustern 380 11.6.1 Vorteile von Anforderungsmustern 380 11.6.2 Nachteile von Anforderungsmustern 381 11.7 Management - Zusammenfassung 383 11.8 Haben Sie die Vorteile der musterbasierten Sepzifikation erkannt? 384 11.9 Weiterführende Literatur 385 12 Ordnung im Chaos- Requirements Management 387 12.1 Ziele des Requirements Management 388 12.2 Rollenmodell und Workflow-Konzept 388 12.3 Formulartypen 394 12.4 Die Struktur des Anforderungsdokuments 400 12.5 Traceability 407 12.6 Baseline 410 12.7 Requirements Management in komplexen, verteilten Projekten 411 12.8 Statistiken und Fortschrittskontrolle 414 12.9 Softwareunterstützung 419 12.10Management- Zusammenfassung 423 12.11 Stimmt die Vernetzung in Ihrem Requirementsgehirn? 424 12.12 Weiterführende Literatur 425 13 Und jetzt? Strategien zur Einführung 427 13.1 Grundsätzliche Überlegungen 428 13.1.1 Einführung heißt Veränderung 428 13.1.2 Richtiger Umgang mit Widerständen 429 13.2 Aktivitäten der Einführung 430 13.2.1 Vorbereiten 430 13.2.2 Umsetzen und anpassen 439 13.3 Pilotprojekte 440 13.3.1 Was macht Projekte für eine Erprobung geeignet? 441 XI
Inhalt 13.3.2 Was macht Projekte für eine Erprobung ungeeignet? 441 13.3.3 Kernfragen 442 13.4 Management - Zusammenfassung 443 13.5 Kontrollfragen 444 13.6 Weiterführende Literatur 445 ANHANG A Formulartypen 447 A.l Abhängigkeiten zwischen gleichen Formulartypen 448 A.2 Abhängigkeiten zwischen verschiedenen Formulartypen 450 A.3 Formularzustände 454 A.4 Verwaltungsinformationen 459 B Regelwerk und Algorithmus der linguistischen Analyse 463 B.l Regelwerk zur linguistischen Analyse 464 B.2 Algorithmus zur Anwendung der linguistischen Analyse 468 C Anforderungsschablone 469 C.l EBNF 470 C.2 Anforderungsschablonen für die deutsche Sprache 471 C.3 Anforderungsschablonen für die englische Sprache 473 D Unsere Ahnen - Ein kurzer Streifzug durch die Linguistik und analytische Philosophie 475 D.l Strömungen und Tendenzen des Requirements Engineering 476 D.2 Einführung in die linguistische und analytische Philosophie 477 E Glossar 479 INDEX 485 XII