(特价书)现代软件工程:面向软件产品(英文版)
基本信息

编辑推荐
现代软件工程:面向软件产品(英文版)
Engineering Software Products: An Introduction to Modern Software Engineering
[英]伊恩·萨默维尔(Ian Sommerville) 著
作译者
【加照片】伊恩·萨默维尔(Ian Sommerville) 英国著名软件工程专家,曾任圣安德鲁斯大学软件工程系教授,2014年退休。他在软件工程的教学和科研方面有40多年的经验,研究领域包括需求工程、大规模复杂系统和系统可靠性等。他撰写的软件工程教材畅销全球,销量超过75万册。
目录
1.1 产品愿景 7
1.2 软件产品管理 11
1.3 产品原型设计 16
要点 17
推荐阅读 18
习题 19
第2章 敏捷软件工程 20
2.1 敏捷方法 20
2.2 极限编程 24
2.3 Scrum 27
要点 47
推荐阅读 48
习题 48
第3章 特征、场景和用户故事 50
3.1 人物角色 54
3.2 场景 59
3.3 用户故事 66
3.4 特征识别 70
要点 79
前言
与一些人的想法不同,我认为软件产品工程化需要的技能远比编程技能多得多,因此撰写了本书,旨在介绍一些重要的软件工程活动,这些活动对开发高可信、高安全性的软件产品至关重要。
本书是写给哪些读者的?
本书面向刚刚开始学习软件工程课程的学生。对于那些准备进行软件产品开发又没有多少软件工程经验的技术人员来说,本书也非常适用。
为什么需要一本关注软件产品的软件工程书籍?
大多数软件工程教材关注基于项目的软件工程,核心思想是客户给出需求规约,公司开发软件。然而,用于大规模项目开发的软件工程技术和方法并不适合软件产品的开发。
学生通常很难理解大型定制软件系统,我的看法是,当学生关注他们经常使用的软件类型时,就会发现理解软件工程技术其实并不难。同样,当学生在做项目时,若更多地关注产品工程化技术而不是面向项目的技术,就会更容易理解软件工程技术。
本书是作者其他软件工程教材的新版本吗?
不是,本书考虑的是完全不同的方法,除了几幅图之外,没有重用任何来自《软件工程》(第10版)的资料。
本书包含哪些内容?
本书共10章,讨论的主题分别是:软件产品,敏捷软件工程,特征、场景和用户故事,软件架构,基于云的软件,微服务架构,安全和隐私,可信赖编程,测试,DevOps和代码管理。
本书适合一个学期的软件工程课程。
本书与其他软件工程导论教材有什么不同?
正如前面所说,本书关注产品而不是项目,介绍的技术是其他软件工程教材所没有涉及的,如人物角色和场景、云计算、微服务、安全和DevOps等。由于产品创新不是来自高校的学术研究工作,所以书中没有应用或提及这个方面,并且全书的写作风格也是“非学术”的。
如何从书中学到有用的知识?
阅读本书前最好具有现代面向对象语言的编程经验,例如,能熟练地使用Java或者Python语言编程,知道如何使用有意义的命名。同时,也应当熟悉基本的计算概念,如对象、类和数据库等。书中的实例程序尽管是用Python语言编写的,但任何具有编程经验的人都能轻松理解。
本书为教师提供哪些教辅资源?
1. 教师手册中包含每章的习题和测验问题的参考答案。
2. 一些有关如何在一个学期的软件工程课程中使用本书的建议。
3. 教学讲义(Keynote、PowerPoint和PDF三种形式)。
媒体评论
本书的核心内容包括软件产品、软件架构、敏捷软件工程、人物角色、场景、用户故事、基于云的软件、微服务架构、安全和隐私以及DevOps等。建议读者具有一定的Java或Python等面向对象语言的编程经验,在学习过程中注重从产品工程化的视角来理解软件工程技术,从而为开发高质量、高安全性、高可靠性的软件产品打好基础。
本书特色
·从软件产品工程化的视角全面讨论软件产品开发所需的方法和技术。
·涵盖同类书籍较少涉及的主题,如人物角色和场景、云计算、微服务、安全和DevOps等。
·内容组织灵活,每章都包含大量的示例、图表、要点分析、推荐阅读和习题等。