lehrerbibliothek.deDatenschutzerklärung
Software Requirements Deutsche Ausgabe der Second Edition
Software Requirements
Deutsche Ausgabe der Second Edition




Karl E. Wiegers

Microsoft Press
EAN: 9783860635940 (ISBN: 3-86063-594-8)
486 Seiten, paperback, 18 x 24cm, Februar, 2005

EUR 39,90
alle Angaben ohne Gewähr

Umschlagtext
Software-Requirements



Erprobte Techniken und praktische Beispiele für Analyse und Management von Softwareanforderungen Nicht wenige Softwareprojekte verfehlen ihre gesteckten Ziele, da bereits in der Anfangsphase die Anforderungen (Requirements) an die Software nicht gründlich genug analysiert und dokumentiert werden. Oft wird auch vernachlässigt, dass Softwareentwicklung genauso viel mit Kommunikation wie mit eigentlicher Entwicklungsarbeit zu tun hat. An diesem Punkt setzt dieser Klassiker der Softwareentwicklungsliteratur an, in dem überzeugend präsentiert wird, warum die Erhebung, die Zusammenstellung und das Management von Softwareanforderungen essentiell für erfolgreiche Projekte ist und mit welchen erprobten Mitteln diese Aufgaben am besten zu meistern sind. Karl Wiegers zeigt, wie Anforderungsanalytiker und Projektleiter, aber auch Programmierer und Designer, die die Anforderungen der Kunden umsetzen müssen, besser mit diesem wichtigen Thema umgehen können. Produktivität, Termintreue, Kundenzufriedenheit sowie Wartungs- und Supportkosten lassen sich so mit dem im Buch beschriebenen Praktiken drastisch verbessern.





Lesen Sie:



• Realistische Erwartungen an Funktionalität und Qualität setzen

• Geschäftsregeln bei der Anwendungsentwicklung umsetzen

• Anwendungsfälle zur Definition von Benutzeranforderungen verwenden

• Ausufernde Anforderungen erkennen und vermeiden

• Mit plötzlichen Änderungen in den Anforderungen zurechtkommen

• Revisionen von Software einschränken und damit Kosten sparen

• Bessere Software produzieren



Karl E. Wiegers ist Dozent, Autor und Berater im Bereich Softwareanforderungen. Er trainiert Kunden aus Industrie und Verwaltung und ist häufiger Redner auf diversen Konferenzen zum Thema. Karl Wiegers ist zweimaliger Preisträger des Software Development Productivity Awards, der für herausragende Leistungen im Bereich Produktivitätsverbesserung vergeben wird.
Rezension
Mit diesem Standardwerk können sämtliche Projektanforderungen in der Anfangsphase genauestens analysiert und ermittelt werden. Wieger zeigt auf mit welchen Mitteln und Verfahrensweisen es möglich ist, die Anforderungen erfolgreich umzusetzen. Sämtliche Bereiche oder auftretende Schwierigkeiten werden abgehandelt und analysiert. Jedem Programmierer, Analyst oder Designer der in der Softwareentwicklung tätig ist, sei dieses Buch ans Herz gelegt. Das Buch ist sehr übersichtlich gestaltet und es eignet sich optimal als Nachschlagewerk.
Inhaltsverzeichnis
Vorwort XIII

Der Nutzen dieses Buches XIV
Wer dieses Buch lesen sollte XIV
Was Sie erwartet XV
Fallstudien XV
Vom Prinzip zur Praxis XVI


Teil I Softwareanforderungen: Was, warum und wer? 1

Kapitel 1 Softwareanforderungen sind wichtig 3


Messen Sie Ihren Anforderungspuls 5
Softwareanforderungen - eine Definition 6
Einige Interpretationen des Begriffs Anforderung 7
Anforderungsebenen 7
Was Anforderungen nicht sind 11
Anforderungsentwicklung und -management 11
Jedes Projekt stellt Anforderungen 13
Keine vorausgesetzten Anforderungen 14
Wenn gute Menschen mit schlechten Anforderungen konfrontiert werden 14
Vorteile hochqualitativer Anforderungen 18
Merkmale guter Anforderungen 19
Anforderungsmerkmale 20
Anforderungsspezifikationsmerkmale 21
Vollständigkeit 21
Beständigkeit 21
Modifizierbarkeit 21
Rückverfolgbarkeit 22
Die nächsten Schritte 22

Kapitel 2 Anforderungen aus der Sicht des Kunden 25

Wer ist der Kunde? 27
Die Beziehung zwischen Kunden und Entwicklern 28
Erklärung der Rechte für Softwarekunden während der
Anforderungsentwicklung 30
Erklärung der Pflichten der Softwarekunden während der
Anforderungsentwicklung 32
Verpflichtende Unterschriften 35
Die nächsten Schritte 37

