注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学软件工程实践者的研究方法(原书第6版)

软件工程实践者的研究方法(原书第6版)

软件工程实践者的研究方法(原书第6版)

定 价:¥69.00

作 者: 普雷斯曼
出版社: 机械工业
丛编项: 计算机科学丛书
标 签: 软件工程

ISBN: 9787111194002 出版时间: 2007-01-01 包装: 平装
开本: 16开 页数: 702 字数:  

内容简介

  本书自1982年发行第1版以来,一直受到软件工程界的高度重视,成为高等院校计算机相关专业软件工程课的重要教学参考书。20多年来,它的各个后继版本一直都是软件专业人土熟悉的读物,在国际软件工程界享有无可质疑的权威地位。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评。此外,本书在给出传统的、对学科发展具有深刻影响的方法时,又适当地介绍了当前正在发展的、具有生命力的新技术。本书第6版在结构和内容上均有不少调整、更新和充实。第6版更加突出了软件过程,增加了敏捷开发方法,更便于阅读。全书包括软件过程、软件工程实践、应用web工程、管理软件项目及软件工程高级课题五个部分。本书可作为计算机相关专业本科生和研究生的教材,同时也是软件工程领域专业人员的优秀参考读物。..20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评,在国际软件工程界享有无可质疑的权威地位。.本书第6版在结构和内容上均有不少调整、更新和充实。第6版更加突出了软件过程,增加了敏捷开发方法,论述了很多人们称之为“21世纪工程学科”的重要主题。对第6版的内容做了如下划分,更便于课堂教学及自学使用:●第一部分 软件过程,介绍了惯例模型和敏捷过程模型。●第二部分 软件工程实践,介绍了现代分析、设计和测试方法,新的重点放在基于UML的建模方面。●第三部分 应用Web工程,是第6版中新增的内容,描述了如何使软件工程实践适应WebApp 工程。●第四部分 管理软件项目,介绍与计划、管理和控制软件项目有关的主题。●第五部分 软件工程高级课题,专门讲述了形式化方法、净室软件工程、基于构件的方法及再工程。

作者简介

  出版者的话专家指导委员会译者序译者简介前言作者简介本书使用说明第1章软件工程介绍第一部分 软件过程第2章过程综述第3章过程模型第4章敏捷视角下的过程第二部分软件工程实践第5章软件工程实践综述第6章系统工程第7章需求工程第8章构建分析模型第9章设计工程第10章进行体系结结构设计第11章构件级设计建模第12章完成用户界面设计第13章软件测试策略第14章测试战术第15章产品质量第三部分应用Web工程第16章Web工程第17章开始一个WebApp项目第18章WebApp分析第19章WebApp设计第20章WebApp测试第四部分管理软件项目第21章项目管理第22章过程和项目度量第23章估算第24章项目进度安排第25章风险管理第26章质量管理第27章变更管理第五部分软件工程高级课题第28章形式化方法第29章净室软件工程第30章基于构件的开发第31章再工程第32章未来之路索引

图书目录

