考点:开发模型,质量管理,需求分析,结构化分析设计,内聚耦合,测试维护,CMM成熟度,关键路径
1. 模型:
瀑布模型(不适合超大规模) 演化模型: 自外向内 螺旋模型: 风险分析:风险暴露 = 风险出现率 * 损失 喷泉模型 : 用户需求为动力,对象为驱动,面向对象,迭代无间隙 增量模型 : (第一个增量是核心产品) 分为渐增模型(以瀑布模型为基础,分为增量构造模型(整体开发,部分增量开发)和(演化提交模型(所有阶段都是增量开发)))和原型模型。
2. 质量管理(ISO/IEC9126):
功能性 : 适合,准确,互操作,依从,安全
可靠性 : 成熟,容错(容错系统分为 时间冗余,信息冗余,结构冗余(静态,动态,混合)),易恢复
易使用性 : 易理解,易学习,易操作
效率 : 时间特性,资源特性
可维护性 : 易分析,易更改,稳定,易测试
可移植 : 适应,易安装,一致,易替换
3. 需求分析设计 :
需求工程 : 需求开发 (主线,目标), 需求管理 (支持,保障)
需求分析 : 确认测试 (黑盒)
4. 结构化 :
设计 : 面向数据流(变换流,事务流),从数据流图 导出 模块结构图,使用的图形工具是:程序结构图, 程序 流程图 ,N-S盒图 , PAD 图(自顶向下) 语言描述工具 : PDL 表格描述工具: 判定树 判定表
分析 : 基本手段 : 分解与综合 ,可得到 分层数据流图 和数据字典
概要设计 : 集成测试 (黑盒 (等价类划分))
详细设计 : 单元测试 (在实现阶段进行) (白盒(逻辑驱动测试))
5. 内聚耦合 :
内聚性(模块独立性)由高(功能单一)到低(功能分散) : 功能--> 信息 -->通信 -->过程 -->时间 -->逻辑 -->巧合
耦合由强到弱 : 内容(内部数据)--> 公共(公共数据环境)--> 外部 -->(全局简单变量)--> 控制 --> 标记(数据结构)--> 数据(数据参数)--> 非直接 [ 模块独立性由弱到强 ]
6. 测试维护 :
核心 : 维护评估,维护验证
动态 : 白盒 ,黑盒
测试用例: 测试数据和预期结果
白盒 路径覆盖程度由弱到强 : 语句 ->判定 -->条件 -->判定条件 -->条件组合 --> 路径
维护: 改正性维护 : 出错
适应性 : 变化的环境 (更新,升级)
完善性 : 扩充功能
预防性 : 提高可维护性
面向对象的可维护性分为三个方面 : 可理解(良好的编程风格) 可测试 可修改(信息隐蔽原则)
7. CMM (软件成熟度) : 除第一级外,每个等级都包含实现成熟度目标的关键过程域
可重复级 : 存在 支持计划和追踪的项目管理系统
8. Gannt图
PERT图:将网络方法用于工作计划
关键路径 : 最长路径 ,关键路径上的活动松弛时间为0
9. XP:面向对象,交流,朴素,反馈,勇气,谦逊。 UP:用例驱动,体系结构为核心,迭代及增量,UML支持。 步骤:先启(目标),精化(架构),构建(功能),交付(发布)。
细碎知识点 :
1. 软件配置管理 : 版本控制 ,变更控制(“检出” “登入”),过程支持
2. 系统开发计划包括 : PERT图,预算分配表
3. Macabe : e-n+2 或者 二元判定数+1
4. 包括 n 个人员的沟通路径 : n* (n-1)/2
5. 面向数据结构的设计方法 : Jackson
6. 变更控制 : 配置数据库(开发库,受控库,产品库),基线
7. 逻辑设计依据: 需求说明文档,数据字典,数据流图