Requirements- Engineering und -Management

© 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Chris Rupp ...
Author: Dominic Hofmann
2 downloads 0 Views 137KB Size
© 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network.

Chris Rupp SOPHIST GROUP

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

41 41 42 42 43 43 46 49 51 53 54 55 56 57 58 60 61 63 67 67 68 71 73 76 77 78 78

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

81 82 82 82 83 83 85 86 87 87 88 88 92 94 97 99 106 107 107 108

4.5 4.6 4.7

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

137 138 138 139 140 140 140 142 143 144 144 147 147 149 149 150 153 153 153

VII

Inhalt

7

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

155 156 157 158 159 161 166 168 171 173 175 177 178 181 184 186 188 189 189 190 190 190 192 193 194 194

197 198 198 202 204 214 220 225 225 227 228 231 232 234 235 236 237 237

Inhal

9

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

239 240 241 242 251 251 255 258 261 263 263 267 267 268

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

289 290 290 291 291 294 295 299 300 302 302 302 303 304 304 305

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

X

349 350 350 353 355 355 357 361 362 363 364 366 370 375 375

Inha

13.6 13.7 13.8 13.9

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

377 379 383 384 389 394 394 395

397 398 398 398 402 404 405 405 406 407 407 408 410 410 412 415 416 417 418 420 421 422 422 423 423 424 425 426 427 427 428 431 439 440 441 443 445 450 XI

Inhalt

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

451 452 455 456 456 457 459 459 467 468 469 470 470 471 472 472

Anhang A

Informationsarten A.l Spielzüge A.2 Abhängigkeiten zwischen verschiedenen Informationsarten A.3 Verwaltungsinformationen A.4 Bewertungsrahmen

473 473 475 476 479

B

Regelwerk und Algorithmus der linguistischen Analyse

485

C

Anforderungsschablonen C.l EBNF C.2 Anforderungsschablonen für die deutsche Sprache C.3 Anforderungsschablonen für die englische Sprache

489 490 491 493

D

Unsere Ahnen - ein Streifzug durch die Linguistik

E

XII

und analytische Philosophie

495

Glossar

497

Index

505