Training
Certifications
Books
Special Offers
Community




 
Software Requirements, Second Edition
Author Karl E. Wiegers
Pages 544
Disk N/A
Level Intermediate
Published 02/26/2003
ISBN 9780735618794
Price $39.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Table of Contents


Prefacexv
PART I   SOFTWARE REQUIREMENTS: WHAT, WHY, AND WHO 
1    The Essential Software Requirement3
    Software Requirements Defined 7
        Some Interpretations of Requirement 7
        Levels of Requirements 8
        What Requirements Are Not 12
    Requirements Development and Management 12
        Requirements Development 13
        Requirements Management 14
    Every Project Has Requirements 15
    When Bad Requirements Happen to Nice People 17
        Insufficient User Involvement 18
        Creeping User Requirements 18
        Ambiguous Requirements 18
        Gold Plating 19
        Minimal Specification 19
        Overlooked User Classes 20
        Inaccurate Planning 20
    Benefits from a High-Quality Requirements Process 20
    Characteristics of Excellent Requirements 22
        Requirement Statement Characteristics 22
        Requirements Specification Characteristics 24
2   Requirements from the Customer's Perspective 27
    Who Is the Customer? 29
    The Customer-Development Partnership 31
        Requirements Bill of Rights for Software Customers 33
        Requirements Bill of Responsibilities for Software Customers 36
    What About Sign-Off? 39
3    Good Practices for Requirements Engineering43
    Knowledge45
    Requirements Elicitation47
    Requirements Analysis50
    Requirements Specification52
    Requirements Validation53
    Requirements Management54
    Project Management56
    Getting Started with New Practices57
    A Requirements Development Process59
4    The Requirements Analyst63
    The Requirements Analyst Role63
        The Analyst's Tasks65
        Essential Analyst Skills68
        Essential Analyst Knowledge70
    The Making of an Analyst71
        The Former User71
        The Former Developer72
        The Subject Matter Expert73
    Creating a Collaborative Environment73
PART II    SOFTWARE REQUIREMENTS DEVELOPMENT 
5    Establishing the Product Vision and Project Scope77
    Defining the Vision Through Business Requirements78
        Conflicting Business Requirements80
        Business Requirements and Use Cases81
    Vision and Scope Document81
        1. Business Requirements83
        2. Vision of the Solution85
        3. Scope and Limitations86
        4. Business Context88
    The Context Diagram90
    Keeping the Scope in Focus91
6    Finding the Voice of the Customer95
    Sources of Requirements96
    User Classes97
    Finding User Representatives101
    The Product Champion103
        External Product Champions104
        Product Champion Expectations105
        Multiple Product Champions106
        Selling the Product Champion Idea107
        Product Champion Traps to Avoid108
    Who Makes the Decisions?109
7    Hearing the Voice of the Customer113
    Requirements Elicitation115
    Elicitation Workshops117
    Classifying Customer Input119
    Some Cautions About Elicitation125
    Finding Missing Requirements126
    How Do You Know When You're Done?129
8    Understanding User Requirements131
    The Use-Case Approach133
        Use Cases and Usage Scenarios134
        Identifying Use Cases138
        Documenting Use Cases139
        Use Cases and Functional Requirements145
        Benefits of Use Cases147
        Use-Case Traps to Avoid148
    Event-Response Tables149
9    Playing by the Rules153
    The Rules of the Business154
        Facts155
        Constraints156
        Action Enablers157
        Inferences158
        Computations158
    Documenting Business Rules160
    Business Rules and Requirements161
10    Documenting the Requirements165
    The Software Requirements Specification166
        Labeling Requirements168
        Dealing with Incompleteness169
        User Interfaces and the SRS170
    A Software Requirements Specification Template171
        1. Introduction172
        2. Overall Description173
        3. System Features 175
        4. External Interface Requirements176
        5. Other Nonfunctional Requirements178
        6. Other Requirements180
        Appendix A: Glossary180
        Appendix B: Analysis Models180
        Appendix C: Issues List181
    Guidelines for Writing Requirements181
    Sample Requirements, Before and After185
    The Data Dictionary190
11    A Picture Is Worth 1024 Words193
    Modeling the Requirements194
    From Voice of the Customer to Analysis Models195
    Data Flow Diagram197
    Entity-Relationship Diagram200
    State-Transition Diagram203
    Dialog Map206
    Class Diagrams210
    Decision Tables and Decision Trees212
    A Final Reminder214
12    Beyond Functionality: Software Quality Attributes215
    Quality Attributes216
    Defining Quality Attributes218
        Attributes Important to Users219
        Attributes Important to Developers225
    Performance Requirements227
    Defining Nonfunctional Requirements By Using Planguage228
    Attribute Trade-Offs229
    Implementing Nonfunctional Requirements231
