软件工程(原书第10版)
作者 : [英]伊恩·萨默维尔(Ian Sommerville) 著
译者 : 彭鑫 赵文耘 等译
丛书名 : 计算机科学丛书
出版日期 : 2018-01-24
ISBN : 978-7-111-58910-5
定价 : 89.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 528
开本 : 16
原书名 : Software Engineering, Tenth Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,影响了一代又一代软件工程人才,对学科本身也产生了积极影响。全书共四个部分,完整讨论了软件工程各个阶段的内容,是软件工程和系统工程专业本科和研究生的优秀教材,也是软件工程师必备的参考书籍。

图书特色

本书是软件工程领域的经典教材,自1982年第1版出版至今,伴随着软件工程学科的发展不断更新,影响了一代又一代的软件工程人才,对学科建设也产生了积极影响。全书共四个部分,完整讨论了软件工程各个阶段的内容,适合软件工程相关专业本科生和研究生学习,也适合软件工程师参考。

新版重要更新
全面更新了关于敏捷软件工程的章节,增加了关于Scrum的新内容。此外还根据需要对其他章节进行了更新,以反映敏捷方法在软件工程中日益增长的应用。
增加了关于韧性工程、系统工程、系统之系统的新章节。
对于涉及可靠性、安全、信息安全的三章进行了重新组织。
在第18章“面向服务的软件工程”中增加了关于RESTful服务的新内容。
更新和修改了关于配置管理的章节,增加了关于分布式版本控制系统的新内容。
将关于面向方面的软件工程以及过程改进的章节移到了本书的配套网站(software-engineering-book.com)上。
在网站上新增了补充材料,包括一系列教学视频。

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

图书前言

