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

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

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

定 價:¥59.00

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

ISBN: 9787111395270 出版時間: 2012-08-01 包裝: 平裝
開本: ` 頁數(shù): 204 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

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

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

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

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號