第1章 软件工程介绍 1.  
1.1 软件角色的演化 2  
1.2 软件 4  
1.3 软件特性的变化 6  
1.4 遗留软件 7  
1.4.1 遗留软件的质量 8  
1.4.2 软件演化 8  
1.5 软件神话 9  
1.6 这一切是如何开始的 11  
1.7 小结 12  
参考文献 12  
习题与思考题 13  
推荐读物与阅读信息 13  
第一部分 软件过程  
第2章 过程综述 16  
2.1 软件工程:一种层次化技术 17  
2.2 过程框架 18  
2.3 能力成熟度模型集成 22  
2.4 过程模式 25  
2.5 过程评估 27  
2.6 个人过程模型和团队过程模型 29  
2.6.1 个人软件过程 29  
2.6.2 团队软件过程 30  
2.7 过程技术 31  
2.8 产品与过程 32  
2.9 小结 33  
参考文献 33  
习题与思考题 34  
推荐读物与阅读信息 34  
第3章 过程模型 36  
3.1 惯例过程模型 37  
3.2 瀑布模型 37  
3.3 增量过程模型 38  
3.3.1 增量模型 38  
3.3.2 RAD模型 39  
3.4 演化过程模型 40  
3.4.1 原型开发 41  
3.4.2 螺旋模型 43  
3.4.3 协同开发模型 44  
3.4.4 演化过程模型的最终评述 45  
3.5 专用过程模型 46  
3.5.1 基于构件的开发 46  
3.5.2 形式化方法模型 47  
3.5.3 面向方面的软件开发 47  
3.6 统一过程 49  
3.6.1 简史 49  
3.6.2 统一过程的阶段 50  
3.6.3 统一过程工作产品 51  
3.7 小结 52  
参考文献 53  
习题与思考题 54  
推荐读物与阅读信息 54  
第4章 敏捷视角下的过程 56  
4.1 敏捷是什么 57  
4.2 敏捷过程是什么 58  
4.2.1 敏捷开发的立场 59  
4.2.2 人的因素 59  
4.3 敏捷过程模型 60  
4.3.1 极限编程 61  
4.3.2 自适应软件开发 64  
4.3.3 动态系统开发方法 66  
4.3.4 Scrum 66  
4.3.5 Crystal 68  
4.3.6 特征驱动开发 68  
4.3.7 敏捷建模 69  
4.4 小结 71  
参考文献 71  
习题与思考题 72  
推荐读物与阅读信息 73  
第二部分 软件工程实践  
第5章 软件工程实践综述 76  
5.1 概念 77  
5.1.1 实践的精髓 77  
5.1.2 核心原则 78  
5.2 沟通实践 79  
5.3 策划实践 82  
5.4 建模实践 84  
5.4.1 分析建模原则 85  
5.4.2 设计建模原则 86  
5.5 构造实践 89  
5.5.1 编码原则和概念 89  
5.5.2 测试原则 90  
5.6 部署 92  
5.7 小结 93  
参考文献 94  
习题与思考题 95  
推荐读物与阅读信息 95  
第6章 系统工程 97  
6.1 基于计算机的系统 98  
6.2 系统工程层次结构 99  
6.2.1 系统建模 100  
6.2.2 系统仿真 101  
6.3 业务过程工程概述 102  
6.4 产品工程概述 103  
6.5 系统建模 105  
6.5.1 Hatley-Pirbhai建模 105  
6.5.2 UML系统建模 107  
6.6 小结 109  
参考文献 110  
习题与思考题 110  
推荐读物与阅读信息 111  
第7章 需求工程 112  
7.1 连接设计和构造的桥梁 113  
7.2 需求工程任务 113  
7.2.1 起始 114  
7.2.2 导出 114  
7.2.3 精化 115  
7.2.4 协商 115  
7.2.5 规格说明 115  
7.2.6 确认 116  
7.2.7 需求管理 116  
7.3 启动需求工程过程 118  
7.3.1 确认共利益者 118  
7.3.2 识别多种观点 118  
7.3.3 协同合作 119  
7.3.4 首次提问 119  
7.4 导出需求 120  
7.4.1 协同需求收集 120  
7.4.2 质量功能部署 123  
7.4.3 用户场景 124  
7.4.4 导出工作产品 125  
7.5 开发用例 125  
7.6 构建分析模型 129  
7.6.1 分析模型的元素 129  
7.6.2 分析模式 132  
7.7 协商需求 133  
7.8 确认需求 134  
7.9 小结 135  
参考文献 135  
习题与思考题 136  
推荐读物与阅读信息 137  
第8章 构建分析模型 139  
8.1 需求分析 140  
8.1.1 整体目标和原理 140  
8.1.2 分析的经验原则 141  
8.1.3 域分析 141  
8.2 分析建模的方法 142  
8.3 数据建模概念 143  
8.3.1 数据对象 143  
8.3.2 数据属性 143  
8.3.3 关系 144  
8.3.4 基数和形态 145  
8.4 面向对象的分析 146  
8.5 基于场景建模 147  
8.5.1 编写用例 147  
8.5.2 开发活动图 152  
8.5.3 泳道图 153  
8.6 面向流的建模 153  
8.6.1 创建数据流模型 154  
8.6.2 创建控制流模型 156  
8.6.3 控制规格说明 157  
8.6.4 处理规格说明 158  
8.7 基于类的建模 159  
8.7.1 识别分析类 160  
8.7.2 描述属性 162  
8.7.3 定义操作 162  
8.7.4 CRC建模 164  
8.7.5 关联和依赖 169  
8.7.6 分析包 170  
8.8 生成行为模型 171  
8.8.1 识别用例事件 171  
8.8.2 状态表现 171  
8.9 小结 174  
参考文献 175  
习题与思考题 175  
推荐读物与阅读信息 176  
第9章 设计工程 178  
9.1 软件工程中的设计 179  
9.2 设计过程和设计质量 180  
9.3 设计概念 183  
9.3.1 抽象 183  
9.3.2 体系结构 183  
9.3.3 模式 184  
9.3.4 模块化 184  
9.3.5 信息隐蔽 185  
9.3.6 功能独立 186  
9.3.7 求精 186  
9.3.8 重构 187  
9.3.9 设计类 188  
9.4 设计模型 190  
9.4.1 数据设计元素 190  
9.4.2 体系结构设计元素 191  
9.4.3 接口设计元素 191  
9.4.4 构件级设计元素 192  
9.4.5 部署级设计元素 193  
9.5 基于模式的软件设计 194  
9.5.1 描述设计模式 194  
9.5.2 在设计中使用模式 195  
9.5.3 框架 195  
9.6 小结 196  
参考文献 196  
习题与思考题 197  
推荐读物与阅读信息 197  
第10章 进行体系结构设计 199  
10.1 软件体系结构 200  
10.1.1 什么是体系结构 200  
10.1.2 为什么体系结构如此重要 201  
10.2 数据设计 201  
10.2.1 体系结构级的数据设计 201  
10.2.2 构件级的数据设计 202  
10.3 体系结构风格和模式 203  
10.3.1 体系结构风格的简单分类 203  
10.3.2 体系结构模式 206  
10.3.3 组织和求精 207  
10.4 体系结构设计 208  
10.4.1 系统的环境表示 208  
10.4.2 定义原始模型 209  
10.4.3 将体系结构精化为构件 210  
10.4.4 描述系统实例 211  
10.5 评估可选的体系结构设计 212  
10.5.1 体系结构权衡分析方法 212  
10.5.2 体系结构复杂性 214  
10.5.3 体系结构描述语言 214  
10.6 映射数据流到软件体系结构 215  
10.6.1 变换流 215  
10.6.2 事务流    
10.6.3 变换映射 215  
10.6.4 事务映射 221  
10.6.5 精化体系结构设计 224  
10.7 小结 224  
参考文献 225  
习题与思考题 225  
推荐读物与阅读信息 226  
第11章 构件级设计建模 228  
11.1 什么是构件 229  
11.1.1 面向对象的观点 229  
11.1.2 传统观点 230  
11.1.3 过程相关的观点 232  
11.2 设计基于类的构件 233  
11.2.1 基本设计原则 233  
11.2.2 构件级设计指导方针 236  
11.2.3 内聚性 236  
11.2.4 耦合性 238  
11.3 实施构件级设计 240  
11.4 对象约束语言 244  
11.5 设计传统构件 246  
11.5.1 图形化设计表示 246  
11.5.2 表格式设计表示 247  
11.5.3 程序设计语言 248  
11.5.4 设计表示方法的比较 249  
11.6 小结 250  
参考文献 250  
习题与思考题 251  
推荐读物与阅读信息 251  
第12章 完成用户界面设计 253  
12.1 黄金规则 254  
12.1.1 置用户于控制之下 254  
12.1.2 减轻用户的记忆负担 255  
12.1.3 保持界面一致 256  
12.2 用户界面的分析与设计 257  
12.2.1 用户界面分析和设计模型 257  
12.2.2 用户界面分析和设计过程 258  
12.3 界面分析 260  
12.3.1 用户分析 260  
12.3.2 任务分析和建模 261  
12.3.3 显示内容分析 265  
12.3.4 工作环境分析 265  
12.4 界面设计步骤 266  
12.4.1 应用界面设计步骤 266  
12.4.2 用户界面设计模式 268  
12.4.3 设计问题 269  
12.5 设计评估 272  
12.6 小结 273  
参考文献 274  
习题与思考题 274  
推荐读物与阅读信息 275  
第13章 软件测试策略 276  
13.1 软件测试的策略性方法 277  
13.1.1 验证与确认 277  
13.1.2 软件测试的组织 278  
13.1.3 传统软件体系结构的测试策略 279  
13.1.4 面向对象软件体系结构的测试策略 280  
13.1.5 测试完成的标准 281  
13.2 策略问题 281  
13.3 传统软件的测试策略 282  
13.3.1 单元测试 282  
13.3.2 集成测试 284  
13.4 面向对象软件的测试策略 289  
13.4.1 面向对象环境中的单元测试 289  
13.4.2 面向对象环境中的集成测试 289  
13.5 确认测试 290  
13.5.1 确认测试准则 290  
13.5.2 配置评审 290  
13.5.3 a测试与b测试 290  
13.6 系统测试 292  
13.6.1 恢复测试 292  
13.6.2 安全测试 292  
13.6.3 压力测试 293  
13.6.4 性能测试 293  
13.7 调试技巧 294  
13.7.1 调试过程 294  
13.7.2 心理因素 295  
13.7.3 调试策略 296  
13.7.4 错误改正 298  
13.8 小结 298  
参考文献 299  
习题与思考题 299  
推荐读物与阅读信息 300  
第14章 测试战术 302  
14.1 软件测试基础 303  
14.2 黑盒测试与白盒测试 304  
14.3 白盒测试 305  
14.4 基本路径测试 305  
14.4.1 流图表示 305  
14.4.2 独立程序路径 307  
14.4.3 导出测试用例 308  
14.4.4 图矩阵 310  
14.5 控制结构测试 310  
14.5.1 条件测试 311  
14.5.2 数据流测试 311  
14.5.3 循环测试 311  
14.6 黑盒测试 312  
14.6.1 基于图的测试方法 313  
14.6.2 等价划分 314  
14.6.3 边界值分析 315  
14.6.4 正交数组测试    
14.7 面向对象测试方法 317  
14.7.1 面向对象概念的测试用例设计的含义 318  
14.7.2 传统测试用例设计方法的可应用性    
14.7.3 基于故障的测试 318  
14.7.4 测试用例与类层次 319  
14.7.5 基于场景的测试 319  
14.7.6 表层结构和深层结构的测试 320  
14.8 类级可应用的测试方法 321  
14.8.1 面向对象的随机测试 321  
14.8.2 类级的划分测试 322  
14.9 类间测试用例设计 323  
14.9.1 多类测试 323  
14.9.2 从行为模型中导出的测试 324  
14.10 针对特定环境. 体系结构和应用系统的测试 325  
14.10.1 图形用户界面测试 325  
14.10.2 客户/服务器体系结构测试 325  
14.10.3 测试文档和帮助设施 326  
14.10.4 实时系统的测试 327  
14.11 测试模式 328  
14.12 小结 329  
参考文献 329  
习题与思考题 330  
推荐读物与阅读信息 331  
第15章 产品度量 333  
15.1 软件质量 334  
15.1.1 M Call的质量因素 334  
15.1.2 ISO 9126质量因素 335  
15.1.3 向量化视图变迁 336  
15.2 产品度量框架 336  
15.2.1 测度. 度量和指标 336  
15.2.2 产品度量的挑战 337  
15.2.3 测量原则 338  
15.2.4 面向目标的软件测量 338..  
15.2.5 有效软件度量的属性 339  
15.2.6 产品度量全景 339  
15.3 分析模型的度量 341  
15.3.1 基于功能的度量 341  
15.3.2 规格说明质量的度量 344  
15.4 设计模型的度量 344  
15.4.1 体系结构设计度量 345  
15.4.2 面向对象设计的度量 346  
15.4.3 面向类的度量—CK度量集 347  
15.4.4 面向类的度量—MOOD度量集 350  
15.4.5 Lorenz与Kidd提出的面向对象度量 350  
15.4.6 构件级设计度量 351  
15.4.7 面向操作的度量 352  
15.4.8 用户界面设计度量 353  
15.5 源代码的度量 353  
15.6 测试的度量 354  
15.6.1 应用于测试的Halstead度量 355  
15.6.2 面向对象测试的度量 355  
15.7 维护的度量 356  
15.8 小结 357  
参考文献 357  
习题与思考题 359  
推荐读物与阅读信息 359  
第三部分 应用Web工程  
第16章 Web工程 362  
16.1 基于Web的系统及应用的特点 363  
16.2 WebApp工程的层次 365  
16.2.1 过程 365  
16.2.2 方法 366  
16.2.3 工具与技术 366  
16.3 Web工程过程 366  
16.3.1 定义框架 367  
16.3.2 精化框架 369  
16.4 Web工程的最佳实践 369  
16.5 小结 371  
参考文献 371  
习题与思考题 371  
推荐读物与阅读信息 372  
第17章 开始一个WebApp项目 373  
17.1 表达基于Web的系统 374  
17.1.1 表达问题 374  
17.1.2 WebApp的需求收集 375  
17.1.3 分析模型的过渡 379  
17.2 策划Web工程项目 379  
17.3 Web工程团队 380  
17.3.1 人员 380  
17.3.2 组建团队 381  
17.4 Web工程的项目管理问题 382  
17.4.1 WebApp策划—外包 382  
17.4.2 WebApp策划—内部Web工程 385  
17.5 Web工程与WebApp的度量 387  
17.5.1 Web工程工作量的度量 387  
17.5.2 评估商业价值的度量 388  
17.6 WebApp项目的“最坏实践” 389  
17.7 小结 390  
参考文献 390  
习题与思考题 391  
推荐读物与阅读信息 392  
第18章 WebApp分析 393  
18.1 WebApp的需求分析 394  
18.1.1 用户层次 394  
18.1.2 开发用例 395  
18.1.3 精化用例模型 397  
18.2 WebApp的分析模型 397  
18.3 内容模型 398  
18.3.1 定义内容对象 398  
18.3.2 内容关系与层次 399  
18.3.3 WebApp的分析类 399  
18.4 交互模型 400  
18.5 功能模型 402  
18.6 配置模型 403  
18.7 关系导航分析 404  
18.7.1 关系分析—关键问题 404  
18.7.2 导航分析 405  
18.8 小结 406  
参考文献 406  
习题与思考题 407  
推荐读物与阅读信息 407  
第19章 WebApp设计 409  
19.1 Web工程的设计问题 410  
19.1.1 设计与WebApp质量 410  
19.1.2 设计目标 412  
19.2 WebE设计金字塔 413  
19.3 WebApp界面设计 414  
19.3.1 界面设计原则与指导方针 414  
19.3.2 界面控制机制 418  
19.3.3 界面设计工作流 418  
19.4 美学设计 420  
19.4.1 布局问题 420  
19.4.2 美术设计问题 421  
19.5 内容设计 421  
19.5.1 内容对象 421  
19.5.2 内容设计问题 422  
19.6 体系结构设计 423  
19.6.1 内容体系结构 423  
19.6.2 WebApp体系结构 425  
19.7 导航设计 426  
19.7.1 导航语义 426  
19.7.2 导航语法 427  
19.8 构件级设计 428  
19.9 超媒体设计模式 428  
19.10 面向对象的超媒体设计方法 429  
19.10.1 OOHDM的概念设计 430  
19.10.2 OOHDM的导航设计 431  
19.10.3 抽象界面设计与实现 431  
19.11 WebApp的设计度量 431  
19.12 小结 432  
参考文献 433  
习题与思考题 434  
推荐读物与阅读信息 435  
第20章 WebApp测试 436  
20.1 WebApp的测试概念 436  
20.1.1 质量维度 437  
20.1.2 WebApp环境中的错误 438  
20.1.3 测试策略 438  
20.1.4 测试策划 438  
20.2 测试过程概述 439  
20.3 内容测试 442  
20.3.1 内容测试的目标 442  
20.3.2 数据库测试 443  
20.4 用户界面测试 444  
20.4.1 界面测试策略 444  
20.4.2 测试界面机制 445  
20.4.3 测试界面语义 446  
20.4.4 可用性测试 447  
20.4.5 兼容性测试 448  
20.5 构件级测试 449  
20.6 导航测试 451  
20.6.1 测试导航语法 451  
20.6.2 测试导航语义 451  
20.7 配置测试 452  
20.7.1 服务器端问题 453  
20.7.2 客户端问题 453  
20.8 安全性测试 453  
20.9 性能测试 455  
20.9.1 性能测试的目标 455  
20.9.2 负载测试 455  
20.9.3 压力测试 456  
20.10 小结 458  
参考文献 458  
习题与思考题 459  
推荐读物与阅读信息 460  
第四部分 管理软件项目  
第21章 项目管理 462  
21.1 管理涉及的范围 463  
21.1.1 人员 463  
21.1.2 产品 463  
21.1.3 过程 464  
21.1.4 项目 464  
21.2 人员 464  
21.2.1 共利益者 465  
21.2.2 团队负责人 465  
21.2.3 软件团队 466  
21.2.4 敏捷团队 468  
21.2.5 协调和通信问题 469  
21.3 产品 470  
21.3.1 软件范围 470  
21.3.2 问题分解 470  
21.4 过程 471  
21.4.1 合并产品和过程 471  
21.4.2 过程分解 472  
21.5 项目 473  
21.6 W5HH原则 474  
21.7 关键实践 475  
21.8 小结 475  
参考文献 476  
习题与思考题 476  
推荐读物与阅读信息 477  
第22章 过程和项目度量 479  
22.1 过程领域和项目领域中的度量 480  
22.1.1 过程度量和软件过程改进 480  
22.1.2 项目度量 481  
22.2 软件测量 483  
22.2.1 面向规模的度量 483  
22.2.2 面向功能的度量 484  
22.2.3 调和代码行和功能点的度量方法 485  
22.2.4 面向对象的度量 486  
22.2.5 面向用例的度量 487  
22.2.6 Web工程项目度量 487  
22.3 软件质量度量 489  
22.3.1 测量质量 489  
22.3.2 缺陷排除效率 490  
22.4 在软件过程中集成度量 491  
22.4.1 支持软件度量的论点 492  
22.4.2 建立基线 492  
22.4.3 度量收集. 计算和评估 492  
22.5 小型组织的度量 493  
22.6 制定软件度量大纲 494  
22.7 小结 496  
参考文献 496  
习题与思考题 497  
推荐读物与阅读信息 498  
第23章 估算 500  
23.1 对估算的观察 501  
23.2 项目策划过程 501  
23.3 软件范围和可行性 502  
23.4 资源 503  
23.4.1 人力资源 503  
23.4.2 可复用软件资源 504  
23.4.3 环境资源 504  
23.5 软件项目估算 505  
23.6 分解技术 505  
23.6.1 软件规模估算 506  
23.6.2 基于问题的估算 506  
23.6.3 基于LOC估算的实例 507  
23.6.4 基于FP估算的实例 509  
23.6.5 基于过程的估算 510  
23.6.6 基于过程估算的实例 511  
23.6.7 基于用例的估算 511  
23.6.8 基于用例的估算实例 512  
23.6.9 调和不同的估算方法 513  
23.7 经验估算模型 514  
23.7.1 估算模型的结构 514  
23.7.2 COCOMOII模型 515  
23.7.3 软件方程式 516  
23.8 面向对象项目的估算 517  
23.9 特殊的估算技术 517  
23.9.1 敏捷开发的估算 518  
23.9.2 Web工程项目的估算 518  
23.10 自行开发或购买的决策 519  
23.10.1 创建决策树 520  
23.10.2 外包 521  
23.11 小结 522  
参考文献 523  
习题与思考题 523  
推荐读物与阅读信息 524  
第24章 项目进度安排 525  
24.1 基本概念 526  
24.2 项目进度安排 527  
24.2.1 基本原则 528  
24.2.2 人员与工作量之间的关系 529  
24.2.3 工作量分配 530  
24.3 为软件项目定义任务集 531  
24.3.1 任务集举例 531  
24.3.2 主要任务的求精 532  
24.4 定义任务网络 533  
24.5 进度安排 533  
24.5.1 时序图 535  
24.5.2 跟踪进度 536  
24.5.3 跟踪OO项目的进展 537  
24.6 获得值分析 538  
24.7 小结 539  
参考文献 540  
习题与思考题 540  
推荐读物与阅读信息 541  
第25章 风险管理 543  
25.1 被动风险策略和主动风险策略 544  
25.2 软件风险 544  
25.3 风险识别 545  
25.3.1 评估整体项目风险 546  
25.3.2 风险因素和驱动因子 547  
25.4 风险预测 548  
25.4.1 建立风险表 548  
25.4.2 评估风险影响 549  
25.5 风险求精 551  
25.6 风险缓解. 监测和管理 552  
25.7 RMMM计划 553  
25.8 小结 555  
参考文献 555  
习题与思考题 555  
推荐读物与阅读信息 556  
第26章 质量管理 558  
26.1 质量概念 559  
26.1.1 质量 559  
26.1.2 质量控制 560  
26.1.3 质量保证 560  
26.1.4 质量成本 560  
26.2 软件质量保证 561  
26.2.1 背景 562  
26.2.2 SQA活动 562  
26.3 软件评审 563  
26.3.1 软件缺陷对成本的影响 564  
26.3.2 缺陷放大和消除 564  
26.4 正式技术评审 566  
26.4.1 评审会议 566  
26.4.2 评审报告和记录保存 567  
26.4.3 评审指导原则 567  
26.4.4 样本驱动评审 568  
26.5 SQA的形式化方法 570  
26.6 基于统计的软件质量保证 570  
26.6.1 一个普通的例子 570  
26.6.2 软件工程中的六西格玛 571  
26.7 软件可靠性 572  
26.7.1 可靠性和可用性的测量 572  
26.7.2 软件安全 573  
26.8 ISO 9000质量标准 574  
26.9 SQA计划 575  
26.10 小结 576  
参考文献 577  
习题与思考题 578  
推荐读物与阅读信息 578  
第27章 变更管理 580  
27.1 软件配置管理 581  
27.1.1 SCM场景 581  
27.1.2 配置管理系统元素 582  
27.1.3 基线 582  
27.1.4 软件配置项 583  
27.2 SCM中心存储库 584  
27.2.1 中心存储库的作用 585  
27.2.2 一般特征和内容 585  
27.2.3 SCM特征 585  
27.3 SCM过程 587  
27.3.1 软件配置中对象的标识 587  
27.3.2 版本控制 588  
27.3.3 变更控制 589  
27.3.4 配置审核 592  
27.3.5 状态报告 593  
27.4 Web工程的配置管理 593  
27.4.1 WebApp的配置管理问题 594  
27.4.2 WebApp的配置对象 595  
27.4.3 内容管理 595  
27.4.4 变更管理 597  
27.4.5 版本控制 599  
27.4.6 审核和报告 599  
27.5 小结 600  
参考文献 601  
习题与思考题 602  
推荐读物与阅读信息 602  
第五部分 软件工程高级课题  
第28章 形式化方法 606  
28.1 基本概念 607  
28.1.1 非形式化方法的缺陷 607  
28.1.2 软件开发中的数学 608  
28.1.3 形式化方法概念 608  
28.2 数学预备知识 610  
28.2.1 集合与构造性规格说明 610  
28.2.2 集合运算符 611  
28.2.3 逻辑运算符 613  
28.2.4 序列 613  
28.3 应用数学表示法描述形式化规格说明 614  
28.4 形式化规格说明语言 615  
28.5 对象约束语言 616  
28.5.1 OCL语法及语义概述 616  
28.5.2 使用OCL举例 617  
28.6 Z规格说明语言 618  
28.6.1 Z语法及语义概述 619  
28.6.2 使用Z举例 620  
28.7 形式化方法的十条戒律 621  
28.8 形式化方法—未来之路 622  
28.9 小结 622  
参考文献 623  
习题与思考题 623  
推荐读物与阅读信息 624  
第29章 净室软件工程 626  
29.1 净室方法 627  
29.1.1 净室策略 627  
29.1.2 净室方法的特异之处 629  
29.2 功能规格说明 629  
29.2.1 黑盒规格说明 630  
29.2.2 状态盒规格说明 631  
29.2.3 清晰盒规格说明 631  
29.3 净室设计 631  
29.3.1 设计求精与验证 632  
29.3.2 设计验证的优点 634  
29.4 净室测试 635  
29.4.1 统计使用测试 636  
29.4.2 认证 636  
29.5 小结 637  
参考文献 638  
习题与思考题 638  
推荐读物与阅读信息 639  
第30章 基于构件的开发 640  
30.1 基于构件系统的工程 641  
30.2 CBSE过程 642  
30.3 领域工程 643  
30.3.1 领域分析过程 643  
30.3.2 特征化函数 643  
30.3.3 结构化建模与结构点 644  
30.4 基于构件的开发 645  
30.4.1 构件合格性检验. 适应性修改与组装 645  
30.4.2 构件工程 648  
30.4.3 复用的分析与设计 648  
30.5 构件分类与检索 649  
30.5.1 描述可复用构件 649  
30.5.2 复用环境 650  
30.6 CBSE经济学 651  
30.6.1 对质量. 生产率及成本的影响 651  
30.6.2 运用结构点的成本分析 652  
30.7 小结 653  
参考文献 653  
习题与思考题 654  
推荐读物与阅读信息 655  
第31章 再工程 657  
31.1 业务过程再工程 658  
31.1.1 业务过程 658  
31.1.2 BPR模型 659  
31.2 软件再工程 660  
31.2.1 软件维护 660  
31.2.2 软件再工程过程模型 661  
31.3 逆向工程 663  
31.3.1 数据的逆向工程 664  
31.3.2 处理的逆向工程 665  
31.3.3 用户界面的逆向工程 665  
31.4 重构 666  
31.4.1 代码重构 666  
31.4.2 数据重构 667  
31.5 正向工程 668  
31.5.1 客户/服务器体系结构的正向工程 668  
31.5.2 面向对象体系结构的正向工程 669  
31.5.3 用户界面的正向工程 670  
31.6 再工程经济学 670  
31.7 小结 671  
参考文献 671  
习题与思考题 672  
推荐读物与阅读信息 673  
第32章 未来之路 675  
32.1 再论软件的重要性 676  
32.2 变化的范围 676  
32.3 人及其构造系统的方式 677  
32.4 新的软件工程过程 678  
32.5 表示信息的新模式 679  
32.6 技术作为推动力 680  
32.7 软件工程师的责任 681  
32.8 结束语 682  
参考文献 683  
习题与思考题 683  
推荐读物与阅读信息 684  
索引 687

本目录推荐