本篇博文目录:
- 1.CMM与CMMI
- (1) CMM
- (2) CMMI
- 2.软件开发模型
- (1) 瀑布模型
- (2) V模型
- (3) 增量模型
- (4) 演化模型
- (5) 喷泉模型
- (6) 统一过程模型
- 3.敏捷方法
- (1) 软件需求
- (2) 系统设计
- (3) 系统测试
- 4.测试
- (1)单元测试
- (2)集成测试
- (3) 测试方法
- 5.运行和维护知识
- (1) 系统可维护的评价指标
- (2) 维护与软件文档
- (3) 软件的可靠性,可用性,可维护性
- (4) 沟通路径
- (5) 软件项目估算
- (6) 进度管理
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的路径

(需要记忆)( 无法知道并行时间 )



最早时间

最晚时间,从结束到开始算

计算松弛时间




- 项目活动图





- 画项目活动图




( 只要修改关键路上的周期才可以修改时间 )





















