Contents
CHAPTER 1
SOF'TWARE AND SOFTWARE ENGINEERING 1
1 1 The Nature of Sohwore
1 . 3 Software Engineering
Part one
THE SOFTWARE PROCESS 29
CHAPTER 2 PROCESS MODELS
CHAPTER 3 AGILE DEVELOPMENT
PART TWO MODELING
CHAPTER 4 PRINCIPLES THAT GUIDE PRACTICE 96
CHAPTER 5 UNDERSTANDING REQUIREMENTS
CHAPTER 6 REQUIREMENTS MODELING: SCENARIOS, INFORMATION, AND ANALYSIS CLASSES 148
CHAPTER 7 REQUIREMENTS MODELING: FLOW, BEHAVIOR, PATTERNS, AND WEBAPPS 186
CHAPTER 8 DESIGN CONCEPTS 215
The Design Process
CHAPTER 9 ARCHITECTURAL DESIGN 242
CHAPTER 10 COMPONENT-LEVEL DESIGN 276
What Is a Componeni
CHAPTER 11
USER INTERFACE DESIGN
CHAPTER 12
PATTERN-BASED DESIGN 347
CHAPTER 13
WEBAPP DESIGN 373
CHAPTER 14
QUALITY CONCEPTS 398
CHAPTER 15
REVIEW TECHNIQUES
CHAPTER 16
SOFTWARE QUALITY ASSURANCE 432.
CHAPTER 17
SOFTWARE QUALITY STRATEGIES
CHAPTER 18
TESTING CONVENTIONAL APPLICATIONS
CHAPTER 19
TESTING OB.JECT-ORIENTED APPLICATIONS
CHAPTER 20
TESTING WEB APPLICATIONS
CHAPTER 21
FORMAL MODELING AND VERIFICATION 557
CHAPTER 22
SOFTWARE CONFIGURATION MANAGEMENT
CHA.PTER 23
PRODUCT METRICS 61 '2
CHAPTER 24
PROJECT MANAGEMENT CONCEPTS
CHAPTER 25
PROCESS AND PROJECT METRICS
CHAPTER 26
ESTIMATION FOR SOFTWARE PROJECTS
CHAPTER 27
PROJECT SCHEDULING
CHAPTER 28
RiSK MANAGEMENT 744
CHAPTER 29
MANAGEMENT AND REENGINEERING
PART FIVE
ADVANCED TOPICS 785
CHAPTER 30
SOFTWARE PROCESS IMPROVEMENT 786
CHAPTER 31
ENERGING TRENDS IN SOFTWARE ENGINEERING
CHAPTER 32
CONCLUDING COMMENTS
APPENDIX l AN INTRODUCTION TO UML
APPENDIX 2 OBJECT-ORIENTW CONCEPTS