软件工程 第3版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)Shari Lawrence Pfleeger(加)Joanne M.Atlee著;杨卫东译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2007
- ISBN:7115158290
- 页数:466 页
第1章 软件工程概述 1
1.1 什么是软件工程 1
1.1.1 问题求解 2
1.1.2 软件工程师的角色是什么 3
1.2 软件工程取得了哪些进展 4
1.3 什么是好的软件 6
1.3.1 产品的质量 7
1.3.2 过程的质量 8
1.3.3 商业环境背景下的质量 8
1.4 软件工程涉及的人员 10
1.5 系统的方法 11
1.5.1 系统的要素 11
1.5.2 相互联系的系统 12
1.6 工程的方法 14
1.6.1 盖房子 15
1.6.2 构建一个系统 16
1.7 开发团队的成员 17
1.8 软件工程发生了多大的变化 18
1.8.1 变化的本质 19
1.8.2 软件工程的Wasserman规范 20
1.9 信息系统的例子 24
1.10 实时系统的例子 25
1.11 本章对单个开发人员的意义 27
1.12 本章对开发团队的意义 27
1.13 本章对研究人员的意义 27
1.14 学期项目 28
1.16 练习 29
1.15 主要参考文献 29
第2章 过程和生命周期的建模 31
2.1 过程的含义 31
2.2 软件过程模型 33
2.2.1 瀑布模型 33
2.2.2 V模型 35
2.2.3 原型化模型 36
2.2.4 可操作规格说明 37
2.2.5 可转换模型 37
2.2.6 阶段化开发:增量和迭代 38
2.2.7 螺旋模型 39
2.2.8 敏捷方法 40
2.3.1 静态建模:Lai表示法 43
2.3 过程建模工具和技术 43
2.3.2 动态建模:系统动力学 45
2.4 实际的过程建模 48
2.4.1 Marvel的案例研究 48
2.4.2 过程建模工具和技术应该具有的特性 50
2.5 信息系统的例子 50
2.6 实时系统的例子 52
2.7 本章对单个开发人员的意义 53
2.8 本章对开发团队的意义 53
2.9 本章对研究人员的意义 53
2.10 学期项目 53
2.11 主要参考文献 55
2.12 练习 56
第3章 计划和管理项目 57
3.1 跟踪项目进展 57
3.1.1 工作分解和活动图 58
3.1.2 估算完成时间 60
3.1.3 跟踪进展的工具 64
3.2 项目人员 66
3.2.1 人员角色和特性 66
3.2.2 工作风格 69
3.2.3 项目组织 70
3.3 工作量估算 72
3.3.1 专家判断 74
3.3.2 算法方法 75
3.3.3 机器学习方法 80
3.3.4 找出适合具体情形的模型 81
3.4 风险管理 82
3.4.1 什么是风险 82
3.4.2 风险管理活动 83
3.5 项目计划 85
3.6 过程模型和项目管理 87
3.6.1 注册管理 87
3.6.2 责任建模 88
3.6.3 紧密结合里程碑 91
3.7 信息系统的例子 92
3.8 实时系统的例子 93
3.9 本章对单个开发人员的意义 94
3.10 本章对开发团队的意义 94
3.11 本章对研究人员的意义 95
3.12 学期项目 95
3.13 主要参考文献 95
3.14 练习 96
第4章 获取需求 98
4.1 需求过程 99
4.2 需求引发 100
4.3 需求的类型 103
4.3.1 解决冲突 105
4.3.2 两种需求文档 105
4.4 需求的特性 107
4.5 建模表示法 107
4.5.1 实体-联系图 108
4.5.2 例子:UML类图 109
4.5.3 事件踪迹 111
4.5.4 例子:消息时序图 112
4.5.5 状态机 113
4.5.6 例子:UML状态图 114
4.5.7 例子:Petri网 116
4.5.8 数据流图 118
4.5.9 例子:用例 119
4.5.10 函数和关系 120
4.5.11 例子:判定表 121
4.5.12 例子:Parnas表 122
4.5.13 逻辑 122
4.5.14 例子:对象约束语言(OCL) 124
4.5.15 例子:Z 125
4.5.16 代数规格说明 126
4.5.17 例子:SDL数据 127
4.6 需求和规格说明语言 129
4.6.1 统一建模语言(UML) 129
4.6.2 规格说明和描述语言(SDL) 130
4.7 原型化需求 131
4.6.4 需求表示法的其他特征 131
4.6.3 软件成本降低(SCR) 131
4.8 需求文档 133
4.8.1 需求定义 133
4.8.2 需求规格说明书 134
4.8.3 过程管理和需求的可跟踪性 135
4.9 确认和验证 136
4.9.1 需求确认 136
4.9.2 验证 138
4.10 测量需求 139
4.11 选择规格说明技术 140
4.12 信息系统的例子 143
4.13 实时系统的例子 145
4.13.2 本章对开发团队的意义 146
4.13.1 本章对单个开发人员的意义 146
4.13.3 本章对研究人员的意义 147
4.14 学期项目 147
4.14.1 前提和假设 147
4.14.2 功能的高层描述 147
4.14.3 功能需求 148
4.14.4 数据约束 148
4.14.5 设计和接口约束 149
4.14.6 质量需求 149
4.15 主要参考文献 149
4.16 练习 150
第5章 设计系统 153
5.1 什么是设计 153
5.2 分解和模块化 155
5.3 体系结构风格和策略 157
5.3.1 管道和过滤器 158
5.3.2 面向对象的设计 158
5.3.3 隐含调用 158
5.3.4 分层 159
5.3.5 信息库 160
5.3.6 解释器 160
5.3.7 过程控制 161
5.3.8 其他风格 162
5.4 创建设计中的问题 163
5.4.1 模块化和抽象层次 163
5.4.2 协作的设计 164
5.4.3 设计用户界面 166
5.4.4 并发性 168
5.4.5 设计模式和复用 169
5.5 好设计的特性 170
5.5.1 构件独立性 170
5.5.2 异常标识和处理 175
5.5.3 防错和容错技术 176
5.6 改进设计技术 178
5.6.1 降低复杂性 178
5.6.2 按合同设计 180
5.6.3 原型化设计 181
5.6.4 故障树分析 182
5.7 设计的评估和确认 184
5.7.1 数学的确认 184
5.7.2 测量设计质量 184
5.7.3 比较设计 185
5.7.4 设计评审 188
5.8 文档化设计 191
5.9 信息系统的例子 192
5.10 实时系统的例子 193
5.11 本章对单个开发人员的意义 194
5.12 本章对开发团队的意义 194
5.13 本章对研究人员的意义 195
5.14 学期项目 195
5.15 主要参考文献 195
5.16 练习 196
第6章 细述对象 197
6.1 什么是OO 198
6.2 OO开发过程 200
6.2.2 OO设计 201
6.2.3 OO编码和测试 201
6.2.1 OO需求 201
6.3 用例 202
6.4 OO的表示:一个使用UML的例子 205
6.5 OO系统设计 207
6.6 OO程序设计 218
6.6.1 设计助手 220
6.6.2 用户界面设计 220
6.6.3 数据管理设计 222
6.6.4 任务管理设计 222
6.7 OO测度 224
6.7.1 OO规模测量 225
6.7.2 OO设计的测量 226
6.7.3 在何处进行OO测度 230
6.8 信息系统的例子 231
6.10 本章对单个开发人员的意义 232
6.9 实时系统的例子 232
6.11 本章对开发团队的意义 233
6.12 本章对研究人员的意义 233
6.13 学期项目 233
6.14 主要参考文献 233
6.15 练习 234
第7章 编写程序 235
7.1 编程标准和过程 235
7.1.1 对单个开发人员的标准 236
7.1.2 对其他开发人员的标准 236
7.1.3 设计和实现的匹配 237
7.2 编程的指导原则 237
7.2.1 控制结构 237
7.2.2 算法 238
7.2.3 数据结构 239
7.2.4 通用性指导原则 241
7.3 文档 244
7.3.1 内部文档 244
7.3.2 外部文档 247
7.4 编程过程 247
7.4.1 将编程作为问题求解 247
7.4.2 极限编程 248
7.4.3 结对编程 249
7.4.4 编程向何处去 249
7.5 信息系统的例子 250
7.6 实时系统的例子 251
7.10 学期项目 252
7.9 本章对研究人员的意义 252
7.8 本章对开发团队的意义 252
7.7 本章对单个开发人员的意义 252
7.11 主要参考文献 253
7.12 练习 253
第8章 测试程序 254
8.1 软件故障和失效 254
8.1.1 故障的类型 255
8.1.2 正交缺陷分类 256
8.2 测试的相关问题 258
8.2.1 测试的组织 258
8.2.2 对测试的态度 259
8.2.3 谁执行测试 259
8.2.4 测试对象的视图 260
8.3 单元测试 261
8.3.1 检查代码 262
8.3.2 证明代码正确性 264
8.3.3 测试程序构件 267
8.3.4 技术比较 270
8.4 集成测试 271
8.4.1 自底向上集成 271
8.4.2 自顶向下集成 272
8.4.3 一次性集成 274
8.4.4 三明治集成 274
8.4.5 集成策略的比较 275
8.5 测试面向对象系统 277
8.5.1 代码测试 277
8.5.2 面向对象测试和传统测试之间的区别 277
8.6.2 计划的内容 279
8.6.1 计划的目的 279
8.6 测试计划 279
8.7 自动测试工具 280
8.7.1 代码分析工具 280
8.7.2 测试执行工具 281
8.7.3 测试用例生成器 282
8.8 什么时候停止测试 282
8.8.1 故障播种 283
8.8.2 软件中的可信度 284
8.8.3 其他的停止测试的标准 284
8.8.4 识别易出故障的代码 285
8.9 信息系统的例子 286
8.10 实时系统的例子 286
8.12 本章对开发团队的意义 287
8.11 本章对单个开发人员的意义 287
8.13 本章对研究人员的意义 288
8.14 学期项目 288
8.15 主要参考文献 288
8.16 练习 289
第9章 测试系统 291
9.1 系统测试的原则 291
9.1.1 软件故障根源 291
9.1.2 系统测试过程 293
9.1.3 配置管理 295
9.1.4 测试小组 299
9.2 功能测试 300
9.2.1 目的与职责 300
9.2.2 因果图 301
9.3.2 性能测试的类型 304
9.3 性能测试 304
9.3.1 目的和职责 304
9.4 可靠性、可用性以及可维护性 305
9.4.1 定义 305
9.4.2 失效数据 306
9.4.3 测量可靠性、可用性和可维护性 307
9.4.4 可靠性稳定性和可靠性增长 308
9.4.5 可靠性预测 309
9.4.6 操作环境的重要性 311
9.5 验收测试 312
9.5.1 目的和职责 312
9.5.2 验收测试的种类 312
9.5.3 验收测试的结果 313
9.7 自动化系统测试 314
9.6 安装测试 314
9.8 测试文档 315
9.8.1 测试计划 315
9.8.2 测试规格说明和评估 317
9.8.3 测试描述 318
9.8.4 测试分析报告 320
9.8.5 问题报告表 321
9.9 测试安全攸关的系统 322
9.9.1 设计多样性 324
9.9.2 软件安全性案例 325
9.9.3 净室方法 327
9.10 信息系统的例子 330
9.11 实时系统的例子 331
9.14 本章对研究人员的意义 332
9.12 本章对单个开发人员的意义 332
9.13 本章对开发团队的意义 332
9.15 学期项目 333
9.16 主要参考文献 333
9.17 练习 333
第10章 交付系统 337
10.1 培训 337
10.1.1 培训的种类 338
10.1.2 培训助手 339
10.1.3 培训的指导原则 340
10.2 文档 340
10.2.1 文档的种类 340
10.2.2 用户帮助和疑难解答 344
10.4 实时系统的例子 345
10.3 信息系统的例子 345
10.5 本章对单个开发人员的意义 346
10.6 本章对开发团队的意义 346
10.7 本章对研究人员的意义 346
10.8 学期项目 346
10.9 主要参考文献 347
10.10 练习 347
第11章 维护系统 348
11.1 变化的系统 348
11.1.1 系统的类型 348
11.1.2 在系统生命周期过程中发生的变化 351
11.1.3 系统生命周期跨度 351
11.2 维护的本质 353
11.3.1 人员的问题 356
11.3 维护问题 356
11.3.2 技术问题 357
11.3.3 必要的妥协 358
11.3.4 维护成本 358
11.4 测量维护特性 361
11.4.1 可维护性的外部视图 361
11.4.2 影响可维护性的内部属性 362
11.4.3 其他的产品测量 364
11.5 维护技术和工具 365
11.5.1 配置管理 365
11.5.2 影响分析 366
11.5.3 自动化维护工具 369
11.6 软件再生 370
11.6.2 重组 372
11.6.1 文档重构 372
11.6.3 逆向工程 373
11.6.4 再工程 374
11.6.5 软件再生的前景 375
11.7 信息系统的例子 375
11.8 实时系统的例子 376
11.9 本章对单个开发人员的意义 376
11.10 本章对开发团队的意义 377
11.11 本章对研究人员的意义 377
11.12 学期项目 377
11.13 主要参考文献 377
11.14 练习 377
12.1.1 特征分析 379
第12章 评估产品、过程和资源 379
12.1 评估的方法 379
12.1.2 调查 380
12.1.3 案例研究 380
12.1.4 正式试验 381
12.1.5 准备评估 381
12.2 选择评估技术 382
12.2.1 关键选择因素 382
12.2.2 相信什么 383
12.3 评价与预测 385
12.3.1 确认预测系统 386
12.3.2 确认测量 387
12.4 评估产品 388
12.3.3 对确认的紧迫需求 388
12.4.1 产品质量模型 389
12.4.2 建立基线和设定目标 392
12.4.3 软件可复用性 393
12.5 评估过程 399
12.5.1 事后分析 400
12.5.2 过程成熟度模型 403
12.6 评估资源 410
12.6.1 人员成熟度模型 411
12.6.2 投资回报 412
12.7 信息系统的例子 414
12.8 实时系统的例子 414
12.9 本章对单个开发人员的意义 414
12.12 学期项目 415
12.13 主要参考文献 415
12.11 本章对研究人员的意义 415
12.10 本章对开发团队的意义 415
12.14 练习 416
第13章 改进预测、产品、过程和资源 417
13.1 改进预测 417
13.1.1 预测的精确性 417
13.1.2 处理偏误:u曲线 418
13.1.3 处理噪声:prequential似然度 420
13.1.4 重新校准预测 421
13.2 改进产品 423
13.2.1 审查 424
13.2.2 复用 426
13.3 改进过程 426
13.3.1 过程和能力成熟度 427
13.3.2 维护 429
13.3.3 净室方法 430
13.4 改进资源 431
13.4.1 工作环境 432
13.4.2 成本和进度间的权衡 433
13.5 总体改进指导原则 433
13.6 信息系统的例子 434
13.7 实时系统的例子 434
13.8 本章对单个开发人员的意义 435
13.9 本章对开发团队的意义 435
13.10 本章对研究人员的意义 435
13.11 学期项目 436
13.12 主要参考文献 436
13.13 练习 436
14.1.1 Wasserman的获得成熟度的措施 437
第14章 软件工程的未来 437
14.1 已经取得的进展 437
14.1.2 当前要做的工作 439
14.2 技术转移 439
14.2.1 现在我们怎样做出技术转移的决策 440
14.2.2 在技术决策中使用证据 440
14.2.3 支持技术决策的证据 441
14.2.4 对证据的进一步讨论 441
14.2.5 技术转移的新模型 443
14.2.6 改进技术转移的下一步 444
14.3 软件工程中的决策 444
14.3.1 大量的决策 445
14.3.2 群体决策 446
14.3.3 我们实际上如何决策 447
14.3.4 群体实际上如何决策 449
14.3.5 一个适度的观察研究 450
14.3.6 获得的经验教训 452
14.4 软件工程的职业化:执照发放、认证和伦理 453
14.4.1 将重点放在人员上 453
14.4.2 软件工程教育 454
14.4.3 软件工程知识体系 455
14.4.4 给软件工程师颁发执照 457
14.4.5 认证 460
14.4.6 伦理守则 462
14.4.7 职业发展 463
14.4.8 研究和实践的进一步发展 464
14.5 学期项目 465
14.6 主要参考文献 465
14.7 练习 465
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《高等工程教育改革探析》李瀛心,吴价宝著 1997
- 《城市基坑工程设计施工实践与应用》李欢秋,刘飞,郭进军编著 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019