软件工程在过去50年之中取得了令人瞩目的进展。我们的社会已经无法在缺少大型专业化软件系统的情况下正常运转了。国家的公用事业和基础设施(如能源、通信、交通)全都依赖于复杂且可靠的计算机系统。软件使得我们可以探索空间,创造万维网这一人类历史上最重要的信息系统。智能手机和平板电脑无处不在,而为这些设备开发软件的整个“应用开发产业”已经在过去几年中悄然形成。
人类现在正面临着一系列迫切的挑战——气候变化和极端天气、自然资源的减少、需要为更多的人口提供食物和住房、国际恐怖主义的威胁,以及为老年人提供令人满意的生活。我们需要新技术来帮助我们应对这些挑战,可以肯定的是软件将在这些技术中扮演核心角色。因此,软件工程对于我们在这个星球上的未来极其重要。我们必须继续培养软件工程师并推动软件工程学科的持续发展,从而满足开发更多的软件系统以及创造我们所需要的越来越复杂的未来系统的需要。
当然,软件项目还存在很多问题。系统仍然有时会延迟交付并且成本超支。我们正在创造越来越复杂的软件系统之系统(software systems of systems),在这条道路上遇到各种困难也是不足为奇的。然而,我们不应该让这些问题掩盖软件工程领域已经取得的巨大成就,以及所形成的各种令人印象深刻的软件工程方法和技术。
本书的不同版本已经有超过30年的历史,而这一版同样遵循了本书第1版中所建立的基本原则:
1.按照工业界实践介绍软件工程,不对任何特定的方法(例如敏捷开发、形式化方法)持倾向性态度。在现实中,工业界往往将各种技术(例如敏捷以及基于计划的开发)混合在一起使用,这一点也在本书中有所反映。
2.根据我所知道的以及所理解的知识介绍软件工程。很多人建议我增加并详细介绍其他相关话题,例如开源软件开发、UML的使用以及移动软件工程等,但是我对这些领域的了解并不多,我个人的工作主要是在系统可靠性和系统工程方面,这一点在我为本书所选择的高级专题中有所反映。
我认为现代软件工程的关键问题是管理复杂性,将敏捷和其他方法结合起来,并确保我们的系统安全以及有韧性。这些问题是我在这一版中修改和新增内容的主要因素。
对第9版的修改
这一版相比第9版的更新和新增内容汇总如下:
全面更新了关于敏捷软件工程的章节,增加了关于Scrum的新内容。此外还根据需要对其他章节进行了更新,以反映敏捷方法在软件工程中日益增长的应用。
增加了关于韧性工程、系统工程、系统之系统的新章节。
对于涉及可靠性、安全、信息安全的3章进行了彻底的重新组织。
在第18章“面向服务的软件工程”中增加了关于RESTful服务的新内容。
更新和修改了关于配置管理的章节,增加了关于分布式版本控制系统的新内容。
将关于面向方面的软件工程以及过程改进的章节移到了本书的配套网站上。
在网站上新增了补充材料,包括一系列支持视频。我在视频中对于一些关键话题进行了解释,并且推荐了相关的YouTube视频。
这一版保留了此前版本中的四部分结构,但我对其中每个部分都进行了大量的修改。
1.在第一部分软件工程导论中,我彻底重写了第3章(敏捷方法)并对其进行了更新,以反映Scrum方法在实践中日益增长的使用。第1章增加了一个关于数字化学习环境的案例研究,这个案例在其他几个章节中也会用到。第9章更加详细地介绍了遗留系统。这一部分的其他章节也都进行了少量的修改和更新。
2.第二部分介绍系统可依赖性。这一部分进行了修改和重新组织,不再按照面向活动的方式进行组织,而是将安全、信息安全、可靠性分散在多个章节中。这使得相关内容(例如信息安全)可以更加方便地作为独立的专题在更加综合性的课程中使用。我增加了关于韧性工程的一章,其中涉及网络安全、组织韧性以及韧性系统设计。
3.第三部分增加了关于系统工程、系统之系统的新章节,并对与面向服务的系统工程相关的内容进行了全面修改,以反映RESTful服务的使用日益增长的趋势。与面向方面的软件工程相关的章节移到了本书的配套网站上。
4.第四部分对配置管理的内容进行了更新,以反映分布式版本控制工具(如Git)的使用日益增长的趋势。过程改进相关的章节移到了本书的配套网站上。
本书补充材料中的一个重要变化是为每个章节增加了视频推荐。我制作了关于一系列主题的40多段视频,放在我的YouTube频道上并可从本书的网页上链接过去。对于没有制作视频的地方,我推荐了一些可能有用的YouTube视频。
我在下面这个视频中解释了这一版中所做修改背后的原因。
http://software-engineering-book/videos/10th-edition-changes
读者对象
本书主要面向各大学和学院正在学习软件和系统工程初高级课程的学生。我假设读者对于编程基础和基本数据结构都已有所理解。
工业界的软件工程师也会发现这是一本很好的读物,能帮助他们在软件复用、体系结构设计、可依赖性和信息安全性以及系统工程等方面获得新的知识。
教学建议
针对三种不同类型的软件工程课程,我对本书进行了如下设计:
软件工程一般导论课程。本书的第一部分专门用于一个学期的软件工程导论课程。这部分包括9章,涵盖了软件工程领域的基础内容。如果你的课程中包含实践性教学环节,那么可以选讲第四部分中关于管理的章节。
软件工程特定主题的导论课程或进阶课程。通过使用本书第二~四部分的内容,可以创建一系列更高级的课程。例如,我采用第二部分的各章加上关于系统工程和质量管理的两章来讲授以关键系统为主题的课程。而对于讨论软件密集型系统的课程,我选择的章节涉及系统工程、需求工程、系统之系统、分布式软件工程、嵌入式软件、项目管理和项目计划。
软件工程特定主题的更高阶课程。对于这类课程,本书的各章可以构成课程的基础,然后辅之以更多的阅读以便进一步探索某个主题。例如,关于软件复用的课程就可以基于第15~18章的内容。
用书教师可以访问培生网站获取相关教辅资源,网址为http://www.pearsonhighered.com/sommerville。部分资源为加密内容,可在网站上通过注册来获取密码。教辅资源包括:
部分章末练习题的答案。
每章的测验题目及答案。
配套网站
本书采用印刷和在线网站内容相结合的方式,其中印刷版中的核心信息可以链接到网站上的补充材料。有些章节包含特别编写的在线段落以提供更多的信息。在线网站上还有6个在线章节,介绍了若干我在本书的印刷版中未介绍的主题。
读者可以从本书的网站(software-engineering-book.com)上下载丰富的补充材料,包括:
本书所有章节的PPT;
我所录制的针对一系列软件工程主题的视频,我还推荐了一些有助于学习本书内容的YouTube视频;
针对课程教师的指南,其中给出了在教授不同课程时如何使用本书的建议;
关于本书中案例研究(胰岛素泵、心理健康保健系统、野外气象站系统、数字化学习系统)的附加信息,以及其他一些案例研究(例如阿丽亚娜5型运载火箭失效);
6个在线章节,介绍了过程改进、形式化方法、交互设计、应用体系结构、文档化以及面向方面的开发;
为每个章节提供补充内容的在线段落,这些在线段落可以通过每一章中用方框突出显示的链接来访问;
附加的涉及一系列系统工程主题的PPT。
应本书读者的要求,我已经在本书的网站上发布了其中一个系统案例研究的完整需求规格说明。对于学生而言,获得这种文档并理解其结构和复杂性有些困难。为了避免保密问题,我对这个来自于真实系统的需求文档进行了再工程,因此使用该文档没有任何限制。
联系信息
网站:software-engineering-book.com
邮件:名字,software.engineering.book;域名,gmail.com
博客:iansommerville.com/systems-software-and-technology
YouTube:youtube.com/user/SoftwareEngBook
Facebook:facebook.com/sommerville.software.engineering
Twitter:@SoftwareEngBook 或者 @iansommerville(获取更广泛的推文)
请在Twitter或Facebook上关注我,以便及时获得关于软件和系统工程的新材料和新评论。
致谢
多年以来许多人都对本书的演进做出了贡献,在此我想感谢每一位曾经评论过本书此前版本并且给出了建设性意见的人(审阅人、学生、读者)。我想特别感谢我的家人Anne、Ali和Jane,感谢他们在我编写本书(以及此前所有版本)过程中对我的爱、帮助和支持。

