本篇博文目录:
1.CMM与CMMI
(1) CMM
答案:B
答案:C
答案:C
答案:B
(2) CMMI
正确答案:C
答案:D
答案:A
答案:D
2.软件开发模型
(1) 瀑布模型
(2) V模型
(3) 增量模型
(4) 演化模型
原型模型( 小型软件,用户需求不清,需求经常变化
)
螺旋模型:( 风险分析,大型软件
)
- 制定计划
- 分析分析
- 实施工程
- 用户评估
优缺点:
(5) 喷泉模型
(6) 统一过程模型
3.敏捷方法
(1) 软件需求
(功能需求:考虑系统要做什么,在何时以及如何修改或升级)
(2) 系统设计
概要设计:
详细设计:
(3) 系统测试
基本原则:
4.测试
(1)单元测试
五个特征:
单元测试过程:
(2)集成测试
(不需要编写驱动模块,需要编写桩模块
)
(需要编写驱动模块,不需要编写桩模块
)
(3) 测试方法
黑盒测试:
(1) 定义等价类的划分:
0<=x<=100,在[0,100]是有效等价,在这个区间外的无效等价类
( 应该包有一个正确用例,二个错误用例就不是一个好的测试用例
)
McCabe度量法
白盒测试
(下图的6种覆盖能力从弱到强
)
- 语句覆盖
(只需要一个测试用例(A=4,B=4,C=2)就可以完成语句覆盖)
- 判定覆盖(
比语句覆盖更强,每个判定表达式至少获得一次真和假值
)
(完成判定覆盖需要二次测试用例
)
- 条件覆盖(
判断中的逻辑每一个都需要获取一次真和假
)
- 判断/条件覆盖
- 条件组合覆盖
- 路径覆盖
伪代码->程序流程图
程序流程图如下:
条件覆盖至少需要4个:复杂性为=10-8+2=4,所以答案为BD
5.运行和维护知识
(1) 系统可维护的评价指标
系统可维护的评价指标( 理解修改测试
):
(2) 维护与软件文档
软件可维护:
( 软件每一个阶段都应考虑并提高软件的可为何性
)
( 文档是可维护性的决定因素
)
( 软件维护的周期要远远高于开发
)
软件文档:
软件维护内容:
软件维护分为软件维护,硬件维护和数据维护
软件维护几个方面:
(3) 软件的可靠性,可用性,可维护性
(4) 沟通路径
(5) 软件项目估算
( 基本COCOMO模型,是一种静态单变量模型
)
( 中级COCOMO模型是一种静态多变量模型
)
( 详细COCOMO模型3个层次系统,子系统和模块
)
( 在COCOMOLL模型基础上多了三个阶段性模型(第一个阶段对应对象点,第二个阶段对应功能点),第三个阶段有三种不同规模对象点,功能点,代码行
)
(6) 进度管理
- Gantt图
(=需要记忆=) ( 无法知道任务间的依赖关系
)
- 能够清晰描述每个任务从何时开始,任务各个进展情况以及各个任务之间的并行性
- 不能清晰反映出各任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中潜力部分
- PERT图
最早时刻
最晚时刻(二个中取max最大值),松弛时间(二个中取min最小值)
关键路径,就是松弛时间都为0的路径
(需要记忆)( 无法知道并行时间
)
最早时间
最晚时间,从结束到开始算
计算松弛时间
- 项目活动图
- 画项目活动图
( 只要修改关键路上的周期才可以修改时间
)