解析極限編程_第1頁(yè)
解析極限編程_第2頁(yè)
解析極限編程_第3頁(yè)
解析極限編程_第4頁(yè)
解析極限編程_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

XP簡(jiǎn)介

--極限編程方法學(xué)=========================敏捷型方法學(xué)的代表;輕量級(jí)軟件工程方法學(xué);擁抱需求變化;不一樣的開(kāi)發(fā)過(guò)程;軟件工程的歷史回顧:=========================自上個(gè)世紀(jì)60年代以來(lái)軟件工程思想逐漸形成與發(fā)展出現(xiàn)了很多軟件開(kāi)發(fā)模型與方法例如:瀑布模型、快速原型、增量模型和螺旋模型等90年代以后,卡耐基梅隆軟件學(xué)院推出的CMM,更是對(duì)于軟件開(kāi)發(fā)的過(guò)程管理,提出了確切的衡量指標(biāo)。圖表顯示:=========================(數(shù)據(jù)來(lái)自美國(guó)GSM研究機(jī)構(gòu),MichaelMah)傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程:=========================以RUP為代表強(qiáng)調(diào)項(xiàng)目的可控性是一個(gè)用例驅(qū)動(dòng)的基于UML和構(gòu)件式架構(gòu)的迭代增量式開(kāi)發(fā)過(guò)程RUP定義了初始、細(xì)化、實(shí)現(xiàn)和部署4個(gè)階段,分別對(duì)應(yīng)著關(guān)鍵里程碑的劃分。RUP是可以裁減的:=========================對(duì)于角色、流程、工件和活動(dòng)的要求是靈活、可配置的,所以它廣泛的適用于各種類(lèi)型的項(xiàng)目在RUP的各個(gè)里程碑,都規(guī)定了要交付的成果,尤其是對(duì)于需求的變更以及文檔,它強(qiáng)調(diào)及時(shí)的更新與同步。這些都決定了RUP是一種重量級(jí)的軟件開(kāi)發(fā)方法:=========================比較適合大中型的項(xiàng)目和產(chǎn)品開(kāi)發(fā)

XP以及其核心價(jià)值=========================很多輕量型的軟件開(kāi)發(fā)方法例如水晶模型、適應(yīng)模型以及極限編程等它們都強(qiáng)調(diào),軟件開(kāi)發(fā)是人與人合作進(jìn)行的過(guò)程,因此成功的軟件開(kāi)發(fā)過(guò)程應(yīng)該充分利用人的優(yōu)勢(shì),而弱化人的缺點(diǎn),突出了人在軟件開(kāi)發(fā)過(guò)程中的作用。

XP以及其核心價(jià)值=========================KentBeck在XP的開(kāi)篇之作《ExtremeProgrammingExplained-EmbraceChange》中提出了極限編程這一創(chuàng)新的軟件過(guò)程方法論。極限編程是一種高度動(dòng)態(tài)的過(guò)程,它通過(guò)非常短的迭代周期來(lái)應(yīng)對(duì)需求的變化。在極限編程中,包括四個(gè)基本活動(dòng):編碼、測(cè)試、聆聽(tīng)與反饋XP有四個(gè)核心價(jià)值是我們應(yīng)該注意=========================溝通:?jiǎn)栴}往往是由于開(kāi)發(fā)人員與設(shè)計(jì)人員、設(shè)計(jì)人員與客戶(hù)之間的溝通不暢造成的簡(jiǎn)單:應(yīng)該盡量保持代碼的簡(jiǎn)單,只要它能工作就可以與其實(shí)現(xiàn)一個(gè)復(fù)雜的的系統(tǒng),不如設(shè)計(jì)一個(gè)能夠滿足目前需要的、簡(jiǎn)單的系統(tǒng),因?yàn)槟闼紤]的情況可能永遠(yuǎn)都不會(huì)發(fā)生。反饋:盡快獲得用戶(hù)的反饋,并且越詳細(xì)越好,使得開(kāi)發(fā)人員能夠保證自己的成果符合用戶(hù)的需要。勇氣:這是最重要的核心價(jià)值。因?yàn)閄P強(qiáng)調(diào)要"擁抱變化",因此對(duì)于用戶(hù)的反饋,要勇于對(duì)自己的代碼進(jìn)行修改,丟掉壞的代碼。

