eBook
Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
Related collections and offers
Overview
Learn proven, real-world techniques for specifying software requirements with this practical reference. It details 30 requirement “patterns” offering realistic examples for situation-specific guidance for building effective software requirements. Each pattern explains what a requirement needs to convey, offers potential questions to ask, points out potential pitfalls, suggests extra requirements, and other advice. This book also provides guidance on how to write other kinds of information that belong in a requirements specification, such as assumptions, a glossary, and document history and references, and how to structure a requirements specification.
A disturbing proportion of computer systems are judged to be inadequate; many are not even delivered; more are late or over budget. Studies consistently show one of the single biggest causes is poorly defined requirements: not properly defining what a system is for and what it’s supposed to do. Even a modest contribution to improving requirements offers the prospect of saving businesses part of a large sum of wasted investment. This guide emphasizes this important requirement need—determining what a software system needs to do before spending time on development. Expertly written, this book details solutions that have worked in the past, with guidance for modifying patterns to fit individual needs—giving developers the valuable advice they need for building effective software requirements
Product Details
ISBN-13: | 9780735646063 |
---|---|
Publisher: | Pearson Education |
Publication date: | 06/13/2007 |
Series: | Developer Best Practices |
Sold by: | Barnes & Noble |
Format: | eBook |
Pages: | 384 |
File size: | 3 MB |
Age Range: | 18 Years |
About the Author
Stephen J. Withall has been developing and specifying software systems for more than 26 years in a variety of roles: programmer, analyst/programmer, team leader, systems analyst, business analyst, project manager, systems architect, and chief technical officer. He has worked in diverse environments in companies big and small, in 17 countries across four continents. He has used object-oriented design approaches and technology for more than 16 years, and actively maintains his hands-on software development skills.
Table of Contents
Foreword ix
Preface xi
Setting the Scene
Synopsis of "Crash Course in Specifying Requirements" 3
What Are Requirements? 4
Where Do Requirements Fit in the Grand Scheme? 5
A Few General Principles 6
A Traditional Requirements Process 7
Agile Requirements Processes 8
An Extreme Requirements Process 9
An Incremental Requirements Process 10
Synopsis of "The Contents of a Requirements Specification" 11
Introduction Section 12
System Purpose 12
Document Purpose 12
Requirement Format 13
Glossary 14
References 14
Document History 15
Context Section 15
Scope 15
Major Assumptions 16
Major Exclusions 16
Key Business Entities 16
Infrastructures 17
Functional Area Sections 17
Major Nonfunctional Capabilities Section 18
Requirement Pattern Concepts 19
Introduction to Requirement Patterns 19
The Anatomy of a RequirementPattern 21
Basic Details 22
Applicability 23
Discussion 24
Content 24
Template(s) 24
Example(s) 26
Extra Requirements 26
Considerations for Development 28
Considerations for Testing 29
Domains 29
Domains and Infrastructures 30
Requirement Pattern Groups 31
Relationships Between Requirement Patterns 32
Requirement Pattern Classifications 33
Refinement Requirements 35
Divertive Requirement Patterns 36
Requirement Patterns and Diversity of Approaches 36
Use Cases for Requirement Patterns 37
Business Rules and Requirement Patterns 38
Using and Producing Requirement Patterns 39
When and How to Use Requirement Patterns 39
Tailoring Requirement Patterns 41
Writing New Requirement Patterns 42
How to Find Candidate Requirement Patterns 43
How to Write a Requirement Pattern 45
Requirement Pattern Catalog
Fundamental Requirement Patterns 51
Inter-System Interface Requirement Pattern 51
Inter-System Interaction Requirement Pattern 62
Technology Requirement Pattern 65
Comply-with-Standard Requirement Pattern 71
Refer-to-Requirements Requirement Pattern 79
Documentation Requirement Pattern 81
Information Requirement Patterns 85
Data Type Requirement Pattern 86
Data Structure Requirement Pattern 94
ID Requirement Pattern 97
Calculation Formula Requirement Pattern 102
Data Longevity Requirement Pattern 107
Data Archiving Requirement Pattern 110
Data Entity Requirement Patterns 119
Living Entity Requirement Pattern 129
Transaction Requirement Pattern 133
Configuration Requirement Pattern 138
Chronicle Requirement Pattern 144
Information Storage Infrastructure 154
Implementation Requirements 154
User Function Requirement Patterns 155
Inquiry Requirement Pattern 155
Report Requirement Pattern 161
Accessibility Requirement Pattern 158
User Interface Infrastructure 187
Reporting Infrastructure 189
Performance Requirement Patterns 191
Response Time Requirement Pattern 195
Throughput Requirement Pattern 204
Dynamic Capacity Requirement Pattern 212
Static Capacity Requirement Pattern 215
Availability Requirement Pattern 217
Flexibility Requirement Patterns 239
Scalability Requirement Pattern 241
Extendability Requirement Pattern 246
Unparochialness Requirement Pattern 254
Multiness Requirement Pattern 261
Multi-Lingual Requirement Pattern 272
Installability Requirement Pattern 274
Access Control Requirement Patterns 281
User Registration Requirement Pattern 284
User Authentication Requirement Pattern 295
User Authorization Requirement Patterns 305
Specific Authorization Requirement Pattern 308
Configurable Authorization Requirement Pattern 313
Approval Requirement Pattern 318
Commercial Requirement Patterns 325
Multi-Organization Unit Requirement Pattern 325
Fee/Tax Requirement Pattern 330
Glossary 341
References 349
Index 351