Kapitel 3 Gute Praktiken für das Anforderungs-Engineering 39

Wissen 41
Anforderungserhebung 42
Anforderungsanalysen 44
Anforderungsspezifikation 46
Anforderungsvalidierung 47
Anforderungsmanagement 48
Projektmanagement 50
Mit neuen Praktiken beginnen 51
Der Ablauf einer Anforderungsentwicklung 53
Die nächsten Schritte 55

Kapitel 4 Der Anforderungsanalytiker 57

Die Rolle des Anforderungsanalytikers 57
Die Aufgaben des Analytikers 58
Wichtige Fähigkeiten des Analytikers 61
Das Wissen des Analytikers 63
Der Werdegang eines Analytikers 64
Der ehemalige Benutzer 64
Von Medizintechniker zum Anforderungsanalytiker 65
Der ehemalige Entwickler 65
Der Themenexperte 65
Voraussetzungen für die Zusammenarbeit schaffen 66
Die nächsten Schritte 66


Teil II Softwareanforderungsentwicklung 69

Kapitel 5 Die Produktvision und den Projektrahmen definieren 71


Die Produktvision über Geschäftsanforderungen definieren 71
Unrealistische Anforderungen 73
Widersprüchliche Geschäftsanforderungen 73
Geschäftsanforderungen und Anwendungsfälle 74
Produktvision/Projektrahmen-Dokument 75
1 Geschäftsanforderungen 76
2 Lösungsvision 78
3 Projektrahmen und Einschränkungen 79
4 Der Geschäftsrahmen 80
Das Kontextdiagramm 83
Den Projektrahmen im Auge behalten 84
Projektrahmenmanagement und Timebox-Entwicklung 85
Die nächsten Schritte 85

Kapitel 6 Die Stimme des Kunden suchen 87

Anforderungsquellen 87
Benutzerklassen 89
Benutzerstellvertreter finden 93
Der Produktchampion 94
Externe Produktchampions 95
Die Aufgaben des Produktchampions 96
Mehrere Produktchampions 97
Die stimmenlose Benutzerklasse 98
Den Einsatz eines Produktchampions durchsetzen 99
Probleme beim Einsatz eines Produktchampions 99
Wer trifft die Entscheidungen? 100
Die nächsten Schritte 102

Kapitel 7 Die Stimme des Kunden hören 103

Anforderungserhebung 104
Erhebungsworkshops 106
Zu viele Köche 108
Den Benutzerinput klassifizieren 109
Einige Besonderheiten der Erhebung 113
Fehlende Anforderungen aufspüren 114
Woher wissen Sie, wann Sie fertig sind? 116
Die nächsten Schritte 117

Kapitel 8 Benutzeranforderungen verstehen 119

Der Einsatz von Anwendungsfällen 120
Anwendungsfälle und Anwendungsszenarien 122
Anwendungsfälle identifizieren 125
Anwendungsfälle dokumentieren 126
Achten Sie auf die Grenzen 127
Anwendungsfalle und funktionelle Anforderungen 132
Nur Anwendungsfälle 133
Anwendungsfalle und SRS 133
Ausschließlich SRS 133
Die Vorzüge von Anwendungsfällen 134
Gefahren bei der Arbeit mit Anwendungsfällen 135
Ereignisreaktionstabellen 136
Die nächsten Schritte 139

Kapitel 9 Nach den Regeln spielen 141

Geschäftsregeln 142
Fakten 143
Einschränkungen und Auflagen 143
So viele Einschränkungen 144
Unzulängliche Regelimplementierungen 144
Aktionsermöglicher 145
Schlussfolgerungen 145
Berechnungen 146
Geschäftsregeln dokumentieren 147
Geschäftsregeln und Anforderungen 148
Die nächsten Schritte 151

Kapitel 10 Anforderungen dokumentieren 153

Die Softwareanforderungsspezifikation 154
Anforderungen benennen 155
Sequenznummern 156
Hierarchische Nummerierung 156
Hierarchische Textnamen 156
Der Umgang mit Unvollständigkeiten 157
Benutzeroberflächen und die SRS 157
Eine Vorlage für eine Softwareanforderungsspezifikation 158
1 Einführung 160
2 Gesamtbeschreibung 161
3 Systemfunktionen 163
4 Anforderungen an die externe Schnittstelle 163
Schnittstellenkriege 164
5 Andere nicht funktioneile Anforderungen 165
6 Andere Anforderungen 167
Anhang A: Glossar 167
Anhang B: Analysemodelle 167
Anhang C: Offene Punkte 168
Richtlinien zum Schreiben von Anforderungen 168
Beispielanforderungen vorher und nachher 172
Das Datenverzeichnis 176
Die nächsten Schritte 178