Ian Sommerville
2014年9月

上架指导

计算机\软件工程

封底文字

本书是软件工程领域的经典教材,自1982年第1版出版至今,伴随着软件工程学科的发展不断更新,影响了一代又一代的软件工程人才,对学科建设也产生了积极影响。全书共四个部分,完整讨论了软件工程各个阶段的内容,适合软件工程相关专业本科生和研究生学习,也适合软件工程师参考。

新版重要更新:
·全面更新了关于敏捷软件工程的章节,增加了关于Scrum的新内容。此外还根据需要对其他章节进行了更新,以反映敏捷方法在软件工程中日益增长的应用。
·增加了关于韧性工程、系统工程、系统之系统的新章节。
·对于涉及可靠性、安全、信息安全的三章进行了彻底的重新组织。
·在第18章“面向服务的软件工程”中增加了关于RESTful服务的新内容。
·更新和修改了关于配置管理的章节,增加了关于分布式版本控制系统的新内容。
·将关于面向方面的软件工程以及过程改进的章节移到了本书的配套网站(software-engineering-book.com)上。
·在网站上新增了补充材料,包括一系列教学视频。

作者简介

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

译者序

很荣幸能从北京理工大学程成老师手中接过本书的翻译任务。程成老师从第6版开始承担本书的翻译任务,直至第9版,为我们这次第10版的翻译打下了良好的基础。
作为一本经典的软件工程教材,本书的内容非常全面。其中,第一部分覆盖了基本的软件开发生命周期,可以作为本科软件工程课程教学的基本内容。第二部分针对高可信软件系统对于可依赖性和信息安全的高要求,介绍了相应的软件工程方法和技术,体现了软件工程对于大规模复杂软件系统的质量保障作用。第三和第四部分则分别针对软件工程中的一些高级技术问题和开发管理问题进行了介绍。后三个部分的内容为面向高年级本科生和研究生的高级软件工程课程以及软件开发管理、软件可靠性工程等其他更深入的软件工程专业课程提供了教学内容。
难能可贵的是,本书每一次改版都能根据软件工程方法、技术及产业实践的最新发展更新并调整相关内容。本版在第9版的基础上,更新了关于敏捷软件工程的相关内容,增加了RESTful服务、系统之系统等反映软件开发技术和复杂系统发展趋势的新内容,重新组织了与高可信软件系统密切相关的多个章节,同时将面向方面的软件工程以及过程改进等不太重要的章节移到了网站上。
本书系统反映了工程化软件开发所具有的严谨性和规范性,但同时并不教条。例如,虽然系统性地介绍了UML建模方法,但在谈到UML在软件设计过程中的作用时,作者指出非正式的表示法在软件设计过程中可能更有用。因此,我们在学习本书所介绍的软件工程方法和规范的同时,也不要忘了与软件开发实践相结合,在做中学,在实践中领会。
本书主要由彭鑫、赵文耘翻译。参与本书翻译工作的还有复旦大学计算机科学技术学院研究生刘汶湅、周翔、姜清涛、陈驰、黄凯峰等。此外,机械工业出版社华章分社的朱劼、迟振春两位编辑还认真审校了译稿,在此一并表示感谢。
由于时间仓促以及译者自身知识和水平有限,译稿中难免存在错误和遗漏,在此向广大读者表示歉意,敬请批评指正!

图书目录

