您將從《Head First軟件開(kāi)發(fā)(中文版)》學(xué)會(huì )什么?
你可曾想過(guò)測試驅動(dòng)開(kāi)發(fā)的真正含義嗎?你又曾想過(guò)高級顧問(wèn)是如何運用實(shí)踐賺取高額鐘點(diǎn)費的嗎?或許,你正準備進(jìn)行自動(dòng)化的構建,使代碼在版本控制之中,為軟件進(jìn)行重構,并將一些設計模式集成到你的軟件系統之中。在你完成《Head First軟件開(kāi)發(fā)(中文版)》閱讀之時(shí),你將能跟蹤工作量完成狀況,解釋開(kāi)發(fā)團隊中開(kāi)發(fā)人員的編碼能力與時(shí)間效率值,并且為項目反復進(jìn)行需求、設計、開(kāi)發(fā)與部署等工作。
這《Head First軟件開(kāi)發(fā)(中文版)》為何與眾不同?
我們認為你的時(shí)間寶貴,不應該浪費在努力理解新概念之中。利用認知科學(xué)與學(xué)習理論的研究成果, 《Head First軟件開(kāi)發(fā)》采取專(zhuān)為大腦工作而設計的豐富視覺(jué)化風(fēng)格,而不是令人昏昏欲睡的冗贅敘述。
重視大腦的學(xué)習指南。學(xué)習Mary如何滿(mǎn)足她的客戶(hù)的真實(shí)用戶(hù)故事,通過(guò)測試驅動(dòng)開(kāi)發(fā)去避免不可見(jiàn)的軟件災難,通過(guò)跟蹤burn-down率保持你的項目進(jìn)度,通過(guò)開(kāi)發(fā)速度弄清你的團隊的生產(chǎn)率并以此進(jìn)行評估。掌握經(jīng)驗豐富的軟件開(kāi)發(fā)人員的技術(shù)和工具。
你可曾想過(guò)測試驅動(dòng)開(kāi)發(fā)的真正含義嗎?你又曾想過(guò)高級顧問(wèn)是如何運用實(shí)踐賺取高額鐘點(diǎn)費的嗎?或許,你正準備進(jìn)行自動(dòng)化的構建,使代碼在版本控制之中,為軟件進(jìn)行重構,并將一些設計模式集成到你的軟件系統之中。在你完成本書(shū)閱讀之時(shí),你將能跟蹤工作量完成狀況,解釋開(kāi)發(fā)團隊中開(kāi)發(fā)人員的編碼能力與時(shí)間效率值,并且為項目反復進(jìn)行需求、設計、開(kāi)發(fā)與部署等工作。
我們認為你的時(shí)間寶貴,不應該浪費在努力理解新概念之中。利用新的認知科學(xué)與學(xué)習理論的研究成果,《Head First軟件開(kāi)發(fā)》采取專(zhuān)為大腦工作而設計的豐富視覺(jué)化風(fēng)格,而不是令人昏昏欲睡的冗贅敘述。
目錄(簡(jiǎn)要版)
引言
1 偉大的軟件開(kāi)發(fā):讓客戶(hù)滿(mǎn)意
2 收集需求:知道客戶(hù)需要什么
3 項目規劃:為成功而籌劃
4 使用情節和任務(wù):開(kāi)始你實(shí)際的工作
5 足夠好的設計:以良好的設計完成工作
6 版本控制:防御性開(kāi)發(fā)
6.5 構建你的軟件代碼:自動(dòng)化構建……
7 測試和連續集成:智者千慮必有一失
8 測試驅動(dòng)開(kāi)發(fā):讓代碼負起責來(lái)
9 結束開(kāi)發(fā)循環(huán):涓涓細流歸大?!?br>10 下一輪開(kāi)發(fā)循環(huán):無(wú)事就要生非
11 軟件錯誤:專(zhuān)業(yè)排錯
12 真實(shí)的世界:落實(shí)流程
目錄(詳實(shí)版)
引言
把你的心思放在軟件開(kāi)發(fā)上。此時(shí),你們圍坐在一起,準備開(kāi)始學(xué)習,但你的大腦不停地告訴你,要學(xué)習的內容并不重要。你的大腦告訴你說(shuō),“最好在大腦中留一點(diǎn)空間,因為還有更重要的事情,就像油價(jià)要不要上漲,徒手攀登是不是一個(gè)錯誤的想法?!彼?,你如何哄騙你的大腦去思考你的生活真地依賴(lài)于你學(xué)習怎樣開(kāi)發(fā)偉大的軟件?
本書(shū)適合誰(shuí)?
我們知道你們在想什么
元認知
讓你的大腦順從你
讀我
技術(shù)審閱團隊
致謝
1 偉大的軟件開(kāi)發(fā)
讓客戶(hù)滿(mǎn)意
如果你的客戶(hù)不爽,每個(gè)人都不會(huì )爽!
軟件系統中每段偉大的代碼都源自客戶(hù)的宏大想法。身為職業(yè)的軟件開(kāi)發(fā)人員,你的工作就是把這些想法付諸實(shí)現。但是,要把客戶(hù)模糊不清的想法轉換為可工作的軟件代碼——客戶(hù)滿(mǎn)意的代碼,并不是一件很容易的事情。在本章中,你將學(xué)到如何通過(guò)交付滿(mǎn)足需求、且在預計的時(shí)間和預算內的軟件,避免成為軟件開(kāi)發(fā)戰役的陣亡將士。打開(kāi)你的筆記本電腦,讓我們踏上交付偉大軟件的征途吧!
Tom’s Trail即將上線(xiàn)
大多數項目都有兩個(gè)焦點(diǎn)
大霹靂式開(kāi)發(fā)法
時(shí)間飛馳:兩周以后
大霹靂開(kāi)發(fā)法通常以一團糟結束
偉大的軟件開(kāi)發(fā)是……
通過(guò)開(kāi)發(fā)循環(huán)達到目標
每個(gè)開(kāi)發(fā)循環(huán)是一個(gè)微型項目
每個(gè)開(kāi)發(fā)循環(huán)都會(huì )產(chǎn)生有品質(zhì)的軟件
客戶(hù)會(huì )請求變更
由你來(lái)進(jìn)行調整
然而,有一些大的問(wèn)題
開(kāi)發(fā)循環(huán)自動(dòng)處理變更(好啦,一點(diǎn)點(diǎn)啦)
直到軟件交付,你的開(kāi)發(fā)工作才算完成
軟件開(kāi)發(fā)工具箱
2 收集需求
知道客戶(hù)想要什么
你不能總能得到你想要的……但你的客戶(hù)應該可以!
偉大的軟件開(kāi)發(fā)交付客戶(hù)所需要的軟件系統。本章的內容都將講述與客戶(hù)溝通以弄清他們對軟件系統的需求。你將學(xué)會(huì )使用情節(UserStories)、頭腦風(fēng)暴(Brainstorming)、估計游戲(Estimationgame)如何有助于你獲得客戶(hù)的真實(shí)想法的。這樣的話(huà),在你完成項目之時(shí),你就能深信你開(kāi)發(fā)的軟件系統就是客戶(hù)所想要的,而不是一個(gè)低劣的、其他系統的仿制品。
orion’s Orbits正在進(jìn)行現代化
與客戶(hù)溝通,獲得更多的信息
與客戶(hù)共筑愿景
有時(shí)你的共筑愿景的會(huì )議可以這樣……
找出人們真正在做的事情
需求一定是面向客戶(hù)的
通過(guò)客戶(hù)反饋,澄清需求
使用情節定義了項目要構建什么……
時(shí)間估計值定義了什么時(shí)候完成開(kāi)發(fā)
小組交流
玩計劃撲克牌的游戲
驗證假設
大而不當的使用情節估計值
目標是收斂
需求與估計的反復循環(huán)
最后,你準備估計整個(gè)項目……
3 項目規劃
為成功而籌劃
每段偉大的代碼始于偉大的計劃。
在本章,你就要學(xué)會(huì )如何創(chuàng )建計劃。你要學(xué)會(huì )與客戶(hù)一道按優(yōu)先順序排序他們的需求。你還要確定開(kāi)發(fā)循環(huán),使你和你的團隊向一個(gè)方向努力。最后,你還要創(chuàng )建一個(gè)有可行性的開(kāi)發(fā)計劃,你和你的團隊有信心地執行和監控該計劃。到你工作完成之時(shí),你就確切地知道如何從需求到軟件的第一次交付。
客戶(hù)現在就要他們的軟件!
與客戶(hù)一起確定優(yōu)先級順序
我們知道什么是Milestone 1.0版(好吧,可能知道)
如果功能太多,重新進(jìn)行優(yōu)先順序排序
更多人力有時(shí)意味著(zhù)減損績(jì)效
找到合理的Milestone 1.0
開(kāi)發(fā)循環(huán)應該簡(jiǎn)短和易行
將你的計劃與真實(shí)情況作比較
時(shí)間效率值是在作估計時(shí)需要考慮的時(shí)間開(kāi)銷(xiāo)
理想國里的程序員……
現實(shí)世界里的開(kāi)發(fā)人員……
你的開(kāi)發(fā)循環(huán)何時(shí)算太長(cháng)?
在你著(zhù)手開(kāi)發(fā)循環(huán)之前,先處理時(shí)間效率值
該進(jìn)行評估了
管理愛(ài)炭脾氣的客戶(hù)
墻上的大白板
如何毀了團隊的生活
4 使用情節和任務(wù)
開(kāi)始你實(shí)際的工作
開(kāi)始去工作。使用情節抓住了你需要為客戶(hù)開(kāi)發(fā)什么,但現在是認真開(kāi)始工作并分派所需要完成的工作的時(shí)候了,這樣你才能使使用情節成為現實(shí)。在這一章里,你將學(xué)會(huì )如何將使用情節分解成任務(wù),任務(wù)估計(Task Estimates)如何幫助你從頭到尾跟蹤項目。你將學(xué)會(huì )如何更新你的白板,使進(jìn)行中的任務(wù)成為完成,最終完成整個(gè)使用情節。沿著(zhù)這條道路,你將處理和優(yōu)先順序排序你的客戶(hù)不可避免地增加給你的工作。
iSwoon簡(jiǎn)介
你的任務(wù)匯總了嗎?
標注剩余的任務(wù)
把任務(wù)寫(xiě)在白板上
開(kāi)始為任務(wù)工作
“正在進(jìn)行中”表示任務(wù)正在進(jìn)行
萬(wàn)一我同時(shí)做兩件事呢?
你的第一次碰頭會(huì )……
任務(wù)1:創(chuàng )建:Data類(lèi)
碰頭會(huì ):第五天,第一周的最后一天……
碰頭會(huì ):第二周的第二天……
在此先打斷一下……
你必須跟蹤計劃外的任務(wù)
意料之外的任務(wù)會(huì )讓你的工作量完成情況呈上升趨勢
時(shí)間效率值有幫助,但……
我們有很多事情要做……
……但是,我們確切地知道我們身在何處
Velocity的心聲
……
5 足夠好的設計
6.1 版本控制
6.2 構建代碼
7 測試和連續集成
8 測試驅動(dòng)開(kāi)發(fā)
9 結束開(kāi)發(fā)循環(huán)
10 下一勞務(wù)出口開(kāi)發(fā)循環(huán)
11 軟件錯誤
12 真實(shí)的世界
附錄