Kapitel 11 Ein Bild sagt mehr als 1024 Worte 179

Anforderungsmodelle erstellen 180
Von der Stimme des Kunden zum Analysemodell 181
Datenflussdiagramme 182
Entitätsbeziehungsdiagramm 186
Probleme anstatt Software modellieren 187
Zustandsübergangsdiagramm 188
Dialogkarten 191
Klassendiagramme 195
Entscheidungstabellen und Entscheidungsbäume 197
Eine letzte Erinnerung 199
Die nächsten Schritte 199

Kapitel 12 Jenseits der Funktionalität: Softwarequalitätsmerkmale 201

Qualitätsmerkmale 202
Qualitätsmerkmale definieren 203
Für Benutzer wichtige Merkmale 204
Der Preis der Qualität 205
Ich habe nicht den ganzen Tag Zeit 206
Wichtige Attribute für Entwickler 210
Performance-Anforderungen 212
Nicht funktionelle Anforderungen mithilfe von Planguage definieren 213
Attribute und ihre Nachteile 214
Nicht funktionelle Anforderungen implementieren 216
Die nächsten Schritte 217

Kapitel 13 Risikoreduzierung durch Prototypen 219

Prototypen: Was und warum? 220
Horizontale Prototypen 220
Vertikale Prototypen 221
Wegwerfprototypen 222
Evolutionäre Prototypen 223
Papier- und elektronische Prototypen 225
Der Zauberer in der Kiste 226
Die Beurteilung von Prototypen 227
Die Risiken von Prototypen 228
Faktoren für erfolgreiche Prototypen 229
Die nächsten Schritte 230

Kapitel 14 Anforderungsprioritäten setzen 231

Warum Anforderungen priorisieren ? 232
Das Spiel mit den Prioritäten 233
Eine Priorisierungsskala 234
Priorisierung basierend auf dem Wert, den Kosten und dem Risiko 235
Der Stärkere entscheidet 240
Die nächsten Schritte 241

Kapitel 15 Validieren der Anforderungen 243

Begutachten der Anforderungen 246
Je genauer Sie hinsehen, desto mehr sehen Sie 247
Der Inspektionsprozess 247
Organisation und Vollständigkeit 254
Korrektheit 254
Qualitätsmerkmale 255
Rückverfolgbarkeit 255
Spezielle Fragen 255
Schwierigkeiten bei der Anforderungsbegutachtung 255
Testen der Anforderungen 257
Wie Charlie glücklich wurde 257
Definieren der Akzeptanzkriterien 262
Die nächsten Schritte 263

Kapitel 16 Sonderfälle bei der Anforderungsentwicklung 265

Anforderungen für Wartungsprojekte 265
Der Fall der fehlenden Spezifikation 266
Beginnen Sie mit dem Sammeln von Informationen 266
Vom Code über Anforderungen zu Tests 268
Nutzen Sie neue Anforderungstechniken 269
Arbeiten Sie sich entlang der Rückverfolgbarkeitskette 270
Aktualisieren Sie die Dokumentation 270
Anforderungen für COTS-Produkte 271
Entwickeln Sie Anwendungsfälle 272
Berücksichtigen Sie die Geschäftsregeln 272
Definieren Sie Qualitätsanforderungen 273
Anforderungen für ausgelagerte Projekte 273
Anforderungen für Emergent-Projekte 275
Zwanglose Benutzeranforderungsspezifikation 277
Kunde vor Ort 277
Kunde in Sichtweite 277
Prioritäten früh und häufig festlegen 278
Einfaches Änderungsmanagement 278
Die nächsten Schritte 278

Kapitel 17 Jenseits der Anforderungsentwicklung 279

Von Anforderungen zu Projektplänen 280
Anforderungen und Schätzungen 282
Haste mal 'ne Stunde? 283
Anforderungen und Zeitpläne 283
Von Anforderungen zu Designs und Code 284
Das unglaublich schrumpfende Design 286
Von Anforderungen zu Tests 287
Was soll getestet werden? 288
Von Anforderungen zum Erfolg 289
Die nächsten Schritte 290


Teil III Softwareanforderungsmanagement 291

Kapitel 18 Prinzipien und Techniken für das Anforderungsmanagement 293

Die Anforderungs-Baseline 295
Verfahren für das Anförderungsmanagement 295
Versionskontrolle für Anforderungen 296
Das ist kein Bug, das ist ein Feature! 297
Anforderungsattribute 298
Wozu diese Anforderung? 299
Verfolgen des Anforderungsstatus 300
Messen des Aufwands für das Anforderungsmanagement 302
Die nächsten Schritte 303