出版者的话
译者序
前言
第一部分 软件工程导论
第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.3 N版本编程 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
14.2.2 运行和管理过程 277
14.3 韧性系统设计 279
要点 284
阅读推荐 284
网站 285
练习 285
参考文献 285
第三部分 高级软件工程
第15章 软件复用 288
15.1 复用概览 290
15.2 应用框架 292
15.3 软件产品线 294
15.4 应用系统复用 298
15.4.1 可配置的应用系统 299
15.4.2 集成的应用系统 301
要点 303
阅读推荐 303
网站 304
练习 304
参考文献 305
第16章 基于构件的软件工程 306
16.1 构件和构件模型 307
16.1.1 构件模型 310
16.2 CBSE过程 311
16.2.1 面向复用的CBSE 312
16.2.2 基于复用的CBSE 314
16.3 构件组装 316
要点 321
阅读推荐 321
网站 322
练习 322
参考文献 322
第17章 分布式软件工程 324
17.1 分布式系统 325
17.1.1 交互模型 327
17.1.2 中间件 329
17.2 客户-服务器计算 330
17.3 分布式系统的体系结构模式 331
17.3.1 主从体系结构 332
17.3.2 两层客户-服务器体系结构 332
17.3.3 多层客户-服务器体系结构 334
17.3.4 分布式构件体系结构 335
17.3.5 对等体系结构 338
17.4 软件即服务 340
要点 342
阅读推荐 343
网站 343
练习 343
参考文献 344
第18章 面向服务的软件工程 345
18.1 面向服务的体系结构 348
18.1.1 SOA中的服务构件 349
18.2 RESTful服务 351
18.3 服务工程 354
18.3.1 可选服务识别 354
18.3.2 服务接口设计 356
18.3.3 服务实现和部署 358
18.4 服务组合 359
18.4.1 工作流设计与实现 361
18.4.2 服务组合测试 363
要点 364
阅读推荐 364
网站 365
练习 365
参考文献 366
第19章 系统工程 367
19.1 社会技术系统 370
19.1.1 涌现特性 372
19.1.2 不确定性 373
19.1.3 成功准则 374
19.2 概念设计 375
19.3 系统采购 377
19.4 系统开发 380
19.5 系统运行和演化 383
19.5.1 系统演化 384
要点 385
阅读推荐 385
网站 385
练习 386
参考文献 386
第20章 系统之系统 388
20.1 系统复杂度 390
20.2 系统之系统的分类 393
20.3 还原论和复杂系统 395
20.4 系统之系统工程 397
20.4.1 接口开发 398
20.4.2 集成和部署 399
20.5 系统之系统的体系结构 400
20.5.1 系统之系统的体系结构模式 402
要点 404
阅读推荐 405
网站 405
练习 405
参考文献 406
第21章 实时软件工程 407
21.1 嵌入式系统设计 408
21.1.1 实时系统建模 411
21.1.2 实时编程 413
21.2 实时软件体系结构模式 413
21.2.1 观察和反应模式 414
21.2.2 环境控制模式 415
21.2.3 处理管道模式 417
21.3 时序分析 418
21.4 实时操作系统 421
21.4.1 进程管理 422
要点 423
阅读推荐 424
网站 424
练习 424
参考文献 425
第四部分 软件管理
第22章 项目管理 428
22.1 风险管理 430
22.1.1 风险识别 431
22.1.2 风险分析 432
22.1.3 风险计划 433
22.1.4 风险监控 434
22.2 人员管理 435
22.2.1 激励人员 435
22.3 团队协作 437
22.3.1 成员的挑选 439
22.3.2 小组的结构 440
22.3.3 小组的沟通 442
要点 443
阅读推荐 443
网站 443
练习 444
参考文献 444
第23章 项目计划 445
23.1 软件报价 446
23.2 计划驱动的开发 447
23.2.1 项目计划 448
23.2.2 计划过程 449
23.3 项目进度安排 450
23.3.1 进度安排表示方法 451
23.4 敏捷计划 453
23.5 估算技术 455
23.5.1 算法成本建模 456
23.6 COCOMO成本建模 458
23.6.1 应用组合模型 459
23.6.2 早期设计模型 460
23.6.3 复用模型 460
23.6.4 后体系结构模型 462
23.6.5 项目的工期和人员配备 464
要点 464
阅读推荐 465
网站 465
练习 465
参考文献 467
第24章 质量管理 468
24.1 软件质量 469
24.2 软件标准 471
24.2.1 ISO 9001标准框架 473
24.3 评审与审查 475
24.3.1 评审过程 475
24.3.2 程序审查 476
24.4 质量管理与敏捷开发 478
24.5 软件度量 479
24.5.1 产品量度 481
24.5.2 软件构件分析 483
24.5.3 度量歧义 484
24.5.4 软件解析 485
要点 486
阅读推荐 486
网站 487
练习 487
参考文献 487
第25章 配置管理 489
25.1 版本管理 492
25.2 系统构建 495
25.3 变更管理 499
25.4 发布版本管理 503
要点 505
阅读推荐 505
网站 506
练习 506
参考文献 506
术语表 507

教学资源推荐
作者: (美)Larry L.Constantine,Lucy A.D.Lockwood
参考读物推荐
作者: (美)Kent Beck; Cynthia Andres 著
作者: (美)Dave Hendricksen 著
作者: Jim Arlow Ila Neustadt