图书介绍
软件工程:实践者的研究方法PDF|Epub|txt|kindle电子书版本网盘下载
![软件工程:实践者的研究方法](https://www.shukui.net/cover/67/34334520.jpg)
- (美)Roger S. Pressman著;梅宏译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111104374
- 出版时间:2003
- 标注页数:618页
- 文件大小:274MB
- 文件页数:644页
- 主题词:
PDF下载
下载说明
软件工程:实践者的研究方法PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 产品和过程2
第1章 产品2
1.1 软件角色的演化3
1.2 软件4
1.2.1 软件特征4
1.2.2 软件应用6
1.3 软件:地平线上的危机7
1.4 软件神话8
1.5 小结10
参考文献11
习题与思考题11
推荐读物及其他信息源12
第2章 过程13
2.1 软件工程:一种层次化技术14
2.1.1 过程、方法和工具14
2.1.2 软件工程的一般视图15
2.2 软件过程16
2.3 软件过程模型18
2.4 线性顺序模型20
2.5 原型实现模型21
2.6 RAD模型22
2.7 演化软件过程模型24
2.7.1 增量模型24
2.7.2 螺旋模型25
2.7.3 WINWIN螺旋模型27
2.7.4 并发开发模型28
2.8 基于构件的开发29
2.9 形式化方法模型30
2.10 第四代技术31
2.11 过程技术32
2.12 产品和过程32
2.13 小结33
参考文献33
习题与思考题35
推荐读物及其他信息源36
第二部分 管理软件项目38
第3章 项目管理的概念38
3.1 管理的谱系39
3.1.1 人员39
3.1.2 产品39
3.1.3 过程40
3.1.4 项目40
3.2 人员40
3.2.1 项目参与者40
3.2.2 项目组负责人41
3.2.3 软件项目组41
3.2.4 协调和通信问题45
3.3 产品46
3.3.1 软件范围46
3.3.2 问题分解47
3.4 过程47
3.4.1 合并产品和过程48
3.4.2 过程分解49
3.5 项目50
3.6 W5HH原则51
3.7 关键实践51
3.8 小结52
参考文献52
习题与思考题53
推荐读物及其他信息源54
第4章 软件过程和项目度量56
4.1 测量、度量和指标57
4.2 过程和项目领域中的度量58
4.2.1 过程度量和软件过程改善58
4.2.2 项目度量61
4.3 软件测度62
4.3.1 面向规模的度量62
4.3.2 面向功能的度量63
4.3.3 扩展的功能点度量65
4.4 调和不同的度量方法66
4.5 软件质量度量67
4.5.1 影响质量的因素概述68
4.5.2 测量质量68
4.5.3 缺陷排除效率69
4.6 在软件工程过程中集成度量70
4.6.1 支持软件度量的论点70
4.6.2 建立基线71
4.6.3 度量收集、计算和评估71
4.7 管理变化:统计过程控制72
4.8 小型组织的度量74
4.9 建立软件度量计划75
4.10 小结76
参考文献77
习题与思考题78
推荐读物及其他信息源79
第5章 软件项目计划81
5.1 对估算的观察82
5.2 项目计划目标83
5.3 软件范围83
5.3.1 获取定义软件范围所需的信息83
5.3.2 可行性84
5.3.3 一个范围定义的例子85
5.4 资源87
5.4.1 人力资源87
5.4.2 可复用软件资源87
5.4.3 环境资源88
5.5 软件项目估算88
5.6 分解技术89
5.6.1 软件规模估算90
5.6.2 基于问题的估算90
5.6.3 一个基于LOC估算的例子92
5.6.4 一个基于FP估算的例子94
5.6.5 基于过程的估算94
5.6.6 一个基于过程估算的例子95
5.7 经验估算模型96
5.7.1 估算模型的结构96
5.7.2 COCOMO模型97
5.7.3 软件方程式98
5.8 自行开发或购买的决策99
5.8.1 创建决策树99
5.8.2 外包101
5.9 自动估算工具101
5.10 小结102
参考文献102
习题与思考题103
推荐读物及其他信息源104
第6章 风险分析和管理105
6.1 被动和主动的风险策略106
6.2 软件风险106
6.3 风险识别107
6.3.1 评估整体项目风险108
6.3.2 风险因素和驱动因子108
6.4 风险预测108
6.4.1 建立风险表109
6.4.2 评估风险影响111
6.4.3 风险评估111
6.5 风险求精112
6.6 风险缓解、监控和管理113
6.7 安全性风险和危险114
6.8 RMMM计划115
6.9 小结116
参考文献116
习题与思考题117
推荐读物及其他信息源117
第7章 项目进度安排及跟踪119
7.1 基本概念120
7.1.1 关于“延迟”的评注120
7.1.2 基本原则121
7.2 人员与工作量之间的关系123
7.2.1 一个例子123
7.2.2 一个经验关系124
7.2.3 工作量分配124
7.3 为软件项目定义任务集合125
7.3.1 严格度125
7.3.2 定义适应准则126
7.3.3 计算任务集合选择因子的值126
7.3.4 解释TSS值并选择任务集合127
7.4 选择软件工程任务128
7.5 主要任务的求精130
7.6 定义任务网络131
7.7 进度安排132
7.7.1 时间表133
7.7.2 跟踪进度133
7.8 获得值分析136
7.9 错误跟踪137
7.10 项目计划138
7.11 小结139
参考文献139
习题与思考题139
推荐读物及其他信息源141
第8章 软件质量保证142
8.1 质量概念143
8.1.1 质量143
8.1.2 质量控制144
8.1.3 质量保证144
8.1.4 质量成本144
8.2 质量运动146
8.3 软件质量保证147
8.3.1 背景147
8.3.2 SQA活动148
8.4 软件评审149
8.4.1 软件缺陷对成本的影响149
8.4.2 缺陷的放大和消除150
8.5 正式技术评审151
8.5.1 评审会议152
8.5.2 评审报告和记录保存152
8.5.3 评审指导原则153
8.6 SQA的形式化方法154
8.7 统计软件质量保证154
8.8 软件可靠性156
8.8.1 可靠性和可用性的测量157
8.8.2 软件安全性157
8.9 软件的错误防范158
8.10 ISO 9000质量标准160
8.10.1 质量保证系统的ISO方法161
8.10.2 ISO 9001标准161
8.11 SQA计划161
8.12 小结162
参考文献162
习题与思考题164
推荐读物及其他信息源165
第9章 软件配置管理167
9.1 软件配置管理168
9.1.1 基线168
9.1.2 软件配置项169
9.2 SCM过程170
9.3 软件配置中对象的标识171
9.4 版本控制172
9.5 变更控制173
9.6 配置审计176
9.7 状态报告176
9.8 SCM标准177
9.9 小结177
参考文献177
习题与思考题178
推荐读物及其他信息源179
第三部分 传统软件工程方法181
第10章 系统工程181
10.1 基于计算机的系统182
10.2 系统工程层次结构183
10.2.1 系统建模184
10.2.2 系统仿真185
10.3 业务过程工程:概述185
10.4 产品工程:概述188
10.5 需求工程189
10.5.1 需求诱导189
10.5.2 需求分析和谈判190
10.5.3 需求规约191
10.5.4 系统建模191
10.5.5 需求确认191
10.5.6 需求管理192
10.6 系统建模193
10.7 小结196
参考文献196
习题与思考题197
推荐读物及其他信息源198
第11章 分析的概念和原则199
11.1 需求分析200
11.2 软件的需求诱导201
11.2.1 过程的启动201
11.2.2 便利的应用规约技术202
11.2.3 质量功能部署204
11.2.4 use-case205
11.3 分析原则207
11.3.1 信息域208
11.3.2 建模209
11.3.3 划分210
11.3.4 要素视图和实现视图211
11.4 软件原型实现212
11.4.1 选择原型实现方法212
11.4.2 原型实现方法和工具213
11.5 规约213
11.5.1 规约原则213
11.5.2 表示214
11.5.3 软件需求规约214
11.6 规约评审215
11.7 小结215
参考文献215
习题与思考题216
推荐读物及其他信息源217
第12章 分析建模219
12.1 简史220
12.2 分析模型的元素220
12.3 数据建模221
12.3.1 数据对象、属性和关系221
12.3.2 基数和形态223
12.3.3 实体-关系图224
12.4 功能建模和信息流226
12.4.1 数据流图227
12.4.2 针对实时系统的扩展228
12.4.3 Ward和Mellor扩展229
12.4.4 Hatley和Pirbhai扩展230
12.5 行为建模231
12.6 结构化分析的技巧233
12.6.1 创建实体-关系图233
12.6.2 创建数据流模型235
12.6.3 创建控制流模型238
12.6.4 控制规约239
12.6.5 加工规约239
12.7 数据字典240
12.8 其他传统分析方法的概述242
12.9 小结242
参考文献242
习题与思考题243
推荐读物及其他信息源244
第13章 设计的概念和原则246
13.1 软件设计和软件工程247
13.2 设计过程248
13.2.1 设计和软件质量248
13.2.2 软件设计的演化249
13.3 设计原则249
13.4 设计概念250
13.4.1 抽象250
13.4.2 求精251
13.4.3 模块化252
13.4.4 软件体系结构253
13.4.5 控制层次254
13.4.6 结构划分255
13.4.7 数据结构256
13.4.8 软件过程257
13.4.9 信息隐蔽257
13.5 有效的模块设计258
13.5.1 功能独立性258
13.5.2 内聚258
13.5.3 耦合259
13.6 针对有效模块化的设计启发260
13.7 设计模型261
13.8 设计文档262
13.9 小结262
参考文献263
习题与思考题264
推荐读物及其他信息源265
第14章 体系结构设计267
14.1 软件体系结构267
14.1.1 什么是体系结构268
14.1.2 为什么体系结构重要268
14.2 数据设计269
14.2.1 数据建模、数据结构、数据库和数据仓库269
14.2.2 构件级的数据设计270
14.3 体系结构风格271
14.3.1 风格和模式的简略分类271
14.3.2 组织和精化273
14.4 分析可选的体系结构设计274
14.4.1 一种体系结构权衡分析方法274
14.4.2 体系结构设计的定量指导275
14.4.3 体系结构复杂性276
14.5 映射需求到软件体系结构276
14.5.1 变换流277
14.5.2 事务流277
14.6 变换映射278
14.6.1 一个例子278
14.6.2 设计步骤278
14.7 事务映射284
14.7.1 一个例子284
14.7.2 设计步骤285
14.8 精化体系结构设计287
14.9 小结288
参考文献289
习题与思考题290
推荐读物及其他信息源291
第15章 用户界面设计293
15.1 黄金规则294
15.1.1 置用户于控制之下294
15.1.2 减少用户的记忆负担295
15.1.3 保持界面一致295
15.2 用户界面设计296
15.2.1 界面设计模型296
15.2.2 用户界面设计过程297
15.3 任务分析和建模298
15.4 界面设计活动299
15.4.1 定义界面对象和动作299
15.4.2 设计问题301
15.5 实现工具303
15.6 设计评估303
15.7 小结305
参考文献305
习题与思考题305
推荐读物及其他信息源306
第16章 构件级设计308
16.1 结构化程序设计309
16.1.1 图形设计符号309
16.1.2 表格设计符号311
16.1.3 程序设计语言313
16.1.4 一个PDL的例子313
16.2 设计符号的比较314
16.3 小结315
参考文献316
习题与思考题316
推荐读物及其他信息源317
第17章 软件测试技术318
17.1 软件测试基础319
17.1.1 测试目标319
17.1.2 测试原则319
17.1.3 可测试性320
17.2 测试案例设计322
17.3 白盒测试323
17.4 基本路径测试323
17.4.1 流图符号323
17.4.2 环复杂度325
17.4.3 导出测试案例326
17.4.4 图矩阵328
17.5 控制结构测试329
17.5.1 条件测试329
17.5.2 数据流测试331
17.5.3 循环测试332
17.6 黑盒测试333
17.6.1 基于图的测试方法334
17.6.2 等价划分335
17.6.3 边界值分析336
17.6.4 比较测试337
17.6.5 正交数组测试337
17.7 针对专门的环境、体系结构和应用的测试339
17.7.1 测试GUI339
17.7.2 客户/服务器体系结构的测试339
17.7.3 测试文档和帮助设施339
17.7.4 实时系统测试340
17.8 小结341
参考文献341
习题与思考题342
推荐读物及其他信息源343
第18章 软件测试策略345
18.1 软件测试的策略途径346
18.1.1 验证和确认346
18.1.2 软件测试的组织347
18.1.3 一种软件测试策略347
18.1.4 测试完成的标准349
18.2 策略问题350
18.3 单元测试350
18.3.1 单元测试考虑350
18.3.2 单元测试规程352
18.4 集成测试352
18.4.1 自顶向下集成353
18.4.2 自底向上集成354
18.4.3 回归测试355
18.4.4 烟幕测试355
18.4.5 关于集成测试的讨论356
18.4.6 集成测试文档357
18.5 确认测试357
18.5.1 确认测试的标准358
18.5.2 配置评审358
18.5.3 α和β测试358
18.6 系统测试358
18.6.1 恢复测试359
18.6.2 安全测试359
18.6.3 应力测试360
18.6.4 性能测试360
18.7 调试的艺术360
18.7.1 调试过程360
18.7.2 心理因素361
18.7.3 调试方法362
18.8 小结363
参考文献363
习题与思考题364
推荐读物及其他信息源365
第19章 软件的技术度量366
19.1 软件质量367
19.1.1 McCall的质量因素367
19.1.2 FURPS369
19.1.3 ISO 9126质量因素370
19.1.4 到量化视图的变迁370
19.2 软件技术度量框架371
19.2.1 技术度量的挑战371
19.2.2 测度原则372
19.2.3 有效软件度量的属性372
19.3 分析模型的度量373
19.3.1 基于功能的度量373
19.3.2 bang度量375
19.3.3 规约质量的度量376
19.4 设计模型的度量377
19.4.1 体系结构设计度量377
19.4.2 构件级设计度量379
19.4.3 界面设计度量381
19.5 源代码度量382
19.6 对测试的度量383
19.7 对维护的度量384
19.8 小结384
参考文献385
习题与思考题386
推荐读物及其他信息源387
第四部分 面向对象软件工程389
第20章 面向对象的概念和原理389
20.1 面向对象范型390
20.2 面向对象概念391
20.2.1 类和对象392
20.2.2 属性393
20.2.3 操作、方法和服务393
20.2.4 消息394
20.2.5 封装、继承和多态395
20.3 标识对象模型的元素396
20.3.1 标识类和对象397
20.3.2 刻画属性399
20.3.3 定义操作399
20.3.4 完成对象定义400
20.4 面向对象软件项目的管理401
20.4.1 OO的公共过程框架401
20.4.2 面向对象项目度量和估算402
20.4.3 一种OO估算和进度安排方法403
20.4.4 跟踪面向对象项目的进展404
20.5 小结405
参考文献405
习题与思考题405
推荐读物及其他信息源406
第21章 面向对象分析408
21.1 面向对象分析409
21.1.1 传统方法和OO方法409
21.1.2 OOA概述410
21.1.3 统一的OOA方法411
21.2 领域分析412
21.2.1 复用和领域分析412
21.2.2 领域分析过程412
21.3 OO分析模型的类属成分414
21.4 OOA过程415
21.4.1 use-case415
21.4.2 类-责任-协作者建模416
21.4.3 定义结构和层次420
21.4.4 定义主题和子系统421
21.5 对象-关系模型422
21.6 对象-行为模型424
21.6.1 通过use-case标识事件424
21.6.2 状态表示425
21.7 小结427
参考文献427
习题与思考题428
推荐读物及其他信息源429
第22章 面向对象设计431
22.1 面向对象系统的设计432
22.1.1 传统方法和OO方法432
22.1.2 设计问题433
22.1.3 OOD概述434
22.1.4 统一的OOD方法435
22.2 系统设计过程437
22.2.1 划分分析模型437
22.2.2 并发性和子系统分配438
22.2.3 任务管理构件438
22.2.4 用户界面构件439
22.2.5 数据管理构件439
22.2.6 资源管理构件440
22.2.7 子系统间通信440
22.3 对象设计过程441
22.3.1 对象描述441
22.3.2 设计算法和数据结构442
22.3.3 程序构件和接口443
22.4 设计模式445
22.4.1 描述设计模式446
22.4.2 在设计中使用设计模式446
22.5 面向对象程序设计447
22.6 小结447
参考文献447
习题与思考题448
推荐读物及其他信息源449
第23章 面向对象测试451
23.1 扩大测试的视角451
23.2 测试OOA和OOD模型452
23.2.1 OOA和OOD模型的正确性452
23.2.2 OOA和OOD模型的一致性453
23.3 面向对象测试策略454
23.3.1 OO语境中的单元测试454
23.3.2 OO语境中的集成测试455
23.3.3 OO语境中的确认测试455
23.4 OO软件的测试案例设计455
23.4.1 OO概念的测试案例设计的含义456
23.4.2 传统测试案例设计方法的可用性456
23.4.3 基于故障的测试456
23.4.4 OO程序设计对测试的影响457
23.4.5 测试案例和类层次458
23.4.6 基于场景的测试设计458
23.4.7 测试表层结构和深层结构459
23.5 在类级别可用的测试方法460
23.5.1 对OO类的随机测试460
23.5.2 在类级别的划分测试460
23.6 类间测试案例设计461
23.6.1 多个类测试462
23.6.2 从行为模型导出的测试462
23.7 小结463
参考文献464
习题与思考题464
推荐读物及其他信息源465
第24章 面向对象系统的技术度量466
24.1 面向对象度量的目的466
24.2 面向对象度量的识别特征467
24.2.1 局部化467
24.2.2 封装467
24.2.3 信息隐蔽467
24.2.4 继承468
24.2.5 抽象468
24.3 对OO设计模型的度量468
24.4 面向类的度量469
24.4.1 CK度量套件469
24.4.2 Lorenz和Kidd建议的度量471
24.4.3 MOOD度量套件472
24.5 面向操作的度量473
24.6 对面向对象测试的度量473
24.7 对面向对象项目的度量474
24.8 小结475
参考文献475
习题与思考题476
推荐读物及其他信息源476
第五部分 软件工程高级课题479
第25章 形式化方法479
25.1 基本概念479
25.1.1 欠形式化方法的不足480
25.1.2 软件开发中的数学481
25.1.3 形式化方法概念482
25.2 数学预备知识485
25.2.1 集合和构造性规约485
25.2.2 集合运算符486
25.2.3 逻辑运算符487
25.2.4 序列488
25.3 应用数学符号描述形式规约488
25.4 形式规约语言490
25.5 用Z表示一个软件构件的例子490
25.6 形式化方法的十条戒律492
25.7 形式化方法——未来之路493
25.8 小结493
参考文献494
习题与思考题495
推荐读物及其他信息源495
第26章 净室软件工程497
26.1 净室方法498
26.1.1 净室策略498
26.1.2 什么使得净室独特499
26.2 功能规约500
26.2.1 黑盒规约501
26.2.2 状态盒规约501
26.2.3 清晰盒规约502
26.3 净室设计502
26.3.1 设计求精和验证502
26.3.2 设计验证的优点505
26.4 净室测试506
26.4.1 统计使用测试506
26.4.2 认证507
26.5 小结507
参考文献508
习题与思考题509
推荐读物及其他信息源509
第27章 基于构件的软件工程512
27.1 基于构件的系统的开发513
27.2 CBSE过程514
27.3 领域工程514
27.3.1 领域分析过程515
27.3.2 特征化函数516
27.3.3 结构建模和结构点517
27.4 基于构件的开发518
27.4.1 构件鉴定、适应性修改和组装518
27.4.2 构件工程520
27.4.3 为了复用的分析和设计521
27.5 分类和检索构件521
27.5.1 描述可复用构件522
27.5.2 复用环境524
27.6 CBSE经济学524
27.6.1 对质量、生产率和成本的影响524
27.6.2 使用结构点的成本分析525
27.6.3 复用度量526
27.7 小结526
参考文献527
习题与思考题528
推荐读物及其他信息源529
第28章 客户/服务器软件工程531
28.1 客户/服务器系统的结构532
28.1.1 C/S系统的软件构件533
28.1.2 软件构件的分布533
28.1.3 分布应用子系统的指导原则534
28.1.4 连接C/S软件子系统535
28.1.5 中间件和对象请求代理体系结构535
28.2 C/S系统的软件工程536
28.3 分析建模问题536
28.4 C/S系统的设计537
28.4.1 客户/服务器系统的体系结构设计537
28.4.2 应用软件的传统设计方法538
28.4.3 数据库设计538
28.4.4 一种设计方法的概述539
28.4.5 加工设计的迭代540
28.5 测试问题540
28.5.1 整体C/S测试策略541
28.5.2 C/S测试策略542
28.6 小结542
参考文献543
习题与思考题543
推荐读物及其他信息源544
第29章 Web工程546
29.1 基于Web的应用的属性547
29.1.1 质量属性548
29.1.2 技术549
29.2 WebE过程550
29.3 WebE框架550
29.4 表示/分析基于Web的系统551
29.4.1 表示551
29.4.2 分析552
29.5 基于Web的应用的设计553
29.5.1 体系结构设计553
29.5.2 导航设计556
29.5.3 界面设计557
29.6 测试基于Web的应用557
29.7 管理问题558
29.7.1 WebE队伍559
29.7.2 项目管理560
29.7.3 针对WebE的SCM问题561
29.8 小结563
参考文献563
习题与思考题564
推荐读物及其他信息源565
第30章 再工程566
30.1 业务过程再工程567
30.1.1 业务过程567
30.1.2 业务过程再工程的原则567
30.1.3 BPR模型568
30.1.4 几句警告569
30.2 软件再工程569
30.2.1 软件维护570
30.2.2 软件再工程过程模型570
30.3 逆向工程573
30.3.1 理解处理的逆向工程574
30.3.2 理解数据的逆向工程574
30.3.3 用户界面的逆向工程575
30.4 重构575
30.4.1 代码重构576
30.4.2 数据重构576
30.5 正向工程576
30.5.1 客户/服务器体系结构的正向工程577
30.5.2 面向对象体系结构的正向工程578
30.5.3 用户界面的正向工程579
30.6 再工程经济学579
30.7 小结580
参考文献580
习题与思考题581
推荐读物及其他信息源582
第31章 计算机辅助软件工程584
31.1 什么是CASE584
31.2 CASE的构造积木块585
31.3 CASE工具分类586
31.4 集成CASE环境589
31.5 集成体系结构590
31.6 CASE中心存储库591
31.6.1 在I-CASE中中心存储库的作用591
31.6.2 特征和内容592
31.7 小结594
参考文献595
习题与思考题595
推荐读物及其他信息源596
第32章 未来之路597
32.1 重提软件的重要性598
32.2 变化的范围598
32.3 人以及他们建造系统的方式598
32.4 “新”的软件工程过程599
32.5 表示信息的新模式600
32.6 技术作为推动力601
32.7 结束语601
参考文献602
习题与思考题602
推荐读物及其他信息源603
索引604