本书源自加州大学伯克利分校经典软件工程课程,由在线教育先驱Armando Fox与图灵奖得主David Patterson联合撰写。书中以“软件即服务”(SaaS)为主线,围绕云计算环境下的敏捷发(采用极限编程)展,使用Ruby on Ralls和HTML 5JavaScripti讲授云应用和移动应用从发、测试到部署的完整生命周期。 第2版在保持原有“敏捷发+SaaS教学法”核心理念的基础上,引COD(概念导向教学)与CHIPS(编码实践集成编程活动)的创新教学设计,将概念学习与动手实践有机融合。同时提出“API优先”的服务器设计方法,帮助学习者建立基于资源的应用设计思维。
售 价:¥
纸质售价:¥101.00购买纸书
6.5
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

译者序
作者简介
前言
第1章 软件即服务、敏捷开发和云计算简介
1.1 引言
1.2 软件开发过程:计划-文档
1.3 软件开发过程:敏捷宣言
1.4 软件质量保证:测试
1.5 生产力:简洁性、综合性、重用和工具
1.6 面向SaaS和服务的架构
1.7 部署SaaS:云计算
1.8 部署SaaS:浏览器和移动设备
1.9 美丽代码对比遗留代码
1.10 导览与本书使用指南
1.11 谬误与陷阱
1.12 结语:软件工程不止于编程
参考文献
第一部分 软件即服务:框架与语言
第2章 如何学习一门新语言
2.1 序言:学习如何学习语言和框架
2.2 结对编程
2.3 介绍Ruby,一种面向对象的语言
2.4 Ruby习惯用法:诗意编程风格、块、鸭子类型
2.5 CHIPS:Ruby入门
2.6 Gems和Bundler:Ruby的库管理
2.7 谬误与陷阱
2.8 结语:如何(不)通过谷歌学习一门语言
参考文献
第3章 SaaS应用架构:微服务、API和REST
3.1 Web的客户端-服务器架构
3.2 SaaS通信使用HTTP路由
3.3 CHIPS:HTTP和URI
3.4 从网站到微服务:SOA
3.5 RESTful API:一切皆资源
3.6 RESTful URI、API调用和JSON
3.7 CHIPS:创建和部署一个简单的SaaS应用
3.8 谬误与陷阱
3.9 结语:从CGI到SOA的连续性
参考文献
第4章 SaaS框架:作为模型-视图-控制器框架的Rails
4.1 模型-视图-控制器架构
4.2 Rails模型:数据库和活动记录
4.3 CHIPS:ActiveRecord基础
4.4 路由、控制器和视图
4.5 CHIPS:Rails路由
4.6 表单
4.7 CHIPS:Rails上的Hangperson
4.8 调试:当出现问题时
4.9 CHIPS:Hello Rails
4.10 谬误与陷阱
4.11 结语:作为服务框架的Rails
参考文献
第5章 SaaS框架:SaaS的高级编程抽象
5.1 在MVC中实现DRY原则:局部视图、验证和过滤器
5.2 单点登录和第三方认证
5.3 CHIPS:Rails简介
5.4 关联和外键
5.5 直通关联
5.6 关联的RESTful路由
5.7 CHIPS:关联
5.8 其他类型的代码
5.9 谬误与陷阱
5.10 结语:语言、生产力和美
参考文献
第6章 移动和桌面SaaS客户端:JavaScript简介
先决条件与概念
6.1 JavaScript:全面概括
6.2 介绍ECMAScript
6.3 类、函数和构造函数
6.4 文档对象模型和jQuery
6.5 文档对象模型和可访问性
6.6 事件和回调
6.7 AJAX:异步JavaScript和XML
6.8 测试JavaScript和AJAX
6.9 CHIPS:对烂番茄应用的AJAX增强
6.10 单页应用程序和JSON API
6.11 谬误与陷阱
6.12 结语:JavaScript的过去、现在和未来
参考文献
第二部分 敏捷软件开发
第7章 需求:行为驱动设计与用户故事
7.1 行为驱动设计与用户故事概述
7.2 评估用户故事的SMART原则
7.3 低保真用户界面草图和故事板
7.4 点数和速度
7.5 敏捷成本估算
7.6 Cucumber:从用户故事到验收测试
7.7 CHIPS:行为驱动设计和Cucumber简介
7.8 显式对比隐式、命令式对比声明式场景
7.9 文档的计划-文档视角
7.10 谬误与陷阱
7.11 结语:行为驱动设计的优缺点
参考文献
第8章 软件测试:测试驱动开发
先决条件与概念
8.1 FIRST原则、测试驱动开发和红绿重构
8.2 测试用例的构成:准备、执行、断言
8.3 隔离代码:替身和接缝
8.4 对互联网进行桩化
8.5 CHIPS:Rails上的RSpec入门
8.6 测试夹具和测试数据工厂
8.7 覆盖概念和测试类型
8.8 其他测试方法和术语
8.9 CHIPS:验收测试/单元测试周期
8.10 测试的计划-文档视角
8.11 谬误与陷阱
8.12 结语:测试驱动开发对比传统调试
参考文献
第9章 软件维护:使用重构和敏捷方法来增强遗留软件
9.1 什么使得代码被“遗留”,如何使用敏捷方法改善这一状况
9.2 探索遗留代码库
9.3 通过特征测试建立基本事实
9.4 注释和提交:代码记录
9.5 指标、代码异味和SOFA
9.6 方法级重构:用接缝代替依赖
9.7 以计划-文档角度处理遗留代码
9.8 谬误与陷阱
9.9 结语:持续重构
参考文献
第10章 敏捷团队
10.1 这需要一个团队:两比萨团队与Scrum
10.2 有效使用分支
10.3 拉取请求和代码审查
10.4 采用持续集成交付待办事项
10.5 CHIPS:敏捷迭代
10.6 报告和修复错误:五个R
10.7 管理团队的计划-文档视角
10.8 谬误与陷阱
10.9 结语:从独立开发者到团队合作
参考文献
第11章 SaaS应用的设计模式
11.1 模式、反模式和SOLID类架构
11.2 刚好足够的UML
11.3 单一责任原则
11.4 开放/封闭原则
11.5 Liskov替换原则
11.6 依赖注入原则
11.7 Demeter原则
11.8 设计模式的计划-文档视角
11.9 6S:干净的代码清单
11.10 谬误与陷阱
11.11 结语:框架捕捉设计模式
参考文献
第12章 Dev/Ops:部署、性能、可靠性和实际安全性
12.1 从开发到部署
12.2 三层架构
12.3 响应性、服务水平目标和Apdex
12.4 发布和特征标志
12.5 监控和查找瓶颈
12.6 利用缓存提高渲染和数据库性能
12.7 避免滥用数据库查询
12.8 CHIPS:利用缓存和索引
12.9 安全性:保护应用程序中的用户数据
12.10 计划与文档视角下的运维
12.11 谬误与陷阱
12.12 结语:超越PaaS基础
参考文献
第13章 尾声
13.1 回顾
13.2 展望未来
13.3 重要阅读
13.4 结语
参考文献
推荐阅读
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