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

软件工程

全新正版 极速发货

72.03 5.6折 129 全新

库存6件

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

作者(英)伊恩·萨默维尔(Ian Sommerville) 著

出版社机械工业出版社

ISBN9787111580966

出版时间2017-10

装帧平装

开本16开

定价129元

货号1201589357

上书时间2024-06-18

曲奇书店

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

   商品详情   

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

目录
Part1 Introduction to Software Engineering  01
Chapter 1 Introduction 03
1.1 Professional software development 05
1.2 Software engineering ethics 14
1.3 Case studies 17
Chapter 2 Software processes 29
2.1 Software process models 31
2.2 Process activities 40
2.3 Coping with change 47
2.4 Process improvement 51
Chapter 3 Agile software development 58
3.1 Agile methods 61
3.2 Agile development techniques 63
3.3 Agile project management 70
3.4 Scaling agile methods 74
Chapter 4 Requirements engineering 87
4.1 Functional and non-functional requirements 91
4.2 Requirements engineering processes 97
4.3 Requirements elicitation 98
4.4 Requirements specification 106
4.5 Requirements validation 115
4.6 Requirements change 116
Chapter 5 System modeling 124
5.1 Context models 127
5.2 Interaction models 130
5.3 Structural models 135
5.4 Behavioral models 140
5.5 model-driven architecture 145
Chapter 6 Architectural design 153
6.1 Architectural design decisions 157
6.2 Architectural views 159
6.3 Architectural patterns 161
6.4 Application architectures 170
Chapter 7 Design and implementation 182
7.1 Object-oriented design using the UmL 184
7.2 Design patterns 195
7.3 Implementation issues 198
7.4 Open-source development 205
Chapter 8 Software testing 212
8.1 Development testing 217
8.2 Test-driven development 228
8.3 Release testing 231
8.4 User testing 235
Chapter 9 Software evolution 241
9.1 Evolution processes 244
9.2 Legacy systems 247
9.3 Software maintenance 256
Part 2 System Dependability and Security 269
Chapter 10 Dependable systems 271
10.1 Dependability properties 274
10.2 Sociotechnical systems 277
10.3 Redundancy and diversity 281
10.4 Dependable processes 283
10.5 Formal methods and dependability 285
Chapter 11 Reliability engineering 292
11.1 Availability and reliability 295
11.2 Reliability requirements 298
11.3 Fault-tolerant architectures 304
11.4 Programming for reliability 311
11.5 Reliability measurement 317
Chapter 12 Safety engineering 325
12.1 Safety-critical systems 327
12.2 Safety requirements 330
12.3 Safety engineering processes 338
12.4 Safety cases 347
Chapter 13 Security engineering 359
13.1 Security and dependability 362
13.2 Security and organizations 366
13.3 Security requirements 368
13.4 Secure systems design 374
13.5 Security testing and assurance 388
Chapter 14 Resilience engineering 394
14.1 Cybersecurity 398
14.2 Sociotechnical resilience 402
14.3 Resilient systems design 410
Part 3 Advanced Software Engineering 421
Chapter 15 Software reuse 423
15.1 The reuse landscape 426
15.2 Application frameworks 429
15.3 Software product lines 432
15.4 Application system reuse 439
Chapter 16 Component-based software engineering 450
16.1 Components and component models 453
16.2 CBSE processes 459
16.3 Component composition 466
Chapter 17 Distributed software engineering 476
17.1 Distributed systems 478
17.2 Client–server computing 485
17.3 Architectural patterns for distributed systems 487
17.4 Software as a service 498
Chapter 18 Service-oriented software engineering 506
18.1 Service-oriented architecture 510
18.2 RESTful services 515
18.3 Service engineering 519
18.4 Service composition 527
Chapter 19 Systems engineering 537
19.1 Sociotechnical systems 542
19.2 Conceptual design 549
19.3 System procurement 552
19.4 System development 556
19.5 System operation and evolution 560
Chapter 20 Systems of systems 566
20.1 System complexity 570
20.2 Systems of systems classification 573
20.3 Reductionism and complex systems 576
20.4 Systems of systems engineering 579
20.5 Systems of systems architecture 585
Chapter 21 Real-time software engineering 596
21.1 Embedded system design 599
21.2 Architectural patterns for real-time software 606
21.3 Timing analysis 612
21.4 Real-time operating systems 617
……

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

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

—  没有更多了  —

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

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