Foreword
Preface
Acknowledgments
PART I Getting Started
Chapter 1 Introduction to Software Engineering
Chapter 2 Modeling with UML
Chapter 3 Project Organization and Communication
PART II Dealing with Complexity
Chapter 4 Requirements Elicitation
Chapter 5Analysis
Chapter 6System Design: Decomposing the System
Chapter 7System Design: Addressing Design Goals
Chapter 8Object Design: Reusing Pattern Solutions
Chapter 9 Object Design: Specifying Interfaces
Chapter 10 Mapping Models to Code
Chapter 11Testing 437
PART III Managing Change
Chapter 12 Rationale Management
Chapter 13 Configuration Management
Chapter 14Project Management
Chapter 15Software Life Cycle
Chapter 16Methodologies: Putting It All Together
PART IV Appendices
Appendix Bibliography
Index