Preface
1. Software software engineering
I. The software process
2. Process models
3. Agile development
II. Modeling
4. Principles that guide practice
5. Understanding requirements
6. Requirements modeling: scenarios, information, analysis classes
7. Requirements modeling: flow, behavior, patterns, webapps
8. Design concepts
9. Architectural design
10. Component-level design
11. User interface design
12. Pattern-based design
13. Webapp design
III. Quality management
14. Quality concepts
15. Review techniques
16. Software quality assurance
17. Software testing strategies
18. Testing conventional applications
19. Testing object-oriented applications
20. Testing web applications
21. Formal modeling verification
22. Software configuration management
23. Product metrics
IV. Managing software projects
24. Project management concepts
25. Process project metrics
26. Estimation for software projects
27. Project scheduling
28. Risk management
29. Maintenance reengineering
V. Advanced topics
30. Software process improvement
31. Emerging trends in software engineering
32. Concluding comments
Appendix 1: An introduction to UML
Appendix 2: Object-oriented concepts
References
Index