'The focus on practice, with detailed examples on how to set up and run semester-long course projects, was extremely useful. This textbook covers exactly what is needed for the introduction to software engineering: the role and content of key areas, starting with the development process; going through requirements, architecture, testing, and ending with quality measurement. Everything is clearly articulated and grounded with timeless historical examples.' Audris Mockus, University of Tennessee
Preface; 1. Introduction; 2. Software development processes; 3. User requirements; 4. Requirements analysis; 5. Use cases; 6. Design and architecture; 7. Architectural patterns; 8. Static checking; 9. Testing; 10. Quality metrics; Appendix A: a team project; Notes; References; Index.