foreword
preface
acknowledgments
part ⅰ getting started
chapter 1 introduction to software engineering
chapter 2 modeling with uml
chapter 3 project organization and communication
part ⅱ dealing with complexity
chapter 4 requirements elicitation
chapter 5 analysis
chapter 6 system design: decomposing the system
chapter 7 system design: addressing design goals
chapter 8 object design: reusing pattern solutions
chapter 9 object design: specifying interfaces
chapter 10 mapping models to code
chapter 11 testing
part ⅲ managing change
chapter 12 rationale management
chapter 13 configuration management
chapter 14 project management
chapter 15 software life cycle
chapter 16 methodologies: putting it all together
part ⅳ appendices