極限編程(知識講座)(精編版)_第1頁
極限編程(知識講座)(精編版)_第2頁
極限編程(知識講座)(精編版)_第3頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、極限編程極限編程是一種輕量級的、靈活的、簡單的軟件工程方法。與傳統的開發過程不同, 極限編程的核心活動表達在需求測試編碼設計過程中。因此使用于規模小、進度緊、需求變化打的項目。它希望以最高的效率和質量來解決用戶目前的問題,以最大的靈活性和最小的代價來滿足用戶未來的需求。在傳統的軟件系統開發中, 系統需求是在項目開發的開始階段就確定下來的, 并在之后的開發過程中保持不變的,這就意味著從進入項目開發到之后的所有階段出現的所有需求變更,將導致開發成本急速增加。極限編程是一種輕量級的、靈巧的、簡單的軟件工程方法,適合于 12 人以下的開發團隊,它的主要目標在于面對商業軟件系統環境做出了務實的選擇, 力

2、求降低需求變更而帶來的成本增加,進而提高軟件的開發效率。一、 極限編程簡介極限編程簡稱xp 是一種敏捷開發方法,供中小型組用于開發需求快速變化的軟件。它是由美國軟件工程專家kent beck對極限編程這一創新軟件過程方法進行了解釋:“xp 是一種輕質量、高效、低風險、柔性、可預測、科學而充滿樂趣的軟件開發方法。” 極限編程是價值而非實踐驅動的高度迭代的開發過程。其價值表達在以下幾個方面“第一,簡單:在xp中,簡單被定義為“在管用的前提下,做簡單的事情”即實現最簡單的可行方案。xp 認為應該盡量保持代碼的簡單,只要能夠滿足工作需要就行, 這樣有利于代碼重構和優化。第二,交流:所有的方法都包含在交

3、流過程中,而在xp中,這是其核心價值觀。它側重與口頭交流,xp 追求有效的交流,而且強調項目開發人員、設計人員、客戶之間的等有效的、及時的交流,確保各種信息的暢通。第三,反饋:反饋對于任何項目的成功都是生死攸關的,在 xp中,有關軟件狀態的問題是通過持續的、明確的反饋來答復的。通過反饋,大道迅速交流、編碼、測試、發布項目的。第四,勇氣:即勇于放棄和重構,對于用戶的反饋,xp 程序員要勇于對自己的代碼進行修改, 即使有些修改可能會使得原來已經通過的測試又出現錯誤,但是經過團隊的共同攻關,最終必然會取得滿意的效果。二、 極限編程的開發過程及特點與傳統的開發過程不同, 極限編程的核心活動表達在需求測

4、試編碼設計過程中,因此對工作環境、需求分析、設計、編程、測試、發布等提出了新的思路和需求。1、工作環境:xp要求每個參加項目開發的人都擔任一個角色,并履行相應的權利和義務。所有的人都在一個開放式的開發環境中工作,最好是在同一個大房間中工作,隨時討論問題,強調每周40 小時工作制度,不加班。2、需求分析:客戶被納入開發隊伍。由于客戶不具備電腦專業知識,無法用專業術語明確的描述需求,所以開發人員和客戶在一起,用講故事的方式把需求表達出來,開發人員根據經驗將許多故事組合起來,或將其進行分解,最終記錄在小卡片上,這些故事講陸續被程序員在各個周期內,按照商業價值、開發風險優先順序逐個開發。3、設計:xp

5、強調簡單設計,即用最簡單的方法實現每個小需求。在 xp中,沒有哪種傳統開發模式中一次性的、針對所有需求的總體設計,這些設計只要能夠滿足系統客戶在當前的需求就可以了, 不需要考慮將來可能的變化,整個設計過程包括在整個螺旋式發展的項目中。4、測試:xp開發人員在編寫代碼之前進行測試,而不是在開發完成后再進行測試。開發人員編寫單元測試,對方法以及可能出現問題的每個地方進行測試。編寫好對針對組件的所有測試后,開發人員只編寫剛好能夠通過測試的代碼。編寫這樣的測試將為系統提供一套完整的測試,而我們只編寫最簡單的,能夠管用的代碼。僅當類通過了所有的測試,編寫工作才算完成。所有這些測試是極限編程開發過程中最重

6、要的文檔之一,也是最終交付給用戶的內容之一。5、編程:結對編程是極限編程的一大特色,即兩個人一起使用同一個屏幕,同一個鍵盤,共同完成一段程序的編碼。結對編程的好處是,可以提高紀律性,更容易寫出優質代碼,同時保證編程的流暢進行,更重要的是,能夠使得整個團隊更方便的分享編程經驗,有利于新手快速成長。6、發布:xp要求按照開發計劃,每經過一個開發周期,軟件就發布一次,而不是像傳統的開發方法那樣,整個軟件開發完后才發布。在一個開發周期內,開發人員要求客戶選擇最有價值的user story 作為未來一兩個星期的開發內容,一個開發周期完成后,提交給客戶的系統雖然不是最終的產品,但是他的內容已經實現了幾個客