XP的適用環(huán)境:=========================XP弱化針對(duì)未來(lái)需求的設(shè)計(jì),非常注重當(dāng)前的簡(jiǎn)化它的實(shí)踐,有一個(gè)非常關(guān)鍵的假設(shè)就是:開(kāi)發(fā)人員只注重眼前需求,依賴(lài)重構(gòu)來(lái)適應(yīng)需求的變動(dòng),這樣所帶來(lái)的風(fēng)險(xiǎn)、開(kāi)銷(xiāo)要小于需求變化使得事先充分設(shè)計(jì)失效的代價(jià);反之,實(shí)施XP就是不明智的

XP適用范圍:=========================因此,XP適合規(guī)模小、進(jìn)度緊、需求變化大、質(zhì)量要求嚴(yán)的項(xiàng)目。它希望以最高的效率和質(zhì)量來(lái)解決用戶(hù)目前的問(wèn)題,以最大的靈活性和最小的代價(jià)來(lái)滿足用戶(hù)未來(lái)的需求,XP在平衡短期和長(zhǎng)期利益之間做了巧妙的選擇。

XP并不是解決問(wèn)題的"銀彈":=========================XP方法是一種輕量級(jí)的方法,它也有它的適用范圍。通常認(rèn)為:功能需求可以固定的,可以作比較精確的需求設(shè)計(jì)的,生命周期很長(zhǎng)的,超大型軟件項(xiàng)目,人員數(shù)碼十分巨大的(比如上百人)不適于適用XP方法XP不適用的領(lǐng)域:=========================中大型的項(xiàng)目(項(xiàng)目團(tuán)隊(duì)超過(guò)10人);重構(gòu)會(huì)導(dǎo)致大量開(kāi)銷(xiāo)的應(yīng)用;需要很長(zhǎng)的編譯或者測(cè)試周期的系統(tǒng);不容易進(jìn)行測(cè)試的應(yīng)用;團(tuán)隊(duì)人員異地分布的項(xiàng)目;不能接收XP文化的組織和團(tuán)隊(duì);XP的最佳實(shí)踐:=========================Xp由大約20來(lái)個(gè)實(shí)踐為主要方法指導(dǎo)實(shí)踐和實(shí)踐之間結(jié)合成有機(jī)整體,有的關(guān)系緊密有的關(guān)系并非很密切。對(duì)于實(shí)踐的感覺(jué)就象過(guò)去武林高手學(xué)成之前的基本功XP的最佳實(shí)踐=========================代碼規(guī)范or代碼標(biāo)準(zhǔn)(CodeStandards)XP:強(qiáng)調(diào)通過(guò)指定嚴(yán)格的代碼規(guī)范來(lái)進(jìn)行溝通,盡可能減少不必要的文檔。注:這里和傳統(tǒng)的軟件工程方法是相矛盾的XP的最佳實(shí)踐=========================每周40小時(shí)工作制(40-hourWeek)不加班,不熬夜XP:要求項(xiàng)目團(tuán)隊(duì)人員每周工作時(shí)間不能超過(guò)40小時(shí),加班不得連續(xù)超過(guò)兩周,否則反而會(huì)影響生產(chǎn)率。注:對(duì)于項(xiàng)目進(jìn)度和工作量合理安排的要求就比較高。XP的最佳實(shí)踐=========================計(jì)劃博弈(PlanningGame)迭代周期的劃分XP:要求結(jié)合項(xiàng)目進(jìn)展和技術(shù)情況,確定下一階段要開(kāi)發(fā)與發(fā)布的系統(tǒng)范圍。XP的最佳實(shí)踐=========================系統(tǒng)隱喻(SystemMetaphor)XP:通過(guò)隱喻來(lái)描述系統(tǒng)如何運(yùn)作、新的功能以何種方式加入到系統(tǒng)。它通常包含了一些可以參照和比較的類(lèi)和設(shè)計(jì)模式。XP不需要事先進(jìn)行詳細(xì)的架構(gòu)設(shè)計(jì)。XP的最佳實(shí)踐=========================系統(tǒng)隱喻(SystemMetaphor)XP:通過(guò)隱喻來(lái)描述系統(tǒng)如何運(yùn)作、新的功能以何種方式加入到系統(tǒng)。它通常包含了一些可以參照和比較的類(lèi)和設(shè)計(jì)模式。XP不需要事先進(jìn)行詳細(xì)的架構(gòu)設(shè)計(jì)。XP的最佳實(shí)踐=========================簡(jiǎn)單設(shè)計(jì)(SimpleDesign)傳統(tǒng)的軟件工程要求:前提是需求不變化,或者很少變化;而XP認(rèn)為:需求是會(huì)經(jīng)常變化的,因此設(shè)計(jì)不能一蹴而就而應(yīng)該是一項(xiàng)持續(xù)進(jìn)行的過(guò)程。XP的最佳實(shí)踐=========================簡(jiǎn)單設(shè)計(jì)(SimpleDesign)KentBeck認(rèn)為對(duì)于XP來(lái)說(shuō),簡(jiǎn)單設(shè)計(jì)應(yīng)該滿足以下幾個(gè)原則:成功執(zhí)行所有的測(cè)試;不包含重復(fù)的代碼;向所有的開(kāi)發(fā)人員清晰地描述編碼以及其內(nèi)在關(guān)系;盡可能包含最少的類(lèi)與方法。XP的最佳實(shí)踐=========================測(cè)試驅(qū)動(dòng)(Test-driven)先測(cè)試,再編碼;代碼未動(dòng),測(cè)試先行XP:強(qiáng)調(diào)“測(cè)試先行”。在編碼開(kāi)始之前,首先將測(cè)試寫(xiě)好,而后再進(jìn)行編碼,直至所有的測(cè)試都得以通過(guò)。注:測(cè)試的可自動(dòng)化,集成化。XP的最佳實(shí)踐=========================代碼重構(gòu)(Refactoring)XP:強(qiáng)調(diào)代碼重構(gòu)在其中的作用,認(rèn)為應(yīng)該經(jīng)常進(jìn)行重構(gòu),通常有兩個(gè)關(guān)鍵點(diǎn)應(yīng)該進(jìn)行重構(gòu):對(duì)于一個(gè)功能實(shí)現(xiàn)前和實(shí)現(xiàn)后。代碼重構(gòu)是指在不改變系統(tǒng)行為的前提下,重新調(diào)整、優(yōu)化系統(tǒng)的內(nèi)部結(jié)構(gòu)以減少?gòu)?fù)雜性、消除冗余、增加靈活性和提高性能。重構(gòu)不是XP所特有的行為,在任何的開(kāi)發(fā)過(guò)程中都可能并且應(yīng)該發(fā)生。XP的最佳實(shí)踐=========================結(jié)對(duì)編程(PairProgramming)XP:認(rèn)為在項(xiàng)目中采用成對(duì)編程比獨(dú)自編程更加有效。結(jié)對(duì)編程是由兩個(gè)開(kāi)發(fā)人員在同一臺(tái)電腦上共同編寫(xiě)解決同一問(wèn)題的代碼,通常一個(gè)人負(fù)責(zé)寫(xiě)編碼,而另一個(gè)負(fù)責(zé)保證代碼的正確性與可讀性。成對(duì)編程是一種非正式的同級(jí)評(píng)審(PeerReview)。它要求結(jié)對(duì)編程的兩個(gè)開(kāi)發(fā)人員在性格和技能上應(yīng)該相互匹配XP的最佳實(shí)踐=========================集體擁有代碼XP:認(rèn)為開(kāi)發(fā)小組的每個(gè)成員都有更改代碼的權(quán)利,所有的人對(duì)于全部代碼負(fù)責(zé)。評(píng)論:代碼全體擁有并不意味者開(kāi)發(fā)人員可以互相推委責(zé)任,而是強(qiáng)調(diào)所有的人都要負(fù)責(zé)。如果一個(gè)開(kāi)發(fā)人員的代碼有錯(cuò)誤,另外一個(gè)開(kāi)發(fā)人員也可以進(jìn)行BUG的修復(fù)。XP的最佳實(shí)踐=========================持續(xù)集成(ContinuousIntegration)XP:提倡在一天中集成系統(tǒng)多次,而且隨著需求的改變,要不斷的進(jìn)行回歸測(cè)試。因?yàn)?,這樣可以使得團(tuán)隊(duì)保持一個(gè)較高的開(kāi)發(fā)速度,同時(shí)避免了一次系統(tǒng)集成的惡夢(mèng)。著名的微軟公司就有每日集成(DailyBuild)的成功實(shí)踐。XP的最佳實(shí)踐=========================小型發(fā)布(SmallRelease)XP:強(qiáng)調(diào)在非常短的周期內(nèi)以遞增的方式發(fā)布新版本,從而可以很容易地估計(jì)每個(gè)迭代周期的進(jìn)度,便于控制工作量和風(fēng)險(xiǎn);同時(shí),也可以及時(shí)處理用戶(hù)的反饋。用戶(hù)在發(fā)布后兩個(gè)工作日

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論