Software Requirements : Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle (2 SUB)

Software Requirements : Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle (2 SUB)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 516 p.
  • 言語 ENG
  • 商品コード 9780735618794
  • DDC分類 005.1

Full Description


Without formal, verifiable software requirements-and an effective system for managing them-the programs that developers think they've agreed to build often will not be the same products their customers are expecting. In SOFTWARE REQUIREMENTS, Second Edition, requirements engineering authority Karl Wiegers amplifies the best practices presented in his original award-winning text?now a mainstay for anyone participating in the software development process. In this book, you'll discover effective techniques for managing the requirements engineering process all the way through the development cycle-including dozens of techniques to facilitate that all-important communication between users, developers, and management. This updated edition features new case examples, anecdotes culled from the author's extensive consulting career, and specific Next Steps for putting the book's process-improvement principles into practice. You'll also find several new chapters, sample documents, and an incisive troubleshooting guide. Discover how to: Set achievable expectations for functionality and quality NEW: Incorporate business rules into application development Employ use cases to discover user requirements Arrest creeping requirements and manage change requests NEW: Deal with requirements on maintenance, outsourced, and package solution projects Curb the impulse to "gold-plate" your programs NEW: Grow effective requirements analysts Cut revisions-and costs-dramatically Produce better software! No matter what kind of software you build, or what your role in the development process, SOFTWARE REQUIREMENTS, Second Edition, delivers expert guidance and field-tested techniques for engineering software

Contents

Preface xv PART I SOFTWARE REQUIREMENTSThe Essential Software Requirement 3 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 Engineering 43 Knowledge 45 Requirements Elicitation 47 Requirements Analysis 50 Requirements Specification 52 Requirements Validation 53 Requirements Management 54 Project Management 56 Getting Started with New Practices 57 A Requirements Development Process 59 4 The Requirements Analyst 63 The Requirements Analyst Role 63 The Analyst s Tasks 65 Essential Analyst Skills 68 Essential Analyst Knowledge 70 The Making of an Analyst 71 The Former User 71 The Former Developer 72 The Subject Matter Expert 73 Creating a Collaborative Environment 73 PART II SOFTWARE REQUIREMENTS DEVELOPMENT 5 Establishing the Product Vision and Project Scope 77 Defining the Vision Through Business Requirements 78 Conflicting Business Requirements 80 Business Requirements and Use Cases 81 Vision and Scope Document 81 1. Business Requirements 83 2. Vision of the Solution 85 3. Scope and Limitations 86 4. Business Context 88 The Context Diagram 90 Keeping the Scope in Focus 91 6 Finding the Voice of the Customer 95 Sources of Requirements 96 User Classes 97 Finding User Representatives 101 The Product Champion 103 External Product Champions 104 Product Champion Expectations 105 Multiple Product Champions 106 Selling the Product Champion Idea 107 Product Champion Traps to Avoid 108 Who Makes the Decisions? 109 7 Hearing the Voice of the Customer 113 Requirements Elicitation 115 Elicitation Workshops 117 Classifying Customer Input 119 Some Cautions About Elicitation 125 Finding Missing Requirements 126 How Do You Know When You re Done? 129 8 Understanding User Requirements 131 The Use-Case Approach 133 Use Cases and Usage Scenarios 134 Identifying Use Cases 138 Documenting Use Cases 139 Use Cases and Functional Requirements 145 Benefits of Use Cases 147 Use-Case Traps to Avoid 148 Event-Response Tables 149 9 Playing by the Rules 153 The Rules of the Business 154 Facts 155 Constraints 156 Action Enablers 157 Inferences 158 Computations 158 Documenting Business Rules 160 Business Rules and Requirements 161 10 Documenting the Requirements 165 The Software Requirements Specification 166 Labeling Requirements 168 Dealing with Incompleteness 169 User Interfaces and the SRS 170 A Software Requirements Specification Template 171 1. Introduction 172 2. Overall Description 173 3. System Features 175 4. External Interface Requirements 176 5. Other Nonfunctional Requirements 178 6. Other Requirements 180 Appendix A: Glossary 180 Appendix B: Analysis Models 180 Appendix C: Issues List 181 Guidelines for Writing Requirements 181 Sample Requirements, Before and After 185 The Data Dictionary 190 11 A Picture Is Worth 1024 Words 193 Modeling the Requirements 194 From Voice of the Customer to Analysis Models 195 Data Flow Diagram 197 Entity-Relationship Diagram 200 State-Transition Diagram 203 Dialog Map 206 Class Diagrams 210 Decision Tables and Decision Trees 212 A Final Reminder 214 12 Beyond Functionality: Software Quality Attributes 215 Quality Attributes 216 Defining Quality Attributes 218 Attributes Important to Users 219 Attributes Important to Developers 225 Performance Requirements 227 Defining Nonfunctional Requirements By Using Planguage 228 Attribute Trade-Offs 229 Implementing Nonfunctional Requirements 231 13 Risk Reduction Through Prototyping 233 Prototyping: What and Why 234 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 Specification 294 On-Site Customer 295 Early and Frequent Prioritization 296 Simple Change Management 296 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 Practices 313 The Requirements Baseline 315 Requirements Management Procedures 315 Requirements Version Control 317 Requirement Attributes 319 Tracking Requirements Status 321 Measuring Requirements Management Effort 324 19 Change Happens 327 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 Epilogue 415 A Current Requirements Practice Self-Assessment 417 B Requirements and Process Improvement Models 425 The Capability Maturity Model for Software 425 CMMI-SE/SW 428 Requirements Management Process Area 430 Requirements Development Process Area 430 C Requirements Troubleshooting Guide 433 Root Cause Analysis 434 Common Symptoms of Requirements Problems 435 Common Barriers to Implementing Solutions 436 D Sample Requirements Documents 457 Vision and Scope Document 458 Use Cases 463 Software Requirements Specification 469 Business Rules 482 GLOSSARY 483 REFERENCES 491 INDEX