简介
软件工程学将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型、分析与设计方法、软件工程开发与管理技术和工具,是指导软件生产和管理的一门新兴的、综合性的应用科学。《软件工程方法与实践》分别从传统的结构化开发范型和面向对象开发范型两个方面,把软件工程的概念和理论知识融入到实践当中,通过丰富的案例分析与设计,更深入地理解软件开发中各个阶段的技术、方法和管理过程。《软件工程方法与实践》包括软件工程与过程、软件需求分析与建模、软件设计、软件测试与维护和软件工程管理五个部分,共16章,深入介绍了软件开发“工程化”思想。
《软件工程方法与实践》适合作为高等院校软件工程课程的教材,即适用于计算机专业的学生,也适用于其他非计算机专业从事软件开发与应用及管理的专业学生和技术人员学习的教材。《软件工程方法与实践》还可以成为从事软件开发人员必备的参考书。
《软件工程方法与实践》将软件工程原理和实践分析相结合,以案例项目为主线贯穿全书,介绍了软件工程涉及的概念。原理和方法,按照软件工程阶段要求建立系统模型,包括分析。设计、测试、管理等。在每个阶段安排能够体现该阶段原理和思想的案例,全面介绍软件工程的要点,使学生能够深入理解软件工程的原理。方法和技术并充分认识开发过程和迭代工作的重要性,同时进一步了解企业软件工程运用的规范和要求,为日后工作中出色完成项目任务和迭代任务打下坚实的基础。
《软件工程方法与实践》特点
·坚持基本理论适度,强调工程实践和应用环节,把软件工程的概念和理论知识融入实践之中。
·以”案例”为驱动,以实践教学为基础,提供5个典型案例支持,不同的案例介绍和分析层次充分体现技术的适用性和方法的实用性。
·注重教学资源的配套,为任课教师配有电子教案。
·配套教材《软件工程实验教程》,引导学生学习软件生命周期各阶段所用到的CASE工具,包括软件文档标准与规范。软件分析与设计、软件测试和软件项目管理四个部分,共设计了15个实验,培养学生实践创新能力和专业技能。
目录
前言.
教学建议
第一部分 软件工程与过程
第1章 概述 2
1.1 软件工程的基本概念 2
1.1.1 软件的角色和特性 2
1.1.2 软件演化 3
1.1.3 软件神化和危机 4
1.1.4 软件危机的解决途径 4
1.2 工程化思想 5
1.2.1 工程化所涉及的范围 5
1.2.2 工程化管理思想 5
1.3 软件工程两大范型 5
1.4 软件工程思想与基本原理 6
1.4.1 软件工程基本原理 7
1.4.2 软件工程思想 7
1.5 软件工程活动 9
1.5.1 软件开发活动 9
1.5.2 软件项目管理活动 9
1.5.3 软件过程改进活动 10
.1.6 小结 10
习题 10
第2章 软件过程 11
2.1 软件过程概述 11
2.1.1 过程方法与工具 11
2.1.2 软件过程框架 12
2.1.3 软件过程模型 12
2.2 软件生命周期 12
2.3 能力成熟度模型集成 13
2.4 敏捷过程 16
2.4.1 什么是敏捷过程 17
2.4.2 极限编程 18
2.4.3 自适应软件开发 20
2.4.4 动态系统开发 21
2.4.5 特征驱动开发 21
2.5 软件工程实践 22
2.5.1 概念 22
2.5.2 沟通实践 23
2.5.3 计划实践 23
2.6 小结 24
习题 24
第3章 软件过程模型 25
3.1 瀑布模型 25
3.2 增量模型 26
3.2.1 增量构造模型 27
3.2.2 演化提交模型 27
3.3 螺旋模型 27
3.4 协同开发模型 28
3.5 面向对象过程模型 29
3.5.1 面向对象概念 29
3.5.2 统一过程模型 30
3.5.3 组件集成模型 33
3.6 面向方面的软件开发 34
3.7 小结 36
习题 36
第4章 案例研究 37
4.1 案例研究中涵盖的内容 37
4.2 案例1:出卷系统 37
4.3 案例2:短信系统 37
4.4 案例3:pos机系统 38
4.5 案例4:atm机系统 38
4.6 案例5:图书馆系统 38
4.7 小结 38
习题 38
第二部分 软件需求分析与建模
第5章 软件需求分析过程 40
5.1 什么是软件需求 40
5.1.1 功能需求 40
5.1.2 非功能需求 40
5.1.3 领域需求 41
5.2 需求分析过程 43
5.2.1 初步沟通 43
5.2.2 导出需求 43
5.2.3 分析和精化 44
5.2.4 可行性研究 44
5.2.5 协商与沟通 44
5.2.6 规格说明 44
5.2.7 需求验证 46
5.2.8 需求变更管理 46
5.3 启动分析过程 46
5.3.1 确认利益相关者 46
5.3.2 识别视点 47
5.3.3 协同工作 47
5.3.4 首次提问 47
5.4 非形式化需求分析技术 47
5.4.1 会谈 47
5.4.2 调查表 49
5.4.3 场景分析 49
5.5 案例分析 49
5.5.1 出卷系统 49
5.5.2 pos机系统 50
5.5.3 图书馆系统 50
5.5.4 短信系统 51
5.5.5 atm机系统 51
5.6 小结 51
习题 52
第6章 结构化分析建模 53
6.1 分析模型概述 53
6.1.1 分析模型元素 53
6.1.2 分析模式 54
6.1.3 目标与原理 54
6.2 结构化需求分析 54
6.2.1 结构化分析方法 55
6.2.2 结构化分析模型 55
6.3 面向数据的建模方法 56
6.3.1 实体 56
6.3.2 属性 56
6.3.3 关系 57
6.3.4 基数 57
6.3.5 案例分析 57
6.4 面向数据流的建模 58
6.4.1 数据流图 58
6.4.2 数据字典 60
6.4.3 状态转换图 61
6.4.4 加工逻辑的描述 61
6.5 案例分析 64
6.5.1 出卷系统 64
6.5.2 图书馆系统 66
6.5.3 pos机系统 68
6.5.4 短信系统 69
6.6 小结 71
习题 71
第7章 面向对象分析 73
7.1 面向对象建模 73
7.1.1 面向对象模型 73
7.1.2 统一建模语言(uml) 75
7.2 用例建模 76
7.2.1 编写用例 76
7.2.2 开发活动图 81
7.2.3 泳道图 82
7.3 建立领域模型 82
7.3.1 识别分析类 83
7.3.2 用例实现分析 84
7.3.3 关联与依赖 86
7.3.4 识别属性和操作 86
7.4 行为建模 87
7.4.1 系统顺序图 87
7.4.2 操作契约 88
7.4.3 顺序图与协作图 89
7.4.4 状态图 90
7.5 案例分析 90
7.5.1 pos机系统 91
7.5.2 atm机系统 92
7.5.3 短信系统 96
7.6 小结 98
习题 98
第三部分 软件设计与建模
第8章 软件设计 100
8.1 软件设计概述 100
8.1.1 软件设计过程和设计质量 100
8.1.2 概要设计说明书 101
8.1.3 详细设计说明书 102
8.2 软件模块化设计 103
8.2.1 软件模块化 103
8.2.2 抽象 104
8.2.3 体系结构 104
8.2.4 信息隐蔽 104
8.2.5 模块独立性 105
8.2.6 逐步求精 106
8.2.7 重构 106
8.3 软件结构 106
8.3.1 软件结构图 106
8.3.2 模块化设计的优化 107
8.4 软件系统结构模型 108
8.4.1 系统构成模型 108
8.4.2 系统控制模型 110
8.5 体系结构模式 111
8.6 小结 111
习题 111
第9章 结构化设计方法.. 113
9.1 结构化设计方法概述 113
9.1.1 概要设计 113
9.1.2 详细设计 113
9.2 数据流类型 114
9.2.1 变换型数据流 114
9.2.2 事务型数据流 114
9.2.3 混合型数据流 114
9.3 数据流设计方法 115
9.3.1 数据流映射步骤 115
9.3.2 变换流设计 115
9.3.3 事务流设计 116
9.3.4 综合分层的数据流设计 117
9.4 面向数据的设计 118
9.4.1 jackson图 118
9.4.2 jsd方法设计步骤 118
9.4.3 jsd举例分析 119
9.5 结构化程序设计方法 121
9.5.1 基本概念 121
9.5.2 结构化程序设计工具 122
9.6 案例分析 126
9.6.1 出卷系统 126
9.6.2 图书馆系统 129
9.7 小结 131
习题 131
第10章 面向对象设计 134
10.1 面向对象设计过程 134
10.1.1 系统模型描述 134
10.1.2 逻辑架构和包图 134
10.1.3 对象识别 135
10.1.4 设计模型 135
10.1.5 对象接口描述 137
10.2 构件级设计 137
10.2.1 构件类 137
10.2.2 构件级设计步骤 138
10.2.3 基于类的构件设计原则 139
10.3 设计模式 140
10.3.1 设计模式概述 140
10.3.2 基于职责的设计 140
10.4 面向对象详细设计 144
10.4.1 领域模型精化 144
10.4.2 逻辑架构精化 147
10.4.3 包设计 149
10.4.4 精化的交互图 150
10.4.5 精化的类图 152
10.4.6 持久性设计 154
10.4.7 部署图与构件图 156
10.5 案例分析 157
10.5.1 pos机系统 157
10.5.2 短信系统 158
10.5.3 atm机系统 159
10.6 小结 163
习题 164
第11章 软件实现 165
11.1 编码语言 165
11.1.1 编码语言的分类 165
11.1.2 编码语言特性 165
11.1.3 面向对象语言的特点 166
11.1.4 编码语言的选择 167
11.2 编码风格 168
11.2.1 编码的基本原则 168
11.2.2 面向对象编码原则 169
11.3 人机界面设计 171
11.3.1 人机界面分析和设计 171
11.3.2 人机界面设计步骤 173
11.3.3 人机界面设计指南 174
11.4 案例分析 175
11.4.1 pos机系统 175
11.4.2 短信系统 177
11.4.3 出卷系统 191
11.5 小结 194
习题 194
第四部分 软件测试与维护
第12章 软件测试 196
12.1 软件测试的任务 196
12.1.1 验证与确认 196
12.1.2 软件测试的组织形式 197
12.1.3 软件测试的目的与原则 197
12.1.4 完成标准 199
12.2 软件测试过程模型 200
12.2.1 v模型 200
12.2.2 w模型 200
12.2.3 h模型 201
12.3 软件测试策略 201
12.3.1 单元测试 202
12.3.2 集成测试 204
12.3.3 确认测试 205
12.3.4 系统测试 205
12.4 测试用例设计 205
12.4.1 测试用例设计的目的 205
12.4.2 测试用例设计的方法和描述 206
12.4.3 测试用例设计的重要性和影响因素 206
12.4.4 编写测试用例时的注意事项 206
12.5 黑盒技术 207
12.5.1 等价类划分法 207
12.5.2 边界值分析法 208
12.5.3 错误推测法 209
12.5.4 因果图法 209
12.6 白盒技术 211
12.6.1 逻辑覆盖法 212
12.6.2 基本路径测试法 214
12.6.3 循环测试法 218
12.7 集成测试技术 219
12.7.1 集成策略 219
12.7.2 接口测试 221
12.8 自动测试工具 221
12.9 调试 222
12.9.1 调试过程 222
12.9.2 调试策略 223
12.10 案例分析 224
12.11 小结 229
习题 230
第13章 软件维护 231
13.1 软件维护概述 231
13.1.1 软件维护的任务 231
13.1.2 软件维护的特点 231
13.1.3 软件可维护性 232
13.2 软件维护类型 232
13.2.1 纠错性维护 232
13.2.2 完善性维护 233
13.2.3 适应性维护 233
13.2.4 预防性维护 233
13.3 软件维护技术与过程 233
13.3.1 面向维护的技术 234
13.3.2 维护支援技术 234
13.3.3 软件维护过程 234
13.4 非结构化维护和结构化维护 236
13.5 提高可维护性 236
13.6 面向对象的软件维护 238
13.7 小结 238
习题 238
第五部分 软件工程管理
第14章 软件项目管理 240
14.1 项目管理概述 240
14.2 软件项目管理范围 241
14.2.1 人员 241
14.2.2 项目和过程 242
14.2.3 软件度量 243
14.2.4 软件项目管理计划文档 244
14.3 软件团队组织范式 246
14.3.1 民主分权式 246
14.3.2 控制集权式 247
14.3.3 控制分权式 248
14.3.4 敏捷团队 248
14.4 项目组织原则 249
14.5 软件过程管理 249
14.5.1 软件过程度量 249
14.5.2 软件过程改进 250
14.5.3 项目度量 251
14.6 风险管理 251
14.6.1 风险识别 252
14.6.2 风险预测 252
14.6.3 风险管理 252
14.7 软件配置管理 253
14.7.1 scm基本概念 253
14.7.2 scm过程 254
14.7.3 scm中心存储库 255
14.8 小结 256
习题 256
第15章 软件项目估算 257
15.1 概述 257
15.1.1 项目计划与范围 257
15.1.2 项目资源 257
15.2 软件规模度量 258
15.2.1 面向规模的度量 258
15.2.2 面向对象的度量 260
15.3 软件成本估算的分解技术 260
15.3.1 基于问题分解的估算 260
15.3.2 基于过程分解的估算 262
15.4 经验估算模型 263
15.4.1 专家类比推断 263
15.4.2 由底向上估算方法 263
15.4.3 构造性成本模型 264
15.5 成本估算管理 266
15.6 案例分析 266
15.6.1 短信系统 266
15.6.2 pos机系统 267
15.7 小结 268
习题 269
第16章 软件项目计划与管理 270
16.1 软件质量管理 270
16.1.1 质量概念 270
16.1.2 软件质量保证 271
16.1.3 软件质量度量 272
16.1.4 软件复审 275
16.1.5 软件质量认证标准 276
16.2 项目计划 278
16.2.1 项目进度安排 278
16.2.2 进度安排方法 279
16.2.3 项目进度的跟踪管理 281
16.3 软件项目管理工具 281
16.4 小结 286
习题 287
参考文献... 288
教学建议
第一部分 软件工程与过程
第1章 概述 2
1.1 软件工程的基本概念 2
1.1.1 软件的角色和特性 2
1.1.2 软件演化 3
1.1.3 软件神化和危机 4
1.1.4 软件危机的解决途径 4
1.2 工程化思想 5
1.2.1 工程化所涉及的范围 5
1.2.2 工程化管理思想 5
1.3 软件工程两大范型 5
1.4 软件工程思想与基本原理 6
1.4.1 软件工程基本原理 7
1.4.2 软件工程思想 7
1.5 软件工程活动 9
1.5.1 软件开发活动 9
1.5.2 软件项目管理活动 9
1.5.3 软件过程改进活动 10
.1.6 小结 10
习题 10
第2章 软件过程 11
2.1 软件过程概述 11
2.1.1 过程方法与工具 11
2.1.2 软件过程框架 12
2.1.3 软件过程模型 12
2.2 软件生命周期 12
2.3 能力成熟度模型集成 13
2.4 敏捷过程 16
2.4.1 什么是敏捷过程 17
2.4.2 极限编程 18
2.4.3 自适应软件开发 20
2.4.4 动态系统开发 21
2.4.5 特征驱动开发 21
2.5 软件工程实践 22
2.5.1 概念 22
2.5.2 沟通实践 23
2.5.3 计划实践 23
2.6 小结 24
习题 24
第3章 软件过程模型 25
3.1 瀑布模型 25
3.2 增量模型 26
3.2.1 增量构造模型 27
3.2.2 演化提交模型 27
3.3 螺旋模型 27
3.4 协同开发模型 28
3.5 面向对象过程模型 29
3.5.1 面向对象概念 29
3.5.2 统一过程模型 30
3.5.3 组件集成模型 33
3.6 面向方面的软件开发 34
3.7 小结 36
习题 36
第4章 案例研究 37
4.1 案例研究中涵盖的内容 37
4.2 案例1:出卷系统 37
4.3 案例2:短信系统 37
4.4 案例3:pos机系统 38
4.5 案例4:atm机系统 38
4.6 案例5:图书馆系统 38
4.7 小结 38
习题 38
第二部分 软件需求分析与建模
第5章 软件需求分析过程 40
5.1 什么是软件需求 40
5.1.1 功能需求 40
5.1.2 非功能需求 40
5.1.3 领域需求 41
5.2 需求分析过程 43
5.2.1 初步沟通 43
5.2.2 导出需求 43
5.2.3 分析和精化 44
5.2.4 可行性研究 44
5.2.5 协商与沟通 44
5.2.6 规格说明 44
5.2.7 需求验证 46
5.2.8 需求变更管理 46
5.3 启动分析过程 46
5.3.1 确认利益相关者 46
5.3.2 识别视点 47
5.3.3 协同工作 47
5.3.4 首次提问 47
5.4 非形式化需求分析技术 47
5.4.1 会谈 47
5.4.2 调查表 49
5.4.3 场景分析 49
5.5 案例分析 49
5.5.1 出卷系统 49
5.5.2 pos机系统 50
5.5.3 图书馆系统 50
5.5.4 短信系统 51
5.5.5 atm机系统 51
5.6 小结 51
习题 52
第6章 结构化分析建模 53
6.1 分析模型概述 53
6.1.1 分析模型元素 53
6.1.2 分析模式 54
6.1.3 目标与原理 54
6.2 结构化需求分析 54
6.2.1 结构化分析方法 55
6.2.2 结构化分析模型 55
6.3 面向数据的建模方法 56
6.3.1 实体 56
6.3.2 属性 56
6.3.3 关系 57
6.3.4 基数 57
6.3.5 案例分析 57
6.4 面向数据流的建模 58
6.4.1 数据流图 58
6.4.2 数据字典 60
6.4.3 状态转换图 61
6.4.4 加工逻辑的描述 61
6.5 案例分析 64
6.5.1 出卷系统 64
6.5.2 图书馆系统 66
6.5.3 pos机系统 68
6.5.4 短信系统 69
6.6 小结 71
习题 71
第7章 面向对象分析 73
7.1 面向对象建模 73
7.1.1 面向对象模型 73
7.1.2 统一建模语言(uml) 75
7.2 用例建模 76
7.2.1 编写用例 76
7.2.2 开发活动图 81
7.2.3 泳道图 82
7.3 建立领域模型 82
7.3.1 识别分析类 83
7.3.2 用例实现分析 84
7.3.3 关联与依赖 86
7.3.4 识别属性和操作 86
7.4 行为建模 87
7.4.1 系统顺序图 87
7.4.2 操作契约 88
7.4.3 顺序图与协作图 89
7.4.4 状态图 90
7.5 案例分析 90
7.5.1 pos机系统 91
7.5.2 atm机系统 92
7.5.3 短信系统 96
7.6 小结 98
习题 98
第三部分 软件设计与建模
第8章 软件设计 100
8.1 软件设计概述 100
8.1.1 软件设计过程和设计质量 100
8.1.2 概要设计说明书 101
8.1.3 详细设计说明书 102
8.2 软件模块化设计 103
8.2.1 软件模块化 103
8.2.2 抽象 104
8.2.3 体系结构 104
8.2.4 信息隐蔽 104
8.2.5 模块独立性 105
8.2.6 逐步求精 106
8.2.7 重构 106
8.3 软件结构 106
8.3.1 软件结构图 106
8.3.2 模块化设计的优化 107
8.4 软件系统结构模型 108
8.4.1 系统构成模型 108
8.4.2 系统控制模型 110
8.5 体系结构模式 111
8.6 小结 111
习题 111
第9章 结构化设计方法.. 113
9.1 结构化设计方法概述 113
9.1.1 概要设计 113
9.1.2 详细设计 113
9.2 数据流类型 114
9.2.1 变换型数据流 114
9.2.2 事务型数据流 114
9.2.3 混合型数据流 114
9.3 数据流设计方法 115
9.3.1 数据流映射步骤 115
9.3.2 变换流设计 115
9.3.3 事务流设计 116
9.3.4 综合分层的数据流设计 117
9.4 面向数据的设计 118
9.4.1 jackson图 118
9.4.2 jsd方法设计步骤 118
9.4.3 jsd举例分析 119
9.5 结构化程序设计方法 121
9.5.1 基本概念 121
9.5.2 结构化程序设计工具 122
9.6 案例分析 126
9.6.1 出卷系统 126
9.6.2 图书馆系统 129
9.7 小结 131
习题 131
第10章 面向对象设计 134
10.1 面向对象设计过程 134
10.1.1 系统模型描述 134
10.1.2 逻辑架构和包图 134
10.1.3 对象识别 135
10.1.4 设计模型 135
10.1.5 对象接口描述 137
10.2 构件级设计 137
10.2.1 构件类 137
10.2.2 构件级设计步骤 138
10.2.3 基于类的构件设计原则 139
10.3 设计模式 140
10.3.1 设计模式概述 140
10.3.2 基于职责的设计 140
10.4 面向对象详细设计 144
10.4.1 领域模型精化 144
10.4.2 逻辑架构精化 147
10.4.3 包设计 149
10.4.4 精化的交互图 150
10.4.5 精化的类图 152
10.4.6 持久性设计 154
10.4.7 部署图与构件图 156
10.5 案例分析 157
10.5.1 pos机系统 157
10.5.2 短信系统 158
10.5.3 atm机系统 159
10.6 小结 163
习题 164
第11章 软件实现 165
11.1 编码语言 165
11.1.1 编码语言的分类 165
11.1.2 编码语言特性 165
11.1.3 面向对象语言的特点 166
11.1.4 编码语言的选择 167
11.2 编码风格 168
11.2.1 编码的基本原则 168
11.2.2 面向对象编码原则 169
11.3 人机界面设计 171
11.3.1 人机界面分析和设计 171
11.3.2 人机界面设计步骤 173
11.3.3 人机界面设计指南 174
11.4 案例分析 175
11.4.1 pos机系统 175
11.4.2 短信系统 177
11.4.3 出卷系统 191
11.5 小结 194
习题 194
第四部分 软件测试与维护
第12章 软件测试 196
12.1 软件测试的任务 196
12.1.1 验证与确认 196
12.1.2 软件测试的组织形式 197
12.1.3 软件测试的目的与原则 197
12.1.4 完成标准 199
12.2 软件测试过程模型 200
12.2.1 v模型 200
12.2.2 w模型 200
12.2.3 h模型 201
12.3 软件测试策略 201
12.3.1 单元测试 202
12.3.2 集成测试 204
12.3.3 确认测试 205
12.3.4 系统测试 205
12.4 测试用例设计 205
12.4.1 测试用例设计的目的 205
12.4.2 测试用例设计的方法和描述 206
12.4.3 测试用例设计的重要性和影响因素 206
12.4.4 编写测试用例时的注意事项 206
12.5 黑盒技术 207
12.5.1 等价类划分法 207
12.5.2 边界值分析法 208
12.5.3 错误推测法 209
12.5.4 因果图法 209
12.6 白盒技术 211
12.6.1 逻辑覆盖法 212
12.6.2 基本路径测试法 214
12.6.3 循环测试法 218
12.7 集成测试技术 219
12.7.1 集成策略 219
12.7.2 接口测试 221
12.8 自动测试工具 221
12.9 调试 222
12.9.1 调试过程 222
12.9.2 调试策略 223
12.10 案例分析 224
12.11 小结 229
习题 230
第13章 软件维护 231
13.1 软件维护概述 231
13.1.1 软件维护的任务 231
13.1.2 软件维护的特点 231
13.1.3 软件可维护性 232
13.2 软件维护类型 232
13.2.1 纠错性维护 232
13.2.2 完善性维护 233
13.2.3 适应性维护 233
13.2.4 预防性维护 233
13.3 软件维护技术与过程 233
13.3.1 面向维护的技术 234
13.3.2 维护支援技术 234
13.3.3 软件维护过程 234
13.4 非结构化维护和结构化维护 236
13.5 提高可维护性 236
13.6 面向对象的软件维护 238
13.7 小结 238
习题 238
第五部分 软件工程管理
第14章 软件项目管理 240
14.1 项目管理概述 240
14.2 软件项目管理范围 241
14.2.1 人员 241
14.2.2 项目和过程 242
14.2.3 软件度量 243
14.2.4 软件项目管理计划文档 244
14.3 软件团队组织范式 246
14.3.1 民主分权式 246
14.3.2 控制集权式 247
14.3.3 控制分权式 248
14.3.4 敏捷团队 248
14.4 项目组织原则 249
14.5 软件过程管理 249
14.5.1 软件过程度量 249
14.5.2 软件过程改进 250
14.5.3 项目度量 251
14.6 风险管理 251
14.6.1 风险识别 252
14.6.2 风险预测 252
14.6.3 风险管理 252
14.7 软件配置管理 253
14.7.1 scm基本概念 253
14.7.2 scm过程 254
14.7.3 scm中心存储库 255
14.8 小结 256
习题 256
第15章 软件项目估算 257
15.1 概述 257
15.1.1 项目计划与范围 257
15.1.2 项目资源 257
15.2 软件规模度量 258
15.2.1 面向规模的度量 258
15.2.2 面向对象的度量 260
15.3 软件成本估算的分解技术 260
15.3.1 基于问题分解的估算 260
15.3.2 基于过程分解的估算 262
15.4 经验估算模型 263
15.4.1 专家类比推断 263
15.4.2 由底向上估算方法 263
15.4.3 构造性成本模型 264
15.5 成本估算管理 266
15.6 案例分析 266
15.6.1 短信系统 266
15.6.2 pos机系统 267
15.7 小结 268
习题 269
第16章 软件项目计划与管理 270
16.1 软件质量管理 270
16.1.1 质量概念 270
16.1.2 软件质量保证 271
16.1.3 软件质量度量 272
16.1.4 软件复审 275
16.1.5 软件质量认证标准 276
16.2 项目计划 278
16.2.1 项目进度安排 278
16.2.2 进度安排方法 279
16.2.3 项目进度的跟踪管理 281
16.3 软件项目管理工具 281
16.4 小结 286
习题 287
参考文献... 288
软件工程方法与实践
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×