• 软件工程
21年品牌 40万+商家 超1.5亿件商品

软件工程

全新正版 极速发货

47.67 5.4折 89 全新

库存4件

广东广州
认证卖家担保交易快速发货售后保障

作者(英)伊恩·萨默维尔(Ian Sommerville) 著;彭鑫 等 译

出版社机械工业出版社

ISBN9787111589105

出版时间2018-02

装帧平装

开本16开

定价89元

货号1201653346

上书时间2024-09-04

谢岳书店

已实名 已认证 进店 收藏店铺

   商品详情   

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

目录
出版者的话
译者序
前言
第一部分软件工程导论
第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
……

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

精彩内容
前  言Software Engineering, Tenth Edition软件工程在过去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-technologyYouTube:youtube.com/user/SoftwareEngBookFacebook:facebook.com/sommerville.software.engineeringTwitter:@SoftwareEngBook 或者 @iansommerville(获取更广泛的推文)请在Twitter或Facebook上关注我,以便及时获得关于软件和系统工程的新材料和新评论。    致谢多年以来许多人都对本书的演进做出了贡献,在此我想感谢每一位曾经评论过本书此前版本并且给出了建设性意见的人(审阅人、学生、读者)。我想特别感谢我的家人Anne、Ali和Jane,感谢他们在我编写本书(以及此前所有版本)过程中对我的爱、帮助和支持。   &

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP