敏捷軟件開發(fā)流程_第1頁
敏捷軟件開發(fā)流程_第2頁
敏捷軟件開發(fā)流程_第3頁
敏捷軟件開發(fā)流程_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、敏捷軟件開發(fā)流程敏捷軟件開發(fā)的倡導(dǎo)“個(gè)體和協(xié)作勝于過程; 可工作的軟件勝于完整的文檔; 客戶協(xié)作勝于合同; 響應(yīng)變化勝于遵循計(jì)劃”的軟件開發(fā)方式,以人為核心,注重交流和協(xié)作,強(qiáng)調(diào)軟件可持續(xù)發(fā)展,實(shí)現(xiàn)頻繁交付對(duì)客戶最重要的價(jià)值。敏捷軟件包含敏捷項(xiàng)目管理、敏捷需求管理和敏捷軟件方法三個(gè)部分。一、敏捷項(xiàng)目管理敏捷是一種態(tài)度而不是一個(gè)流程,是一種氛圍而不是方法。敏捷項(xiàng)目管理強(qiáng)調(diào)的是溝通:與客戶之間的溝通、項(xiàng)目成員之間的溝通?;谶@一思路,敏捷項(xiàng)目管理更重視與“人”的作用,要求項(xiàng)目的組織形式具有以下特點(diǎn):1,很強(qiáng)的文化適應(yīng)性。2,最低限度的規(guī)則,鼓勵(lì)自我組織,并結(jié)合自律以遵守哪些規(guī)則。3,很好的協(xié)作和溝

2、通環(huán)境。從以上三點(diǎn)可以看出,敏捷項(xiàng)目管理對(duì)人的限制很低,這與傳統(tǒng)軟件工程中把“人”做為生產(chǎn)流水線上的一個(gè)環(huán)節(jié)進(jìn)行管理的方式截然不同 ! 軟件業(yè)是科技密集型的產(chǎn)業(yè), 軟件產(chǎn)品的最終質(zhì)量更多的取決與軟件開發(fā)人員的素質(zhì)和態(tài)度,而不是軟件的開發(fā)過程和開發(fā)設(shè)備,這也是軟件業(yè)與傳統(tǒng)行業(yè)差距最大的地方。敏捷項(xiàng)目管理的最終著眼點(diǎn)便是如何提高軟件開發(fā)人員的素質(zhì)和如何激發(fā)軟件開發(fā)軟件的熱情,從而提高最終軟件的質(zhì)量。但是從另一方法,采用敏捷項(xiàng)目管理,也必然要求項(xiàng)目成員具有更高的專業(yè)技能和專業(yè)素養(yǎng),以防止寬松的環(huán)境導(dǎo)致的消極怠工等現(xiàn)象。二、敏捷需求管理軟件開發(fā)的最終著眼點(diǎn)是如何滿足用戶的需求。這些需求通常是復(fù)雜的、模

3、糊的,甚至是不確定的。敏捷需求管理采用增量交付的軟件開發(fā)流程,借助其與客戶持續(xù)溝通的特點(diǎn),不斷的校準(zhǔn)軟件的開發(fā)防線,逼近用戶的最終需求,使最終開發(fā)出來的軟件滿足客戶的要求。增量交付的軟件流程如圖1 所示。 該流程最重要一點(diǎn)在于“增量交付”,軟件以模塊化的方式進(jìn)行開發(fā),通常一個(gè)模塊的開發(fā)周期是一至兩周。每個(gè)模塊開發(fā)完成后,按照正規(guī)的發(fā)布流程發(fā)布,交付給客戶試用。在客戶使用過程中,了解客戶對(duì)當(dāng)前完成功能的意見。然后與客戶溝通,一起制定下一輪開發(fā)的計(jì)劃。該流程的最大好處在于客戶全程參與軟件的開發(fā),把握軟件的目前的開發(fā)狀態(tài),確保軟件實(shí)現(xiàn)的功能能夠滿足用戶的需求。但是另一方面,增量的交付也對(duì)軟件開發(fā)技術(shù)

4、提出了更高的要求:模塊化的開發(fā)方式要求更徹底的解耦合; 需求的變化要求軟件架構(gòu)具有更高的靈活性; 增量交付要求對(duì)發(fā)布過程的高度自動(dòng)化等等。三、敏捷軟件方法對(duì)應(yīng)于以人為本的敏捷項(xiàng)目管理和以增量交付的敏捷需求管理,敏捷軟件開發(fā)提供很多具體的方法指導(dǎo)軟件的開發(fā)實(shí)踐,這些方法包括重構(gòu)、結(jié)對(duì)編程、測(cè)試驅(qū)動(dòng)、持續(xù)集成等,以下簡要介紹重構(gòu)和結(jié)對(duì)編程。1,重構(gòu)。重構(gòu)即在不改變既有代碼的行為的前提下,改善代碼的設(shè)計(jì)。重構(gòu)的目的是為了消除代碼重的“壞氣味”,從而達(dá)到放置代碼腐爛的目的。常見的重構(gòu)的手法有“重命名”、“抽出新方法”、“包裝成員”、“將方法在繼承層次中移動(dòng)”等。重構(gòu)通常以設(shè)計(jì)模式作為目標(biāo),以單元測(cè)試作

5、為保證代碼正確性的手段。2,結(jié)對(duì)編程結(jié)對(duì)編程即兩個(gè)開發(fā)人員使用一臺(tái)電腦進(jìn)行開發(fā),通常是一個(gè)人操作另一個(gè)人,另一個(gè)人輔助,一段時(shí)間后,兩人交換。這種看似降低了一半的開發(fā)效率開發(fā)方式具有以下優(yōu)點(diǎn):第一,所有的決定都是有兩個(gè)人共同做出的,并且所有的代碼是在兩個(gè)人的配合下寫出的,這大大降低了 Bug 的產(chǎn)生幾率,從而縮短了調(diào)試所需要的時(shí)間。第二,所有的代碼至少有兩個(gè)人了解,這降低了代碼對(duì)開發(fā)人員的依賴性,防止開發(fā)人員的離職對(duì)項(xiàng)目造成的影響。敏捷軟件開發(fā)為現(xiàn)代商用軟件量身打造。經(jīng)過這幾年的發(fā)展,無論在項(xiàng)目的開發(fā)方式,還是在具體實(shí)踐方法上,都有形成了自己的特色,與傳統(tǒng)的開發(fā)方式分庭抗衡。敏捷軟件開發(fā)不是一個(gè)具體的過程,而是一個(gè)涵蓋性術(shù)語(umbrellaterm),用于概括具有類似基礎(chǔ)的方式和方法。典型的敏捷過程模型有:1、 XP(極限編程,eXtreme Programming)、2、 FDD(特性驅(qū)動(dòng)開發(fā), Feature-Driven Development)、3、 Scrum4、 ASP(自適應(yīng)軟件開發(fā)Adaptive Software Development)5、 DSDM(動(dòng)態(tài)系統(tǒng)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論