注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件工程及軟件方法學敏捷技能修煉:敏捷軟件開發(fā)與設計的最佳實踐

敏捷技能修煉:敏捷軟件開發(fā)與設計的最佳實踐

敏捷技能修煉:敏捷軟件開發(fā)與設計的最佳實踐

定 價:¥59.00

作 者: (美)Alan Shalloway, Scott Bain, Ken Pugh, Amir Kolsky 著,鄭立,鄒駿,黃靈 譯
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 軟件工程/開發(fā)項目管理

購買這本書可以去


ISBN: 9787111395270 出版時間: 2012-08-01 包裝: 平裝
開本: ` 頁數: 204 字數:  

內容簡介

  《敏捷技能修煉:敏捷軟件開發(fā)與設計的最佳實踐》的4位作者都是世界頂級的軟件開發(fā)專家和敏捷導師,都有數十年的軟件行業(yè)從業(yè)經驗,其中3位曾榮獲Jolt大獎。本書是敏捷軟件開發(fā)領域公認的經典著作,權威性毋庸置疑。 書中內容圍繞“敏捷式編程”這一主題展開,對每一位敏捷軟件開發(fā)人員都應該掌握的核心技能和技術進行了深入闡述,總結出了大量最佳實踐,提供了一整套最精煉的技術集合,可以幫助他們在開發(fā)中變得游刃有余,極大地提高開發(fā)效率和軟件質量。 《敏捷技能修煉:敏捷軟件開發(fā)與設計的最佳實踐》共分四個部分:第一部分(1~7章),闡述了在軟件開發(fā)過程中能起到“四兩撥千斤”作用的幾種思想方法(“小舵板”),如意圖導向編程、分離構造和使用、測試先行和Shalloway原則等,并總結了業(yè)界常用的幾種實踐,包括如何封裝、面向接口的設計和驗收測試驅動等;第二部分(8~9章),對過度設計和持續(xù)集成這兩個問題進行了深入的探討,并給出了最佳實踐;第三部分(10~13章),作者分享了很多只有在他們的教學現場才能獲得的經驗,這些經驗是優(yōu)秀架構師應該具備的,具體包括共性和可變性分析、以開放關閉原則為目標的重構、需求與功能接口、何時以及如何使用繼承等重要內容;第四部分是附錄,介紹了統(tǒng)一建模語言、提高代碼質量的原則,以及如何封裝原始數據類型等。

作者簡介

  Alan Shalloway,Net Objectives公司創(chuàng)始人及CEO。Alan有40多年工作經驗,他是計算機軟件行業(yè),特別是精益、看板、產品系列管理、scrum和敏捷設計方面的思想領導者。他幫助公司在企業(yè)級層面向精益和敏捷方式轉型,同時教授員工相關課程。Alan開發(fā)了關于精益-敏捷的培訓輔導方法,這幫助Net Objectives公司的客戶取得了長期的可持續(xù)的生產力。他經?;钴S于全球范圍的高端峰會并發(fā)表精彩演講。他還是《Design Patterns Explained: A New Perspective on Object-Oriented Design》(Jolt獲獎作品)和《Lean-Agile Pocket Guide for Scrum Teams》的主要作者。在他的職業(yè)生涯中,Alan從事過多個行業(yè)。他是精益軟件和系統(tǒng)協會(the Lean Software and Systems Consortium)的共同創(chuàng)始人及董事會成員。他擁有麻省理工學院計算機科學系的碩士學位和艾莫利大學(Emory University)數學系的碩士學位。更多詳細信息請查看Twitter上的@alshalloway。 Scott Bain,在計算機技術方面有將近40年經驗,從事過軟件開發(fā)、軟件工程、框架設計等方面的工作。Scott也曾經從事課堂和遠程教學等教育活動,包括課程的設計、實施培訓和相關管理,給用戶提供認證培訓和終端用戶培訓。目前Scott在敏捷分析和設計模式、高級軟件設計和可持續(xù)的測試驅動開發(fā)等方面進行授課和提供咨詢。同時,Scott還經常在JavaOne和SDWest這樣的開發(fā)者研討會上進行精彩的演講。他是《Emergent Design: The Evolutionary Nature of Professional Software Development》的作者,此書榮獲了Jolt生產力獎。 Ken Pugh, Net Objectives公司高級咨詢師。憑借多年的豐富經驗,他提供培訓和輔導,幫助公司向精益-敏捷轉型。他熱衷于研究溝通(特別是有效地傳遞需求)、業(yè)務價值交付,以及用精益原則來快速進行高質量的交付。同時,在技術課題方面,他提供從面向對象設計到Linux/Unix等多方面的培訓和指導。此外,他還寫過好幾本編程書籍,包括獲得2006年Jolt大獎的《Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability》。 最近的一本書是《Lean-Agile Acceptance Test Driven Development: Better Software Through Collaboration》。他的客戶遍及倫敦、波士頓、悉尼、北京和海得拉巴。工作之余,他喜歡滑雪、帆船、自行車和阿巴拉契亞徒步登山活動。 Amir Kolsky,Net Objectives的資深咨詢師、教練和培訓師。Amir從事計算機科學領域已經超過25年了。他在IBM研究院工作過10年,此外有9年時間在各種大小類型的公司擔任過首席架構師和首席技術官等職位。他從2000年開始接觸敏捷開發(fā)。他先后創(chuàng)建了MobileSpear 以及XPand軟件公司,專門在以色列和歐洲提供敏捷輔導、軟件教育和敏捷項目實施。目前Amir把他的專業(yè)經驗帶到了Net Objectivs,作為敏捷教練和講師,提供關于精益和敏捷軟件流程、工具和實踐、Scrum、極限編程、設計模式以及測試驅動開發(fā)方面的培訓。

圖書目錄

推薦序
譯者序
叢書前言
前言
致謝

第一部分 最關鍵的小舵板
第1章 意圖導向編程
1.1意圖導向編程:一個實例
1.2優(yōu)點
1.2.1方法的內聚性
1.2.2可讀性和表達性
1.2.3調試
1.2.4重構和增強
1.2.5單元測試
1.2.6更易修改和擴展
1.2.7在代碼中發(fā)現模式
1.2.8可遷移的方法
1.3小結
第2章 分離構造和使用
2.1一個重要的問題
2.2兩種視圖
2.2.1創(chuàng)建視圖
2.2.2使用視圖
2.2.3隱藏的部分 更容易改動
2.2.4現實的做法
2.2.5一些實際的考量因素
2.3給你的決策計時
2.4重載和C++
2.5自我查驗
2.6小結
第3章 代碼未動,測試先行
3.1一個小舵板:測試與可測試性
3.2什么是測試
3.3可測試性和代碼質量
3.4案例學習:可測試性
3.4.1隨時應對變化
3.4.2青蛙一樣的程序員
3.5一個關于測試先行的思考
3.5.1更好的設計
3.5.2更清晰的范圍和避免不必要的工作
3.5.3降低復雜性
3.5.4其他優(yōu)勢
3.5.5沒有例外
3.6小結
第4章 Shalloway法則和Shalloway原則
4.1冗余的種類
4.1.1復制和粘貼
4.1.2“魔法”數字
4.1.3其他類型
4.2重新定義冗余
4.3其他形式的冗余
4.4設計模式在減少冗余時扮演的角色
4.5很少有開發(fā)人員花費大量的時間去“修改”代碼錯誤
4.6冗余對代碼質量其他方面的影響
4.7小結
第5章 封裝
5.1未封裝的代碼:對全局變量的破壞
5.2成員標志的封裝
5.3自封裝成員
5.4預防代碼更改
5.5封裝引用對象的難點
5.6用get()來打破封裝
5.7對象類型的封裝
5.8設計的封裝
5.9各個層次的封裝
5.10實用性建議:把困難封裝起來
5.11小結
第6章 面向接口的設計
6.1針對接口的設計
6.2接口的定義
6.3接口約定
6.4分離不同的視圖
6.5接口的模擬實現
6.6讓接口保持簡單
6.7避免過早采用繼承體系
6.8接口和抽象類
6.9依賴反轉原則
6.10多態(tài)性概述
6.11不是每個類都需要接口
6.12小結
第7章 驗收測試驅動開發(fā)
7.1兩種開發(fā)流程
7.2驗收測試
7.3一個關于驗收測試的實例
7.4實現驗收測試
7.4.1針對用戶界面的測試腳本
7.4.2測試用戶界面
7.4.3XUnit測試
7.4.4驗收測試框架
7.4.5四種方法間的聯系
7.5一個練習
7.6如果客戶不告訴你怎么做的時候,你應該怎么辦
7.7小結

第二部分 基本態(tài)度
第8章 避免過度設計或設計不足
8.1給開發(fā)人員的箴言
8.2代碼質量病理學
8.3避免過度設計或設計不足
8.4把復雜度和返工最小化
8.5永不把代碼變得更糟/僅在有目的的情況下降低代碼質量
8.6使代碼容易修改,足夠強大健壯,適應變化并安全可靠
8.7在非面向對象的代碼或遺留系統(tǒng)里編寫易于修改代碼的策略
8.8小結
第9章 持續(xù)集成
9.1建立源代碼分支
9.1.1多版本:特殊分支
9.1.2孤立地工作:開發(fā)分支
9.1.3問題、解決方案、新的問題
9.2將主干內容合并回分支
9.3測試驅動開發(fā)與合并成本
9.4持續(xù)集成
9.5持續(xù)集成服務器
9.6小結

第三部分 設計問題
第10章 共性和可變性分析
10.1用動詞和名詞來做指南:警告,前面有危險
10.2真正的問題是什么
10.3我們所需要知道的
10.4共性和可變性分析
10.4.1共性分析
10.4.2可變性分析
10.4.3面向對象設計“一箭三雕”
10.5發(fā)掘對象的新范式
10.6分析矩陣:一個用例學習
10.7小結
第11章 以開放關閉原則為目標的重構
11.1開放關閉原則
11.1.1從開放關閉原則引申到其他
11.1.2開放關閉原則是一個“原則”
11.2重構
11.2.1為何重構
11.2.2負債還是投資
11.2.3重構和遺留系統(tǒng)
11.2.4以開放關閉原則為目標的重構
11.2.5“及時”設計
11.3小結
第12章 需求與功能接口
12.1迪米特法則
12.2耦合,可惡的耦合,還有依賴
12.2.1耦合和可測試性
12.2.2需求與功能
12.3理想的分離方案:需求接口和功能接口
12.4回到迪米特法則
12.5小結
第13章 何時以及如何使用繼承
13.1“四人組”
13.2初始向量,最終結果
13.3優(yōu)先委托
13.4使用繼承與使用委托
13.5繼承的使用
13.6可擴展性
13.7在敏捷開發(fā)里應用四人組的訓誡
13.8測試問題
13.9更多

第四部分 附錄
附錄A統(tǒng)一建模語言概覽
附錄B代碼質量
附錄C封裝原始數據類型

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號