软件工程(原书第10版)

软件工程(原书第10版)

作者:伊恩·萨默维尔

出版社:机械工业出版社

出版年:2018-02-01

评分:5分

ISBN:9787111589105

所属分类:教辅教材

书刊介绍

软件工程(原书第10版) 内容简介

本书是系统介绍软件工程理论的经典教材,共包含四个部分:第壹部分(第1~9章)是对软件工程的一般性介绍,介绍了软件工程的一些重要概念(如软件过程和敏捷方法),描述了基本的软件开发活动(从需求规格说明一直到系统演化);第二部分(第10~14章)关注软件系统可依赖性和信息安全等重要话题;第三部分(第15~21章)介绍更高级的软件工程话题;第四部分(第22~25章)介绍一系列的管理话题,关注技术管理问题。本书适合作为软件和系统工程专业本科生或研究生教材,同时也是软件工程师难得的参考书。

软件工程(原书第10版) 本书特色

本书是系统介绍软件工程理论的经典教材,共包含四个部分:第壹部分(第1~9章)是对软件工程的一般性介绍,介绍了软件工程的一些重要概念(如软件过程和敏捷方法),描述了基本的软件开发活动(从需求规格说明一直到系统演化);第二部分(第10~14章)关注软件系统可依赖性和信息安全等重要话题;第三部分(第15~21章)介绍更高级的软件工程话题;第四部分(第22~25章)介绍一系列的管理话题,关注技术管理问题。本书适合作为软件和系统工程专业本科生或研究生教材,同时也是软件工程师难得的参考书。

软件工程(原书第10版) 目录

