软件工程
考点:
1.软件开发的生命周期模型
2.项目管理基础
3.软件质量管理基础
4.需求分析与设计基础
5.结构化分析和设计
6.测试及维护
7.软件过程改进(CMM)
软件开发的生命周期
- 瀑布模型:理想化的开发模型,要求有明确的需求分析,而达到这一点在现实中几乎不可能。(结构化的开发方法)
![瀑布模型](http://wx2.sinaimg.cn/mw690/852f665cgy1g30y024ldij20i20djgn6.jpg)
- 设计阶段依次是:概要设计、详细设计
- 测试阶段依次是:单元测试、集成测试(系统测试)、(客户参与的)确认测试。但是各阶段的测试计划制定是逆向的,即先设计集成测试计划(概要设计阶段)、再设计单元测试计划(详细设计阶段)
- 在编码的时候需要同步进行单元测试
- 演化模型(原型法):动态定义需求的方法,不需要明确的需求,通过不断地试用对原型进行优化迭代。
- 螺旋模型:结合瀑布模型和演化模型,每一个螺旋为一个周期(制定计划、风险分析、实施工程、用户评估),并产生一个原型。最初的第一个螺旋是从概念项目开始的。
- 喷泉模型:最核心的特点就是迭代,所有的开发活动没有明显的边界,允许各种开发活动个交叉进行。
项目管理基础
- 核心问题:成本、质量、进度
- 项目管理的主要活动:启动软件项目、度量、估算、风险分析、进度安排、追踪和控制
- 开发过程中三个阶段:项目启动阶段、项目实施阶段、项目关闭阶段
- 软件估算:软件规模估算、软件工作量估算、软件成本估算
- 项目的组织和管理
- Gannt图
![甘特图](http://wx1.sinaimg.cn/mw690/852f665cgy1g30zp5carnj20rb0hpn7c.jpg)
- PERT技术和CPM方法:PERT技术叫做计划评审技术,CPM方法叫做关键路径方法
- 项目组织和计划
- 计划的制定:人员职责矩阵和甘特图
- 进度监控和计划的修正:EVA分析法
- 配置管理
- 制定配置管理计划
- 实施变更管理:需要借助配置数据库和基线
- 实施版本管理:对系统不同版本进行标识和跟踪的过程
- 发行管理
- 风险管理
- 风险识别:项目风险、技术风险、商业风险
- 风险估计
- 风险驾驭
软件质量管理