第一章
1.软件:程序+数据+文档;
2.软件的特性:(1)复杂性;(2)一致性;(3)退化性;(4)易变性;(5)移植性;(6)高成本性;
3.软件危机:(1)软件规模大,复杂度增加,需求量增加,价格昂贵,供需矛盾。(2)软件开发质量差,研制过程难管理。(3)开发模式不能适应软件发展的需求。
4.解决软件危机(避免二次开发):(1)需求分析;(2)做好软件定义时期工作;(3)开发过程要有统一的,公认的方法论和规范指导;(4)必须在测试阶段充分做好检测工作。
5.软件工程:核心思想:强调开发过程中需要应用工程化思想。软件开发中工程化的主要思想:软件项目管理。软件项目管理的作用:(1)提高质量,降低成本;(2)为软件的工程化开发提供保障。
6.能力成熟度模型:CMM;软件开发范式(模型):主要区别:模型不同;
7.软件工程基本原理:(1)推迟实现原理;(2)逐步求精原理;(3)分解与抽象原理;(4)信息隐蔽原理;(5)质量保证原理;
8.基本原则(确保软件产品质量与开发效率):(1)分阶段的软件生存周期;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)明确责任;(6)开发小组的人员应少而精;(7)不断改进开发过程;
9.结构化开发范式:技术包括:结构化分析、结构化设计、结构化编程和结构化测试。
10.面向对象开发范式:优势:维护阶段;
11.重型软件工程和轻型软件工程:一般大型项目使用重型软件工程,小型项目使用轻型软件工程。
12.软件工程活动:沟通活动(包括确认合适的用户,非正式沟通和正式沟通)、计划活动(项目计划 项目跟踪管理)、建模活动(软件建模分为软件过程建模和软件本身建模,建模活动包括构建模型,描述模型)、实现活动(编码)、部署活动(建立系统运行的环境)、维护活动(在软件运行和维护阶段对软件产品进行必要的调整和修改)、管理活动、过程改进活动(过程定义和过程改进)。