SaaS軟件工程(雲計算時代的敏捷開發) SaaS软件工程:云计算时代的敏捷开发
福克斯 (Armando Fox), 帕特森 (David Patterson)
- 出版商: 清華大學
- 出版日期: 2015-06-01
- 定價: $419
- 售價: 8.5 折 $356
- 語言: 簡體中文
- 頁數: 456
- 裝訂: 平裝
- ISBN: 7302399670
- ISBN-13: 9787302399674
-
相關分類:
Agile Software
- 此書翻譯自: Engineering Software as a Service: An Agile Approach Using Cloud Computing (Paperback)
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$1,159FXRuby: Create Lean and Mean GUIs with Ruby
-
$590$502 -
$296Scrum 敏捷開發高級教程-使用 Team Foundation Server 2010 (Professional Scrum with Team Foundation Server 2010)
-
$480$432 -
$520$468 -
$780$616 -
$620$558 -
$520$411 -
$450$356 -
$680$578 -
$550$468 -
$880$695 -
$460$359 -
$254GitHub 入門與實踐
-
$780$616 -
$360$284 -
$549$522 -
$680$537 -
$1,600$1,600 -
$332可伸縮架構:面向增長應用的高可用(Architecting for scale: high availability for your growing applications)
-
$199PaaS 程序設計
-
$400$360 -
$780$616 -
$520$411 -
$650$514
相關主題
商品描述
<內容簡介>
《SaaS軟件工程(雲計算時代的敏捷開發)》介紹了21世紀以來軟件工程的兩個新的發展方向——軟件即服務和敏捷開發。本書第一部分介紹了軟件即服務及其相關的編程環境,包括Ruby、Rails和JavaScript等內容;第二部分介紹了現代軟件開發並強調了敏捷開發相關技術,包括行為驅動和測試驅動的設計與開發,遺留代碼處理,項目團隊管理,設計模式,軟件架構等內容,並給出了許多有用的建議。
本書的作者Armando Fox(福克斯)和David Patterson(帕特森)不僅在電腦科學領域建樹頗豐,而且在軟件工程方面也有著豐富的教學和研究實踐經驗。他們將軟件即服務和敏捷開發的內容與具體的實例相結合,完成了這本內容豐富且易於學習的書。我們希望本書能夠幫助你通過實踐學到軟件開發的知識與技能,並能開發出漂亮而持久的軟件。
<章節目錄>
第1章 SaaS與敏捷開發介紹
1.1 簡介
1.2 SaaS,軟件即服務
1.3 面向服務的架構(SOA)
1.4 雲計算
1.5 漂亮的代碼與遺留代碼
1.6 軟件質量保證:測試
1.7 生產力:簡明、綜合、復用和工具
1.8 軟件開發過程:計劃和文檔過程
1.9 軟件開發過程:敏捷宣言
1.10 本書導覽
1.11 如何閱讀本書
1.12 謬論和陷阱
1.13 結束語:軟件工程不只是單純的編程
1.14 深入學習
1.15 建議的練習
第一部分 軟件即服務
第2章 SaaS應用的架構
2.1 100 000英尺:客戶端-服務器架構
2.2 50 000英尺:通信——HTTP和URI
2.3 10 000英尺:表示方法——HTML和CSS
2.4 5000英尺:3層體系結構和橫向擴展
2.5 1000英尺:模型-視圖-控制器架構
2.6 500英尺:模型的活動記錄
2.7 500英尺:路由、控制器與REST
2.8 500英尺:模板視圖
2.9 謬論和陷阱
2.10 結束語:模式、架構和長壽命的API
2.11 深入學習
2.12 建議的練習
第3章 SaaS架構:針對Java編程者的Ruby簡介
3.1 概述以及Ruby的三大支柱
3.2 一切都是對象
3.3 每一個操作都是一個方法調用
3.4 類、方法和繼承
3.5 所有的編程都是元編程
3.6 塊:迭代器、函數式習語和閉包
3.7 mix-in和鴨子類型
3.8 用yield構造自己的迭代器
3.9 謬論和陷阱
3.10 結束語:慣用語言使用
3.11 深入學習
3.12 建議的練習
第4章 SaaS架構:Rails簡介
4.1 Rails基礎:從0到CRUD
4.2 數據庫和遷移
4.3 模型:ActiveRecord基礎
4.4 控制器和視圖
4.5 調試:當出現錯誤時
4.6 表單提交:new和create
4.7 重定向和flash
4.8 完成CRUD:編輯∕更新和銷毀
4.9 謬論和陷阱
4.10 結束語:SOA的設計
4.11 深入學習
4.12 建議的練習
第5章 SaaS框架:Rails高級功能
5.1 去除MVC中的重複:partial、校驗和過濾器
5.2 單點登錄和第三方認證
5.3 關聯和外鍵
5.4 間接關聯:
5.5 關聯的REST路由
5.6 可復用作用域的組合查詢
5.7 謬論和陷阱
5.8 結束語:語言、生產力和美觀
5.9 深入學習
5.10 建議的練習
第6章 SaaS的客戶端框架:JavaScdpt簡介
6.1 JavaScript:大圖景
6.2 面向Ruby程序員的客戶端JavaScript介紹
6.3 函數和構造器
6.4 文檔對象模型和jQuery
6.5 事件與回調
6.6 AJAX:異步的JavaScript和XML
6.7 測試和調試JavaScnpt與AJAX
6.8 單頁面應用和Json API
6.9 謬論和陷阱
6.10 結束語:JavaScript的昨天、今天以及明天
6.11 深入學習
6.12 建議的練習
第二部分 軟件開發:敏捷開發與計劃文檔模式
第7章 需求:行為驅動設計用戶故事
7.1 行為驅動設計與用戶故事簡介
7.2 SMART用戶故事
7.3 任務點、速率和Pivotal Tracker
7.4 敏捷開發的成本估計
7.5 Cucumber和Capybara介紹
7.6 運行Cucumber和Capybara
7.7 低精度用戶界面模型和故事板
7.8 優化Rotten Potatoes
7.9 顯式的和隱式的需求、命令式的和聲明式的情景
7.10 計劃文檔的視角
7.11 謬論和陷阱
7.12 結束語:BDD的利與弊
7.13 深入學習
7.14 建議的練習
第8章 軟件測試:測試驅動開發
8.1 背景:RESTful應用程序接口和Ruby gem
8.2 FIRST、TDD以及RSpec入門
8.3 TDD周期:紅色-綠色-重構
8.4 更多的控制器spec和重構
8.5 夾具和工廠
8.6 面向模型的TDD
8.7 為因特網建立樁
8.8 覆蓋率概念、單元測試與集成測試
8.9 其他測試方法和術語
8.10 計劃文檔的視角
8.11 謬論和陷阱
8.12 結束語:TDD與傳統的調試方法
8.13 深入學習
8.14 建議的練習
第9章 軟件維護:使用重構和敏捷方法改進遺留軟件
9.1 代碼「遺留」的原因以及敏捷開發的用處
9.2 探索遺留代碼庫
9.3 使用鑒定測試來創建基準事實
9.4 註釋
9.5 度量、代碼味道及SOFA
9.6 方法級別的重構:使用嫁接替代依賴
9.7 計劃文檔的視角
9.8 謬論和陷阱
9.9 結束語:持續的重構
9.10 深入學習
9.11 建議的練習
第10章 項目管理:Serum、結對編程和版本控制系統
10.1 團隊規模:兩個匹薩大小的團隊以及Serum
10.2 結對編程
10.3 敏捷設計和代碼評審
10.4 兩個匹薩大小團隊的版本控制:合併衝突
10.5 有效地使用分支
10.6 報告和修復代碼:五個R
10.7 計劃文檔的視角
10.8 謬論和陷阱
10.9 結束語:團隊、合作以及四十年的版本控制
10.10 深入學習
10.11 建議的練習
第11章 SaaS類的設計模式
11.1 模式、反模式及SOLID類架構
11.2 正好夠用的UML
11.3 單一責任原則
11.4 開閉原則
11.5 里氏代換原則
11.6 依賴註入原則
11.7 迪米特法則
11.8 計劃文檔的視角
11.9 謬論和陷阱
11.10 結束語:框架包含了設計模式
11.11 深入學習
11.12 建議的練習
第12章 SaaS非功能性需求:性能、發行、可靠性和實用安全
12.1 從開發到部署
12.2 量化響應性
12.3 持續集成和持續部署
12.4 發行和功能標記
12.5 量化可訪問性
12.6 監控和查找瓶頸
12.7 用緩存來提高渲染和數據庫性能
12.8 避免濫用數據庫查詢
12.9 安全:在應用程序中保護用戶數據
12.10 計劃文檔的視角
12.11 謬論和陷阱
12.12 結束語:性能、可靠性、安全和有漏洞的抽象層
12.13 深入學習
12.14 建議的練習
第13章 後記
13.1 SaaS、SOA、Ruby和Rmls的視角
13.2 回顧過往
13.3 展望未來
13.5 最後的話
13.5 深入學習
附錄A 使用本書配套軟件
A.1 Beta版本的指導
A.2 本書配套軟件概覽
A.3 在VirtualBox中使用bookware的虛擬機
A.4 在Amazon的EC2上使用bookware的虛擬機
A.5 編輯代碼:編輯器和UNIX生存技巧
A.6 開始使用Git進行版本控制
A.7 開始學習GitHub或ProjecLocker
A.8 使用Heroku部署到雲端
A.9 謬論和陷阱
A.10 深入學習