全书分为4个部分,共有19章,全面介绍了软件工程学科的概念和方法。本书从软件工程概述开始,分别介绍传统的软件工程、面向对象的软件工程、软件工程管理和软件工程的高级课题。具体包括传统的软件可行性分析、软件开发计划、需求工程、结构化分析、结构化设计、编码、测试以及软件维护阶段的过程、方法、工具、文档及案例,以及面向对象的概念、模型、分析、设计及实现过程,软件项目管理、软件质量管理、软件配置管理及软件过程管理的内容,最后介绍Web工程、基于构件的软件开发、分布式系统的软件开发和敏捷开发方法。本书不仅介绍软件工程的概念、原理、方法和技术,而且强调方法和技术的实际应用,既有理论深度,又有具体的操作方法和案例分析。本书突出实际技能的培养,结合综合性实例讲解软件的分析与设计过程,使读者真正做到学以致用,可作为高等院校计算机及相关专业本科生和研究生的教材或参考书,也可作为软件工程领域技术人员的参考资料。
本书介绍计算机算法分析与设计的基本概念、典型算法和经典案例,使读者掌握常用的算法分析与设计技术。全书共分为8章,第1章介绍算法的概念与特征,算法分析与设计的相关数学基础,算法复杂性的概念、表示方法和衡量刻度标准;第2章讲述了算法相关的数据组织方式和组织结构,包括线性表、树、二叉搜索树、红黑树、B树、散列表、最小生成树等;第3~8章分别介绍分治法、动态规划法、贪心算法、回溯法、分支限界法、概率分析和随机算法等经典算法,并通过典型案例加以分析和说明。本书给出了各种算法的具体代码实现,其中,分治法、动态规划法采用传统的类C语言伪代码进行描述;贪心算法、回溯法、分支限界法、概率分析和随机算法则采用C#语言实现。 本书适合作为高等学校计算机及相关专业“算法设计与分析”课程的教材,也可供相关专业人员参考使用。