本书是作者多年教学研究与工程项目开发经验编写的软件工程实践教程。 全书以5条主线介绍软件工程的原理、方法和过程。第1条,从软件的特点引出软件危机的概念,介绍软件危机的解决方法,即本书的的核心内容软件工程,第2条从软件的生存周期入手,介绍软件生命周期各个阶段软件的存在形式和评价标准,详佃介绍软件文档的写作及管理,第3条从软件工程实践出发,介绍可行性研究结构化分析和设计方法,以及相应的工具和步骤,第4条从面向对象的概念入手,结合UML讲述面向对象分析和设计的方法、工具和步骤,第5条详细讲述软件测试的概念、方法、策略和步骤。 本书以实例驱动理论讲解。在结构化方法和面向对象方法的讲述中使用相同的示例,目的是让读者从中体会两种方法各自的特点,特别是面向对象方法的优点。 本书适用于普通高等院校“软件工程”课程的教材或参考书。书中给出了大量的实用模板和表格,可供软件工程师在实际项目开发参考应用。