Kapitel 19 Änderungen kommen vor 305

Eindämmen der Umfangsentgleisung 306
Der Änderungssteuerungsprozess 308
Richtlinien für Änderungen 309
Beschreibung des Änderungssteuerungsprozesses 310
Das Änderungsgremium 315
Zusammensetzung des Änderungsgremiums 316
Satzung des Änderungsgremiums 316
Tools für die Änderungssteuerung 318
Optimieren eines Prozesses mit Tools 319
Messen der Änderungstätigkeiten 319
Änderungen haben ihren Preis: Auswirkungsanalyse 321
Vorgehensweise bei der Auswirkungsanalyse 322
Geld zum Fenster hinausgeworfen 326
Berichtsvorlage für eine Auswirkungsanalyse 326
Die nächsten Schritte 327

Kapitel 20 Verknüpfungen in der Anforderungskette 329

Das Rückverfolgen von Anforderungen 329
Gründe für das Rückverfolgen von Anforderungen 332
Die Anforderungsrückverfolgbarkeitsmatrix 334
Tools für die Anforderungsrückverfolgung 337
Implementieren der Anforderungsrückverfolgbarkeit 339
Ist Anforderungsrückverfolgbarkeit machbar? Ist sie notwendig ? 340
Die nächsten Schritte 341

Kapitel 21 Tools für das Anforderungsmanagement 343

Vorteile beim Einsatz eines Anforderungsmanagement-Tools 345
Fähigkeiten von Anforderungsmanagement-Tools 347
Implementieren der Anforderungsmanagementautomatisierung 349
Auswählen eines Tools 349
Ändern der Unternehmenskultur 351
Einführen eines Anforderungsmanagement-Tools in Ihrer Organisation 353
Die nächsten Schritte 353


Teil IV Implementierung des Anforderungs-Engineering 355

Kapitel 22 Verbessern der Anforderungsprozesse 357

Beziehungen zwischen Anforderungen und anderen Projektprozessen 358
Anforderungen und verschiedene Interessenvertretergruppen 359
Grundlagen der Softwareprozessverbesserung 361
Einzeiler zur Prozessverbesserung 363
Der Prozessverbesserungszyklus 364
Bewerten der aktuellen Verfahren 364
Planen der Verbesserungsaktionen 365
Erstellen, Testen und Implementieren neuer Prozesse 367
Auswerten der Ergebnisse 368
Prozesshilfsmittel für das Anforderungs-Engineering 369
Prozesshilfsmittel für die Anforderungsentwicklung 371
Prozesshilfsmittel für das Anforderungsmanagement 372
Fahrplan für die Anforderungsprozessverbesserung 373
Die nächsten Schritte 374

Kapitel 23 Softwareanforderungen und Risikomanagement 375

Grundlagen des Softwarerisikomanagements 377
Elemente des Risikomanagements 377
Dokumentieren der Projektrisiken 378
Risikomanagementplanung 381
Außer Kontrolle 382
Risiken im Bereich der Anforderungen 382
Anforderungserhebung 382
Anforderungsanalyse 384
Anforderungsspezifikation 384
Anforderungsvalidierung 385
Anforderungsmanagement 385
Risikomanagement ist Ihr bester Freund 386
Die nächsten Schritte 386

Epilog 389

Anhang A Selbsttest Ihres Wissensstandes bei Anforderungspraktiken 391

Anhang B Verbesserungsmodelle für Anforderungen und Prozesse 399

Das Capability-Maturity-Modell für Software (SW-CMM) 399
CMMI-SE/SW 402
Prozessbereich des Anforderungsmanagements 403
Prozessbereich der Anforderungsentwicklung 403

Anhang C Vorgehensweisen zur Fehlerbeseitigung in Anforderungen 407

Grundursachenanalyse 407
Häufige Symptome von Anforderungsproblemen 409
Häufige Hindernisse bei der Lösungsimplementierung 409

Anhang D Beispiele für Anforderungsdokumente 431

Produktvision/Projektrahmen-Dokument 431
1 Geschäftsanforderungen 431
2 Produktvision der Lösung 433
3 Projektumfang und Einschränkungen 434
4 Geschäftskontext 435
Anwendungsfälle 437
Softwareanforderungsspezifikationen 442
1 Einführung 442
2 Gesamtbeschreibung 443
3 System-Features 445
4 Anforderungen an die externen Schnittstellen 448
5 Andere nicht funktioneile Anforderungen 450
Anhang A: Datenverzeichnis und Datenmodell 451
Anhang B: Analysemodelle 454
Geschäftsregeln 455

Glossar 457

Referenzen 469

Stichwortverzeichnis 477

Autor 487