7、戶認為是最重要的story ,開發人員將逐元測試盒集成測試,因此,雖然軟件并不完備但是,發布的軟件客戶還是可以真正使用的。三、 極限編程的優點(1)對公司的開發者而言, xp 可以讓開發者專注于編寫代碼,防止了不必要的文案工作及會議。它營造了更好的工作氛圍, 更多學習新技術的時機, 并令你的職工有成就感。(2)相比于傳統開發方式,通過 xp開發的軟件缺陷更少。它令公司對其商業需求的變化做出更快速的反應,而且價格低廉,開發者也少有怨言。(3)從公司管理的角度來看,這種方法可以減少你對牛人的依賴。同時它也提升了職工滿意度。(4)在 xp下,你無需設計未來。你設計今天。整個理念就是,寫簡單代碼,以及

8、在需求改變的時候相應的改變你的設計。(5). 你的開發人員是兩人結隊編程,從頭到尾都在一起工作。代碼有著統一的標準性和可讀性,大家都能夠理解代碼并按照需求改善代碼。 而且,結隊編程在一定時間內是最有效率的。(6)xp項目與傳統軟件開發的最大區別在于,xp是以測試推動開發。在 xp下可以在編寫代碼之前開始測試。每一個環節的代碼都要100%通過單元測試。沒有unit-level bug和回歸 bug也意味著開發者能夠專注他們自己的工作。你的客戶確立自動驗收測試以確認該軟件的每一個功能的運行質量。(7)在 xp下,每一個測試階段之后都可以發布一個小體積軟件。最重要的是,每一階段完成時都有些東西能夠拿

9、給客戶看。(8)在傳統流水線方式下, 如果項目計劃變更, 之后要趕上檔期就會需要很大投入。xp 的方法可以令你提前判斷進程。(9)極限編程從最簡單的解決方案入手。 你可以在之后添加其他功能。這個概念的目的在于為今天做計劃,設計及編碼,而不是為了明天。(10)來自系統,客戶和團隊的反饋是極限編程成功的關鍵。在這個概念的指導下, 系統的漏洞在前期就被發現,客戶可以反復進行驗收測試, 從而最大限度的降低你產品中的錯誤。四、 極限編程的缺點:其缺點主要表現為:1以代碼為中心,忽略了設計;2缺乏設計文檔,局限于小規模項目; 3對已完成工作的檢查步驟缺乏清晰的結構;4質量保證依賴于測試; 5缺乏質量規劃;

10、6沒有提供數據的收集和使用的指導; 7開發過程不詳細;8全新的管理手法帶來的認同度問題; 9缺乏過渡時的必要支持五、 極限編程的運用xp適用于規模小、進度緊、需求變化大、質量要求嚴的項目。它希望以最高的效率和質量來解決用戶目前的問題, 以最大的靈活性和最小的代價來滿足用戶未來的需求,xp在平衡短期和長期之間做了巧妙的安排。我國的軟件開發過程經常存在一些問題,如:客戶需求變化頻繁、系統支付時間一推再推、交付系統錯誤層出不窮、因程序員半途跳槽而導致工作不能順利完成、需求估計不足、因程序員之間交流少而導致代碼重復開發、文檔不能真實地反映實際情況等等。為了有效地克服上述問題,軟件機構在項目開發時, 有

11、意識地采用 xp方法,并且取得了一定效果。通過對這些應用的總結, 可以概括出,xp應用確實具有一定的適用范圍,而應用成功的關鍵在于,充分認識 xp應用過程中的優缺點, 在保持組織既有的開發過程和生命周期模型的前提下,結合應用類型、項目特點和組織文化, 借鑒、汲取個別對項目有效的xp方法,在領會其精神實質的基礎上靈活運用,而不是全部照搬硬套。另外以下幾個問題也是在應用中需要注意的:1、不同方法的目標對象和適用環境各不相同,學習和運用流行的過程方法論是實施過程改良的好方法,但在具體應用過程中,應整合其最正確元素,設計出適合具體實際項目的過程體系。2、在軟件工程實踐中要充分把握好開發技能、軟件過程和組織管理各個要素的平衡,不能偏重某一方面,輕視另一方面;3、在應用 xp時,應該首先從基本實踐入手,逐漸深入到擴展性實踐, 因為基本實踐彼此獨立, 互不影響,

溫馨提示

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

最新文檔

評論

0/150

提交評論