13    Risk Reduction Through Prototyping233
    Prototyping: What and Why234
    Horizontal Prototypes 235
    Vertical Prototypes 236
    Throwaway Prototypes 236
    Evolutionary Prototypes 238
    Paper and Electronic Prototypes 240
    Prototype Evaluation 242
    The Risks of Prototyping 243
    Prototyping Success Factors 245
14    Setting Requirement Priorities 247
    Why Prioritize Requirements? 248
    Games People Play with Priorities 249
    A Prioritization Scale 250
    Prioritization Based on Value, Cost, and Risk 252
15    Validating the Requirements 259
    Reviewing Requirements 262
        The Inspection Process 264
        Requirements Review Challenges 272
    Testing the Requirements 273
    Defining Acceptance Criteria 280
16    Special Requirements Development Challenges 283
    Requirements for Maintenance Projects 283
        Begin Capturing Information 284
        Practice New Requirements Techniques 287
        Follow the Traceability Chain 287
        Update the Documentation 288
    Requirements for Package Solutions 288
        Develop Use Cases 289
        Consider Business Rules 290
        Define Quality Requirements 290
    Requirements for Outsourced Projects 291
    Requirements for Emergent Projects 293
        Casual User Requirements Specification294
        On-Site Customer295
        Early and Frequent Prioritization296
        Simple Change Management296
17    Beyond Requirements Development 297
    From Requirements to Project Plans 298
        Requirements and Estimation 300
        Requirements and Scheduling 303
    From Requirements to Designs and Code 304
    From Requirements to Tests 307
    From Requirements to Success 309
PART III    SOFTWARE REQUIREMENTS MANAGEMENT 
18    Requirements Management Principles and Practices313
    The Requirements Baseline 315
    Requirements Management Procedures 315
    Requirements Version Control 317
    Requirement Attributes319
    Tracking Requirements Status321
    Measuring Requirements Management Effort 324
19    Change Happens327
    Managing Scope Creep 329
    The Change-Control Process 331
        Change-Control Policy 332
        Change-Control Process Description 333
    The Change Control Board 338
        CCB Composition 339
        CCB Charter 339
    Change-Control Tools 341
    Measuring Change Activity 342
    Change Isn't Free: Impact Analysis 344
        Impact Analysis Procedure 345
        Impact Analysis Report Template 350
20    Links in the Requirements Chain 353
    Tracing Requirements 354
    Motivations for Tracing Requirements 357
    The Requirements Traceability Matrix 358
    Tools for Requirements Tracing 362
    Requirements Traceability Procedure 364
    Is Requirements Traceability Feasible? Is It Necessary? 365
21    Tools for Requirements Management 367
    Benefits of Using a Requirements Management Tool 370
    Requirements Management Tool Capabilities 372
    Implementing Requirements Management Automation 374
        Selecting a Tool 374
        Changing the Culture 375
        Making Requirements Management Tools Work for You 378
PART IV    IMPLEMENTING REQUIREMENTS ENGINEERING 
22    Improving Your Requirements Processes 381
    How Requirements Relate to Other Project Processes 382
    Requirements and Various Stakeholder Groups 384
    Fundamentals of Software Process Improvement 386
    The Process Improvement Cycle 389
        Assess Current Practices 389
        Plan Improvement Actions 390
        Create, Pilot, and Implement New Processes 392
        Evaluate Results 393
    Requirements Engineering Process Assets 395
        Requirements Development Process Assets 396
        Requirements Management Process Assets 398
    Requirements Process Improvement Road Map 399
23    Software Requirements and Risk Management 401
    Fundamentals of Software Risk Management 403
        Elements of Risk Management 403
        Documenting Project Risks 404
        Planning for Risk Management 407
    Requirements-Related Risks 408
        Requirements Elicitation 408
        Requirements Analysis 410
        Requirements Specification 410
        Requirements Validation 411
        Requirements Management 411
    Risk Management Is Your Friend 412
Epilogue415
A    Current Requirements Practice Self-Assessment417
B    Requirements and Process Improvement Models425
    The Capability Maturity Model for Software425
    CMMI-SE/SW428
        Requirements Management Process Area 430
        Requirements Development Process Area 430
C    Requirements Troubleshooting Guide433
    Root Cause Analysis434
    Common Symptoms of Requirements Problems435
    Common Barriers to Implementing Solutions436
D    Sample Requirements Documents457
    Vision and Scope Document458
    Use Cases463
    Software Requirements Specification469
    Business Rules482
GLOSSARY483
REFERENCES491
INDEX505



Last Updated: February 7, 2003
Top of Page