出版者的话
译者序
前言
**部分软件工程导论
第1章概述 2
1.1专业化软件开发 3
1.1.1软件工程 5
1.1.2软件工程的多样性 6
1.1.3互联网软件工程 8
1.2软件工程职业道德 9
1.3案例研究 11
1.3.1胰岛素泵控制系统 12
1.3.2心理健康治疗病人信息系统 13
1.3.3野外气象站 14
1.3.4学校数字化学习环境 15
要点 16
阅读推荐 17
网站 17
练习 17
参考文献 18
第2章软件过程 19
2.1软件过程模型 20
2.1.1瀑布模型 21
2.1.2增量式开发 23
2.1.3集成与配置 25
2.2过程活动 26
2.2.1软件规格说明 26
2.2.2软件设计和实现 27
2.2.3软件确认 29
2.2.4软件演化 30
2.3应对变化 31
2.3.1原型 32
2.3.2增量式交付 33
2.4过程改进 34
要点 36
阅读推荐 36
网站 37
练习 37
参考文献 37
第3章敏捷软件开发 39
3.1敏捷方法 40
3.2敏捷开发技术 42
3.2.1用户故事 43
3.2.2重构 44
3.2.3测试先行的开发 45
3.2.4结对编程 46
3.3敏捷项目管理 47
3.4敏捷方法的伸缩 50
3.4.1敏捷方法的实践问题 51
3.4.2敏捷和计划驱动的方法 52
3.4.3面向大型系统的敏捷方法 54
3.4.4面向整个组织的敏捷方法 56
要点 57
阅读推荐 57
网站 58
练习 58
参考文献 58
第4章需求工程 60
4.1功能性需求和非功能性需求 62
4.1.1功能性需求 63
4.1.2非功能性需求 64
4.2需求工程过程 66
4.3需求抽取 67
4.3.1需求抽取技术 69
4.3.2故事和场景 71
4.4需求规格说明 73
4.4.1自然语言规格说明 74
4.4.2结构化规格说明 75
4.4.3用况 76
4.4.4软件需求文档 77
4.5需求确认 79
4.6需求变更 80
4.6.1需求管理计划 81
4.6.2需求变更管理 82
要点 83
阅读推荐 83
网站 84
练习 84
参考文献 85
第5章系统建模 86
5.1上下文模型 87
5.2交互模型 89
5.2.1用况建模 90
5.2.2顺序图 91
5.3结构模型 93
5.3.1类图 93
5.3.2泛化 95
5.3.3聚集 95
5.4行为模型 96
5.4.1数据驱动的建模 96
5.4.2事件驱动的建模 97
5.4.3模型驱动的工程 99
5.5模型驱动的体系结构 100
要点 102
阅读推荐 103
网站 103
练习 103
参考文献 104
第6章体系结构设计 105
6.1体系结构设计决策 107
6.2体系结构视图 109
6.3体系结构模式 110
6.3.1分层体系结构 111
6.3.2知识库体系结构 112
6.3.3客户-服务器体系结构 113
6.3.4管道和过滤器体系结构 115
6.4应用体系结构 116
6.4.1事务处理系统 117
6.4.2信息系统 118
6.4.3语言处理系统 119
要点 121
阅读推荐 122
网站 122
练习 122
参考文献 123
第7章设计和实现 125
7.1使用UML的面向对象设计 126
7.1.1系统上下文和交互 126
7.1.2体系结构设计 128
7.1.3对象类识别 129
7.1.4设计模型 130
7.1.5接口规格说明 133
7.2设计模式 134
7.3实现问题 136
7.3.1复用 137
7.3.2配置管理 138
7.3.3宿主机-目标机开发 139
7.4开源开发 141
7.4.1开源许可证 142
要点 143
阅读推荐 143
网站 144
练习 144
参考文献 145
第8章软件测试 146
8.1开发测试 149
8.1.1单元测试 150
8.1.2选择单元测试用例 151
8.1.3构件测试 153
8.1.4系统测试 155
8.2测试驱动的开发 157
8.3发布测试 159
8.3.1基于需求的测试 159
8.3.2场景测试 160
8.3.3性能测试 161
8.4用户测试 161
要点 163
阅读推荐 164
网站 164
练习 164
参考文献 165
第9章软件演化 166
9.1演化过程 168
9.2遗留系统 170
9.2.1遗留系统管理 173
9.3软件维护 176
9.3.1维护预测 178
9.3.2软件再工程 179
9.3.3软件重构 181
要点 182
阅读推荐 182
网站 183
练习 183
参考文献 183
第二部分系统可依赖性和信息安全
第10章可依赖系统 186
10.1可依赖性属性 187
10.2社会技术系统 189
10.2.1规章与守约 191
10.3冗余和多样性 192
10.4可依赖的过程 193
10.5形式化方法与可依赖性 195
要点 197
阅读推荐 198
网站 198
练习 198
参考文献 199
第11章可靠性工程 200
11.1可用性和可靠性 202
11.2可靠性需求 203
11.2.1可靠性度量 204
11.2.2非功能性可靠性需求 205
11.2.3功能性可靠性规格说明 207
11.3容错体系结构 207
11.3.1保护性系统 208
11.3.2自监控系统体系结构 208
11.3.3N版本编程 210
11.3.4软件多样性 211
11.4可靠性编程 212
11.5可靠性度量 216
11.5.1运行概况 218
要点 218
阅读推荐 219
网站 219
练习 219
参考文献 220
第12章安全工程 221
12.1安全关键系统 222
12.2安全需求 224
12.2.1危险识别 225
12.2.2危险评估 226
12.2.3危险分析 227
12.2.4风险降低 229
12.3安全工程过程 229
12.3.1安全保证过程 230
12.3.2形式化验证 232
12.3.3模型检测 233
12.3.4静态程序分析 234
12.4安全案例 235
12.4.1结构化论证 237
12.4.2软件的安全论证 238
要点 240
阅读推荐 241
网站 241
练习 241
参考文献 242
第13章信息安全工程 244
13.1信息安全和可依赖性 245
13.2信息安全和组织 248
13.2.1信息安全风险评估 249
13.3信息安全需求 249
13.3.1滥用案例 252
13.4信息安全系统设计 253
13.4.1设计风险评估 254
13.4.2体系结构设计 257
13.4.3设计准则 259
13.4.4信息安全系统编程 263
13.5信息安全测试和保证 263
要点 265
阅读推荐 265
网站 265
练习 266
参考文献 266
第14章韧性工程 268
14.1网络安全 270
14.2社会技术韧性 273
14.2.1人为错误 275

软件工程(原书第10版) 作者简介

伊恩·萨默维尔(Ian Sommerville),英国著名软件工程专家,曾任圣安德鲁斯大学软件工程系教授。2014年退休。他在软件工程的教学和科研方面有40多年的经验。研究领域包括需求工程、大规模复杂系统和系统可靠性等。他撰写的软件工程教材畅销全球。销量超过75万册。

相关推荐

微信二维码