Preface
Acknowledgments
PART 1
Introducing Good Requirements
CHAPTER 1
The Importance of Good Requirements
Rationale for Good Requirements
Approach to Good Requirements
Benefits of Good Requirements
Impact of Good Requirements on Development and Productivity
Impact of Good Requirements on the Organization
Identification of a Good Requirement
CHAPTER 2
Characteristics of Good Requirements
Characteristics of a Good Requirement
Gharacteristics of a Good Set of Requirements
Language of Good Requirements
Communicability of Good Requirements
CHAPTER 3
Overview of the Artifacts and the Process
Introduction to the Artifacts
Introduction to the Process
Moving from Requirements to Design
PART 2
Building the User Requirements
CHAPTER 4
Getting to Know the Problem Domain
Researching the Area
Reading,Reading ,Reading
Interviewing the Customer and Users
Building the Use Cases
CHAPTER 5
Actors and Use Cases
Defining the Boundaries of the System
Moving from Steady State to Steady State
Identifying Use Cases
Introducing the Change Management System Example
CHAPTER 6
Modeling Use Cases
Diagramming Use Cases
Generalizing Use Cases
Generalizing Use Cases for the Change Management System
Relationships Among Use Cases
Diagramming Change Management System Use Cases
Packaging Use Cases
Packaging the Change Management System Use Cases
CHAPTER 7
Using Activity Diagrams to Represent Use Cases
Elements of Activity Dagrams
Change Management System Activity Diagram
CHAPTER 8
Writing Use Cases
Template Use
Step-by-Step Description
Alternative Courses
Exceptions and Issues
Change Management Use Case
CHAPTER 9
Using Storyboards to Validate the Use Cases
Presentation of Storyboards to the User
Evolutionary Graphical User Interface Presentations
Other Diagrams and Pictures
Presentation of Use Cases to the User
Change Management Systems Storyboards
PART 3
Building the Requirements Architecture
CHAPTER 10
Entities and Events as Objects
Classes and Objects
Remembered Events as Classes
Change Management System Classes
CHAPTER 11
Building a Class Diagram
Generalization
Polymorphism
Aggregation
Association
Packaging Classes
Change Management System Examples
CHAPTER 12
Using State Transition Diagrams
Introduction to State Transition Diagrams
Class-Level State Transition Diagrams
Use-Case-Level State Transition Diagrams
System-Level State Transition Diagrams
Change Management System State Transition Diagram
CHAPTER 13
Use Case Realization by Means of Sequence Diagrams
Introduction to Sequence Diagrams
Realizing Use Cases in Sequence Diagrams
Example Sequence Diagram for the Change Management System
PART 4
Building the Specifications
CHAPTER 14
Developing a software Requirements Specification
Tailoring the Standard to Meet Your Needs
Specifying Functional Requirements from the Class Diagram
Specifying Nonfunctional Requirements
Identifying Dependencies Between Requirements
CHAPTER 15
Developing an Interface Requirement Specification
The IRS Template
Front Matter of the IRS
Reference Section of the IRS
Requiremint Section of the IRS
Protocol and Messages Section of the IRS
CHAPTER 16
Verifying the Software Requirements Specification
Using the Process to Ensure Good Requirements
Using Peer Reviews to Ensure Good Requirements
Specifying a Test Tree
Analyzing the Test Tree
Requirements Verification Checklist
PART 5
Using the Requirements Architecture
CHAPTER 17
Maintaining the System
Receiving the Change Request
Analyzing the Change
Analyzing User Needs
Identifying New and Changed Use Cases
Identifying New and Changed Requirements
Implementing a Release
CHAPTER 18
Ensuring Maximum Benefits from the Requirements
Benefits to Development and Productivity Revisited
Benefits to Testing and Quality Revisited
Benefits to the Organization Revisited
PART 6
Appendices
APPENDIX A
Plannign Model for Requirements Development
Model Work Breakdowsn Structure
Model Effort Allocation
Model Schedule Allocation
Standard Major Milestones
APPENDIX B
Change Management System Artifacts
Change Management System Use Cases
Change Management System Class Diagrams
Change Management System State Diagrams
Change Management Software Requirements Specification
Bibliography
Index