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