第1章 软件生命周期 1
1.1 概述 1
1.1.1 软件生命周期活动类型 1
1.1.2 典型文档 2
1.2 软件生命周期模型 2
1.2.1 线性序列模型 2
1.2.2 原型化模型 3
1.2.3 增量模型 3
1.2.4 勃姆的螺旋模型 3
本章习题 3
本章习题答案 4
第2章 软件过程和其他模型 6
2.1 软件过程模型 6
2.2 数据流程图 7
2.3 petri网模型 8
2.4 对象模型 9
2.4.1 存在依赖 10
2.4.2 实例图 11
2.5 用例图 12
2.6 场景 12
2.7 序列图 12
2.8 层次图 13
2.9 控制流图 13
2.10 状态图 14
2.11 网格模型 15
本章习题 16
补充题 17
本章习题答案 18
补充题答案 20
第3章 软件项目管理 25
3.1 概述 25
3.2 管理方法 25
3.3 团队方法 25
3.4 重要实践准则 26
3.5 能力成熟度模型 28
3.6 个体软件过程 28
3.7 挣值分析 29
3.7.1 基本度量 29
3.7.2 进度指示器 29
3.8 错误跟踪 30
3.9 事后回顾 31
本章习题 32
补充题 32
本章习题答案 34
补充题答案 35
第4章 软件项目计划 40
4.1 项目计划 40
4.2 工作分解结构 40
4.3 程序评估和评审技术 43
4.3.1 完成时间的算法 43
4.3.2 关键路径 44
4.3.3 构造关键路径的算法 44
4.3.4 宽松时间 45
4.3.5 宽松时间的算法 45
4.4 软件成本估算 46
4.4.1 代码行估算 46
4.4.2 基于LOC的成本估算 47
4.4.3 成本构成模型 47
4.4.4 功能点分析 49
4.4.5 生产率 50
4.4.6 评估估算值 51
4.4.7 自动估算工具 51
本章习题 52
补充题 52
本章习题答案 54
补充题答案 56
第5章 软件度量 61
5.1 概述 61
5.2 软件度量理论 62
5.2.1 单调性 63
5.2.2 度量尺度 63
5.2.3 统计 64
5.3 产品度量 64
5.3.1 McCabe环数 64
5.3.2 霍尔斯特德的软件科学 66
5.3.3 亨瑞-卡夫拉信息流 69
5.4 过程度量 69
5.5 GQM方法 70
本章习题 70
补充题 70
本章习题答案 72
补充题答案 73
第6章 风险分析和管理 77
6.1 概述 77
6.2 确定风险 77
6.3 估算风险 77
6.4 风险暴露程度 78
6.5 风险规避 79
6.6 风险管理计划 79
本章习题 80
补充题 80
本章习题答案 80
补充题答案 80
第7章 软件质量保证 83
7.1 概述 83
7.2 正式检查和技术评审 83
7.2.1 检查角色 83
7.2.2 检查步骤 84
7.2.3 检查表 84
7.3 软件可靠性 84
7.3.1 错误率 85
7.3.2 概率论 85
7.4 统计质量保证 85
7.5 SOA计划的IEEE标准 86
本章习题 88
补充题 88
本章习题答案 88
补充题答案 89
第8章 需求分析 95
8.1 概述 95
8.2 对象模型 95
8.3 数据流程建模 96
8.4 行为建模 96
8.4.1 用例 97
8.4.2 场景 97
8.4.3 状态图 98
8.5 数据字典 99
8.6 系统图 99
8.7 软件需求说明的IEEE标准 100
本章习题 101
补充题 101
本章习题答案 102
补充题答案 102
第9章 软件设计 108
9.1 概述 108
9.2 设计阶段 109
9.3 设计概念 111
9.4 度量内聚性 113
9.4.1 程序片 113
9.4.2 “粘合”权标 114
9.5 度量耦合性 116
9.6 需求可溯性 117
本章习题 119
补充题 120
本章习题答案 120
补充题答案 122
第10章 软件测试 124
10.1 概述 124
10.2 软件测试基础 124
10.3 测试覆盖条件 125
10.3.1 包含 125
10.3.2 功能测试 125
10.3.3 测试度量 126
10.3.4 结构测试 127
10.4 数据流测试 131
10.5 随机测试 132
10.5.1 操作配置文件 132
10.5.2 测试统计推断 133
10.6 边界测试 133
本章习题 134
补充题 134
本章习题答案 136
补充题答案 137
第11章 面向对象软件开发 143
11.1 概述 143
11.1.1 继承 143
11.1.2 多态性 144
11.2 确定对象 144
11.2.1 “文本中的名词”方法 144
11.2.2 确定继承 146
11.2.3 确定重用 147
11.2.4 用例方法 147
11.3 确定关联 148
11.4 确定多重性 150
本章习题 151
补充题 151
本章习题答案 152
补充题答案 152
第12章 面向对象度量 154
12.1 概述 154
12.1.1 传统度量 154
12.1.2 面向对象抽象 154
12.2 面向对象设计的度量套件 155
12.2.1 度量1:每类加权方法 155
12.2.2 度量2:继承树的深度 155
12.2.3 度量3:孩子数 155
12.2.4 度量4:对象类之间的耦合 155
12.2.5 度量5:类的响应 155
12.2.6 度量6:方法缺乏内聚性 156
12.3 MOOD度量 159
12.3.1 封装 159
12.3.2 继承因子 161
12.3.3 耦合因子 162
12.3.4 多态性因子 163
本章习题 163
补充题 163
本章习题答案 164
补充题答案 165
第13章 面向对象测试 168
13.1 概述 168
13.2 MM测试 168
13.3 函数对覆盖 171
本章习题 174
补充题 175
本章习题答案 175
补充题答案 176
第14章 正式表示法 178
14.1 概述 178
14.2 正式规范说明 178
14.2.1 前提条件 178
14.2.2 后置条件 179
14.2.3 不变式 179
14.3 对象约束语言 179
14.3.1 导航 179
14.3.2 不变式 180
14.3.3 属性 181
14.3.4 预定义操作 181
14.3.5 前提条件和后置条件 181
本章习题 182
补充题 182
本章习题答案 183
补充题答案 184