For introductory courses in Software Engineering. This introduction to software engineering and practice addresses both procedural and object-oriented development. The book applies concepts consistently to two common examples -- a typical information system and a real-time system. It combines theory with real, practical applications by providing an abundance of case studies and examples from the current literature. This revision has been thoroughly updated to reflect significant changes in software engineering, including modeling and agile methods.
1. Why Software Engineering?
2. Modeling the Process and Life Cycle
3. Planning and Managing the Project
4. Capturing the Requirements
5. Designing the Architecture
6. Designing the Modules
7. Writing the Programs
8. Testing the Programs
9. Testing the System
10. Delivering the System
etc.