软件工程师——(十一)软件工程
1. 软件开发模型———主要需掌握每种模型的特点

1. 瀑布模型(SDLC)———典型
的结构化方法
的模型
- 1、基本结构

- 2、存在的问题
- 由于
需求阶段难以把控
(软件的需求往往都是不明确的,尤其在项目初期),容易被用户推翻
修改时
,需要回到需求分析阶段
,会浪费大量时间
,导致软件项目失败
- 3、适用场景———
需求明确
、二次开发
2. 其他经典模型

0. 原型法
- 说明————通过
简易系统
的方式,以比较低
的成本获取比较全面
,比较准确
的用户需求
- 实现过程
- 项目
开发初期
,构造一个简易系统(一套界面或初步的系统)
- 把
简易系统
给用户演示
- 演化模型(变换模型)
- 说明———将
最初的原型
通过很多步的演化
,调整成
给用户使用的软件产品
1. 增量模型

- 说明———有
原型的思想
加上瀑布模型的思想
,得到增量模型
- 思路
- 先做
用户需求
的核心模块
,拿给用户进行使用,发现问题就修正问题
- 然后再
增加
开发新的模块
,拿给用户进行使用,发现问题就修正问题
- 不断
重复
以上步骤
2. 螺旋模型

- 说明———由
原型发展而来
,同时拥有演化模型
和瀑布模型
的特征
- 特征
3. V模型(一个强调测试
的模型)

- 特点
提升
了测试的地位
,对于测试进行细化
步骤之间
有着对应关系
需求分析
时会写
验收测试和系统测试的测试计划
———便于提早发现系统存在的问题
概要设计
时会做
集成测试的测试计划
———概要设计
会进行模块的划分
,集成测试
会测试模块之间衔接
,就可以发现模块划分
出现的问题
详细设计
时会写
单元测试的测试计划
4. 喷泉模型(比较早
的面向对象
的模型)

5. RAD(快速开发模型)

- 特点
瀑布模型
和构建化开发模型(CBSD)
组合形成
- 可以
快速的构建
应用系统
- 开发步骤
- 业务建模
- 数据建模
- 过程建模
- 应用生成
- 测试与交付
6. 构建组装模型(CBSD)

- 特点
极大地提高
了软件开发
的复用性
,从而极大的减小
软件开发的时间成本
降低
软件开发成本
,提高
软件可靠性
- 基本思路
- 将软件开发中的
各个模块
都考虑做成标准的构件
- 将
构件进行组装
,从而得到需要的软件
- 构件标准
- CORBA———
对象管理组织(OMG)
提出的
- COM/DCOM/COM+———
微软
家族的
- EJB———
Java体系
中用到的
7. 敏捷开发方法(适用于小型项目
)

- 基本思想———
砍掉不必要的流程
,减去不必要的文档
,从而减轻开发人员负担
- 相关模型———共
同价值观
,共同处事原则
- 自适应开发
- 水晶方法
- 特征驱动开发
- SCRUM
- 极限编程(XP)
- 基本原则
- 短平快的会议———砍掉不必要的会议,找到
替代的方法
- 小型版本的发布
- 较少的文档
- 合作为重
- 客户直接参与
- 自动化测试
- 适应性计划调整
- 结对编程
- 测试驱动开发
- 持续集成
- 重构
2. 信息系统的开发方法———了解每种方法的特征

3. 需求的分类与获取

4. 结构化设计
1. 基本原则

2. 内聚和耦合(内聚程度
从高到低
排列;耦合程度
从低到高
排列;)

3. 系统结构/模块结构

5. 软件测试
1. 测试原则与类型

2. 测试用例设计

3. 测试阶段

4. McCaba复杂度———需掌握
(注意那个是边
,那个是点
,分叉
可以抽象为结点
,也可
以不抽象为结点
)

5. 系统运行与维护

6. 软件过程改进(CMMI)

7. 项目管理

相关计算———考点

- 1、
Gantt图不能
直观的表达出各个任务之间的依赖关系
- 2、
PERT图
计算(先正推求出
事件的最早开始时间
,然后逆推求出
事件的最晚开始时间
)
- (正推)
最早开始时间
=Max(耗时最长的)(前一个事件``最早开始时间
+事件的持续时间
)
- (逆推)
最晚开始时间
=后一个事件``最早开始时间
-事件的持续时间
- 3、答案————D、C
2. 风险管理
