




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 一些經(jīng)驗豐富的軟件設(shè)計師在應(yīng)對一些經(jīng)驗豐富的軟件設(shè)計師在應(yīng)對快速交付、需求易變的開發(fā)要求實踐中快速交付、需求易變的開發(fā)要求實踐中分別總結(jié)出自己獨特且有效的軟件開發(fā)分別總結(jié)出自己獨特且有效的軟件開發(fā)方法,被業(yè)界概括為敏捷軟件開發(fā)方法。方法,被業(yè)界概括為敏捷軟件開發(fā)方法。其中以其中以“極限編程極限編程”最為流行。最為流行。 敏捷軟件開發(fā)方法其實不是一個具體的過程,敏捷軟件開發(fā)方法其實不是一個具體的過程,而是一個涵蓋性術(shù)語。用于概括那些應(yīng)需而生的而是一個涵蓋性術(shù)語。用于概括那些應(yīng)需而生的具有類似價值觀的軟件開發(fā)方式和方法,這些方具有類似價值觀的軟件開發(fā)方式和方法,這些方法一般都具有以人為核心、循環(huán)
2、迭代、響應(yīng)變化法一般都具有以人為核心、循環(huán)迭代、響應(yīng)變化等特點,著眼于能高質(zhì)量地快速交付客戶滿意的等特點,著眼于能高質(zhì)量地快速交付客戶滿意的工作軟件。工作軟件。代表性的敏捷開發(fā)方法代表性的敏捷開發(fā)方法 極限編程極限編程(eXtreme Programming,簡稱,簡稱XP) 特征驅(qū)動軟件開發(fā)(特征驅(qū)動軟件開發(fā)(Feature Driven Development,簡稱,簡稱FDD) 動態(tài)系統(tǒng)開發(fā)(動態(tài)系統(tǒng)開發(fā)(Dynamic Systems Development Methodology,簡稱,簡稱DSDM) 自適應(yīng)軟件開發(fā)自適應(yīng)軟件開發(fā)(Adaptive Software Developm
3、ent,簡稱,簡稱ASD) SCRUM(一種項目管理方法一種項目管理方法) Crystal(水晶法)(水晶法)n個體與交互重于過程與工具個體與交互重于過程與工具n可以工作的軟件重于面面俱到的文檔可以工作的軟件重于面面俱到的文檔n與客戶的合作重于與其合同的談判與客戶的合作重于與其合同的談判n對變化的響應(yīng)重于對計劃的遵循對變化的響應(yīng)重于對計劃的遵循 可見,敏捷的軟件開發(fā)方法的理念是,在保證軟件開發(fā)有可見,敏捷的軟件開發(fā)方法的理念是,在保證軟件開發(fā)有成功產(chǎn)出的前提下,盡量減少開發(fā)過程中的活動和制品的方法;成功產(chǎn)出的前提下,盡量減少開發(fā)過程中的活動和制品的方法;在滿足軟件質(zhì)量要求的前提下,力求適應(yīng)變化
4、和提高開發(fā)效率。在滿足軟件質(zhì)量要求的前提下,力求適應(yīng)變化和提高開發(fā)效率。 1.就敏捷開發(fā)而言,最重要的是通過盡早和不斷交付就敏捷開發(fā)而言,最重要的是通過盡早和不斷交付有價值的軟件來滿足客戶的需求。有價值的軟件來滿足客戶的需求。2.敏捷開發(fā)歡迎需求的變化,即使是開發(fā)后期。敏捷敏捷開發(fā)歡迎需求的變化,即使是開發(fā)后期。敏捷過程能夠駕馭變化并以此為客戶創(chuàng)造競爭優(yōu)勢。過程能夠駕馭變化并以此為客戶創(chuàng)造競爭優(yōu)勢。3.經(jīng)常交付可以工作的軟件,從幾個星期到幾個月,經(jīng)常交付可以工作的軟件,從幾個星期到幾個月,時間間隔越短越好。時間間隔越短越好。4.業(yè)務(wù)人員和開發(fā)人員應(yīng)該在整個項目過程中始終朝業(yè)務(wù)人員和開發(fā)人員應(yīng)該
5、在整個項目過程中始終朝夕在一起工作。夕在一起工作。5.圍繞斗志高昂的人進行軟件開發(fā),給他們提供適宜圍繞斗志高昂的人進行軟件開發(fā),給他們提供適宜的環(huán)境,滿足他們的需要,并相信他們能夠完成任的環(huán)境,滿足他們的需要,并相信他們能夠完成任務(wù)。務(wù)。6.在團隊中,最有效率也最有效果的信息表達方式是面在團隊中,最有效率也最有效果的信息表達方式是面對面的交談。對面的交談。7.可以工作的軟件是進度的主要度量標準??梢怨ぷ鞯能浖沁M度的主要度量標準。8.敏捷過程提倡可持續(xù)的開發(fā)速度。責任人、開發(fā)者和敏捷過程提倡可持續(xù)的開發(fā)速度。責任人、開發(fā)者和用戶應(yīng)該總是維持不變的節(jié)奏。用戶應(yīng)該總是維持不變的節(jié)奏。9.對優(yōu)秀的技
6、能與好的設(shè)計的不斷追求將有助于提高敏對優(yōu)秀的技能與好的設(shè)計的不斷追求將有助于提高敏捷能力。捷能力。10. 簡單簡單盡可能減少工作量的藝術(shù)是至關(guān)重要的。盡可能減少工作量的藝術(shù)是至關(guān)重要的。11. 最好的架構(gòu)、需求和設(shè)計都源自自組織的團隊。最好的架構(gòu)、需求和設(shè)計都源自自組織的團隊。12. 每隔一定時間,團隊都要總結(jié)如何更有效率,然后相每隔一定時間,團隊都要總結(jié)如何更有效率,然后相應(yīng)地調(diào)整自己的行為。應(yīng)地調(diào)整自己的行為。 XP方法的基礎(chǔ)是方法的基礎(chǔ)是4個價值觀念:個價值觀念: 溝通。大多數(shù)項目的失敗源于溝通不暢,所以要溝通。大多數(shù)項目的失敗源于溝通不暢,所以要進行一些能夠推動積極溝通的實踐。進行一些
7、能夠推動積極溝通的實踐。 簡單。開發(fā)能夠滿足客戶需要的最簡單的產(chǎn)品。簡單。開發(fā)能夠滿足客戶需要的最簡單的產(chǎn)品。 反饋。開發(fā)者必須要獲取并且重視來自客戶、系反饋。開發(fā)者必須要獲取并且重視來自客戶、系統(tǒng)的反饋以及相互之間的反饋。統(tǒng)的反饋以及相互之間的反饋。 勇氣。準備好做出支持其他原則和實踐的艱難決勇氣。準備好做出支持其他原則和實踐的艱難決定。定。 XP在在4個價值觀之上,又定義了個價值觀之上,又定義了12個的必須遵循的實踐:個的必須遵循的實踐:1. 完整團隊:完整團隊:XP項目的所有參與者(開發(fā)人員、客戶、測試項目的所有參與者(開發(fā)人員、客戶、測試人員等)一起工作在一個開放的場所中,他們是同一個
8、團人員等)一起工作在一個開放的場所中,他們是同一個團隊的成員。這個場所的墻壁上隨意懸掛著大幅的、顯著的隊的成員。這個場所的墻壁上隨意懸掛著大幅的、顯著的圖表以及其他一些顯示他們進度的東西。圖表以及其他一些顯示他們進度的東西。2. 計劃游戲:計劃是持續(xù)的、循序漸進的。每計劃游戲:計劃是持續(xù)的、循序漸進的。每2周,開發(fā)人員周,開發(fā)人員就為下就為下2周估算候選特性的成本,而客戶則根據(jù)成本和商周估算候選特性的成本,而客戶則根據(jù)成本和商務(wù)價值來選擇要實現(xiàn)的特性。務(wù)價值來選擇要實現(xiàn)的特性。3. 客戶測試:作為選擇每個所期望的特性的一部分,客戶可客戶測試:作為選擇每個所期望的特性的一部分,客戶可以根據(jù)腳本語
9、言來定義出自動驗收測試來表明該特性可以以根據(jù)腳本語言來定義出自動驗收測試來表明該特性可以工作。工作。4. 簡單設(shè)計:團隊保持設(shè)計恰好和當前的系統(tǒng)功能相匹簡單設(shè)計:團隊保持設(shè)計恰好和當前的系統(tǒng)功能相匹配。它通過了所有的測試,不包含任何重復(fù),表達配。它通過了所有的測試,不包含任何重復(fù),表達出了編寫者想表達的所有東西,并且包含盡可能少出了編寫者想表達的所有東西,并且包含盡可能少的代碼。的代碼。5. 結(jié)對編程:所有的產(chǎn)品軟件都是由兩個程序員、并排結(jié)對編程:所有的產(chǎn)品軟件都是由兩個程序員、并排坐在一起在同一臺機器上構(gòu)建的。坐在一起在同一臺機器上構(gòu)建的。6. 測試驅(qū)動開發(fā):編寫單元測試是一個驗證行為,更是
10、測試驅(qū)動開發(fā):編寫單元測試是一個驗證行為,更是一個設(shè)計行為。同樣,它更是一種編寫文檔的行為。一個設(shè)計行為。同樣,它更是一種編寫文檔的行為。編寫單元測試避免了相當數(shù)量的反饋循環(huán),尤其是編寫單元測試避免了相當數(shù)量的反饋循環(huán),尤其是功功能能驗證方面的反饋循環(huán)。程序員以非常短的功功能能驗證方面的反饋循環(huán)。程序員以非常短的循環(huán)周期工作,他們先增加一個失敗的測試,然后循環(huán)周期工作,他們先增加一個失敗的測試,然后使之通過使之通過。 7. 改進設(shè)計:隨時利用重構(gòu)方法改進已經(jīng)腐化改進設(shè)計:隨時利用重構(gòu)方法改進已經(jīng)腐化的代碼,保持代碼盡可能的干凈、具有表達的代碼,保持代碼盡可能的干凈、具有表達力。力。8.持續(xù)集成
11、:團隊總是使系統(tǒng)完整地被集成。持續(xù)集成:團隊總是使系統(tǒng)完整地被集成。9.集體代碼所有權(quán):任何結(jié)對的程序員都可以集體代碼所有權(quán):任何結(jié)對的程序員都可以在任何時候改進任何代碼。沒有程序員對任在任何時候改進任何代碼。沒有程序員對任何一個特定的模塊或技術(shù)單獨負責,每個人何一個特定的模塊或技術(shù)單獨負責,每個人都可以參與任何其它方面的開發(fā)。都可以參與任何其它方面的開發(fā)。10. 編碼標準:系統(tǒng)中所有的代碼看起來就好像編碼標準:系統(tǒng)中所有的代碼看起來就好像是一人單獨編寫的。是一人單獨編寫的。11. 隱喻:將整個系統(tǒng)聯(lián)系在一起的全局視圖的隱喻:將整個系統(tǒng)聯(lián)系在一起的全局視圖的概念。它是系統(tǒng)的未來影像,是它使得所
12、有單概念。它是系統(tǒng)的未來影像,是它使得所有單獨模塊的位置和外觀變得明顯直觀。如果模塊獨模塊的位置和外觀變得明顯直觀。如果模塊的外觀與整個隱喻不符,那么你就知道該模塊的外觀與整個隱喻不符,那么你就知道該模塊是錯誤的。是錯誤的。12. 可持續(xù)的速度:團隊只有持久才有獲勝的??沙掷m(xù)的速度:團隊只有持久才有獲勝的希望。他們以能夠長期維持的速度努力工作,他望。他們以能夠長期維持的速度努力工作,他們保存精力,把項目看作是馬拉松長跑,而不們保存精力,把項目看作是馬拉松長跑,而不是全速短跑。是全速短跑。 極限編程是一組簡單、具體的實踐,這極限編程是一組簡單、具體的實踐,這些實踐結(jié)合在一起形成了一個敏捷開發(fā)過程
13、。些實踐結(jié)合在一起形成了一個敏捷開發(fā)過程。極限編程是一種優(yōu)良的、通用的軟件開發(fā)方極限編程是一種優(yōu)良的、通用的軟件開發(fā)方法,項目團隊可以拿來直接采用,也可以增法,項目團隊可以拿來直接采用,也可以增加一些實踐,或者對其中的一些實踐進行修加一些實踐,或者對其中的一些實踐進行修改后再采用。改后再采用。 二者的比較:二者的比較: “敏捷宣言敏捷宣言”把關(guān)注的焦點從傳統(tǒng)的計劃把關(guān)注的焦點從傳統(tǒng)的計劃驅(qū)動、基于過程的方法轉(zhuǎn)移到更輕量、適驅(qū)動、基于過程的方法轉(zhuǎn)移到更輕量、適應(yīng)性更強的開發(fā)范型。應(yīng)性更強的開發(fā)范型。 但并不意味著可以忽略對傳統(tǒng)方法中強過但并不意味著可以忽略對傳統(tǒng)方法中強過程規(guī)范和嚴格準則的需要,
14、這些軟件開發(fā)程規(guī)范和嚴格準則的需要,這些軟件開發(fā)方法為規(guī)范軟件開發(fā)的過程,提高軟件項方法為規(guī)范軟件開發(fā)的過程,提高軟件項目的成功率起了重要的作用。目的成功率起了重要的作用。 如同過于繁瑣與官僚化的過程和文檔阻礙軟件如同過于繁瑣與官僚化的過程和文檔阻礙軟件開發(fā)一樣,過度地強調(diào)簡單與拋棄文檔也會對開發(fā)一樣,過度地強調(diào)簡單與拋棄文檔也會對軟件項目造成傷害。軟件項目造成傷害。 純粹的敏捷開發(fā)方法同樣要求軟件企業(yè)組織管純粹的敏捷開發(fā)方法同樣要求軟件企業(yè)組織管理能力和開發(fā)人員個人非常高的素質(zhì)理能力和開發(fā)人員個人非常高的素質(zhì) 傳統(tǒng)的計劃驅(qū)動方法的擅長領(lǐng)域通常是大型、傳統(tǒng)的計劃驅(qū)動方法的擅長領(lǐng)域通常是大型、復(fù)
15、雜的系統(tǒng),這些系統(tǒng)時常具有關(guān)鍵的安全性復(fù)雜的系統(tǒng),這些系統(tǒng)時常具有關(guān)鍵的安全性或者其他高可靠性的屬性。需求應(yīng)該相當穩(wěn)定,或者其他高可靠性的屬性。需求應(yīng)該相當穩(wěn)定,環(huán)境也具有相當?shù)目深A(yù)見性。環(huán)境也具有相當?shù)目深A(yù)見性。 敏捷方法則更適用于那些系統(tǒng)和開發(fā)團隊規(guī)模敏捷方法則更適用于那些系統(tǒng)和開發(fā)團隊規(guī)模較小、客戶和系統(tǒng)的使用者隨時可以到位、需較小、客戶和系統(tǒng)的使用者隨時可以到位、需求和環(huán)境容易變化的項目。求和環(huán)境容易變化的項目。 平衡敏捷與規(guī)范:平衡敏捷與規(guī)范: 為了維持相關(guān)性并符合客戶的需要和期望,國防為了維持相關(guān)性并符合客戶的需要和期望,國防和其他大型系統(tǒng)必須找到適當?shù)耐緩皆谒鼈兊姆胶推渌笮拖到y(tǒng)
16、必須找到適當?shù)耐緩皆谒鼈兊姆椒▽W中融合敏捷性。但仍必須把規(guī)范作為適應(yīng)性法學中融合敏捷性。但仍必須把規(guī)范作為適應(yīng)性的基礎(chǔ)。的基礎(chǔ)。 典型地,可以將敏捷方法與統(tǒng)一軟件開發(fā)過程典型地,可以將敏捷方法與統(tǒng)一軟件開發(fā)過程(RUP)等規(guī)范方法相結(jié)合。比如,等規(guī)范方法相結(jié)合。比如,RUP作為整體框作為整體框架,負責最初前景分析、商業(yè)計劃,敏捷建模負架,負責最初前景分析、商業(yè)計劃,敏捷建模負責業(yè)務(wù)建模,具體開發(fā)使用責業(yè)務(wù)建模,具體開發(fā)使用XP等敏捷方法。而在等敏捷方法。而在整個項目的項目管理、配置管理、質(zhì)量管理使用整個項目的項目管理、配置管理、質(zhì)量管理使用RUP。進一步可將。進一步可將SW-CMM作為整個過程
17、改進的作為整個過程改進的目標,根據(jù)目標,根據(jù)CMM五級目標可以制定與過程改進相五級目標可以制定與過程改進相符的階段目標和長遠目標。符的階段目標和長遠目標。 極限編程的極限編程的12個核心實踐具體分來有如下個核心實踐具體分來有如下四個方面一些細則內(nèi)容:四個方面一些細則內(nèi)容: 1. 計劃計劃寫出用戶素材;寫出用戶素材;根據(jù)發(fā)布版本計劃編制進度表;根據(jù)發(fā)布版本計劃編制進度表;頻繁發(fā)布小版本頻繁發(fā)布小版本:度量項目速度;度量項目速度;這個項目劃分為多個迭代;這個項目劃分為多個迭代;每次迭代開始前制定迭代計劃;每次迭代開始前制定迭代計劃;角色互換;角色互換;每日立式晨會;每日立式晨會;根據(jù)項目情況對根據(jù)
18、項目情況對XP作出調(diào)整。作出調(diào)整。2. 設(shè)計設(shè)計 簡單;簡單; 選取一個系統(tǒng)比喻;選取一個系統(tǒng)比喻; 在設(shè)計會上使用在設(shè)計會上使用CRC卡片;卡片; 通過探針方案降低風險;通過探針方案降低風險; 不要過早加入任何功能;不要過早加入任何功能; 盡可能的進行重構(gòu)。盡可能的進行重構(gòu)。 是目前比較流行的面向?qū)ο笫悄壳氨容^流行的面向?qū)ο蠓治鼋7椒?。在分析建模方法。在CRC建模建模中,用戶、設(shè)計者、開發(fā)人中,用戶、設(shè)計者、開發(fā)人員都有參與,完成對整個面員都有參與,完成對整個面向?qū)ο蠊こ痰脑O(shè)計。向?qū)ο蠊こ痰脑O(shè)計。 CRC卡是一個標準索引卡集卡是一個標準索引卡集合,包括三個部分:類名、合,包括三個部分:類名、類的職責、類的協(xié)作關(guān)系,類的職責、類的協(xié)作關(guān)系,每一張卡片表示一個類。每一張卡片表示一個類。 3. 編碼編碼 客戶一直在場;客戶一直在場; 代碼必須符合相應(yīng)的編碼標準;代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60335-2-118:2025 RLV EN Household and similar electrical appliances - Safety - Part 2-118: Particular requirements for professional ice-cream makers
- 2025年養(yǎng)老服務(wù)與社會保障基礎(chǔ)知識考試題目及答案
- 2025年心理健康教育與輔導(dǎo)考試試題及答案
- 2025年成人教育與培訓職業(yè)資格考試試題及答案
- 2025年城市規(guī)劃與設(shè)計專業(yè)考試題目及答案
- 2025年公共英語三級考試題及答案
- (三模)青島市2025年高三年級第三次適應(yīng)性檢測語文試卷(含標準答案)
- 采購合同免責協(xié)議書范本
- 2025年煤及礦產(chǎn)品批發(fā)服務(wù)項目發(fā)展計劃
- 2025年中、高檔黑白超聲診斷儀項目建議書
- 2024年河南省機關(guān)單位工勤技能人員培訓考核高級工技師《職業(yè)道德》題庫
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計規(guī)范(廣東省標準)
- 壓力容器制造質(zhì)量保證手冊+程序文件+表格-符合TSG 07-2019特種設(shè)備質(zhì)量保證管理體系
- 山東省濟南市歷城區(qū)2023-2024學年七年級下學期期末語文試題(解析版)
- DL∕T 1864-2018 獨立型微電網(wǎng)監(jiān)控系統(tǒng)技術(shù)規(guī)范
- 2024年湖南省中考道德與法治試題卷(含答案解析)
- 極坐標法課件講解
- 蘇州2024年江蘇蘇州張家港市事業(yè)單位招聘筆試筆試歷年典型考題及考點附答案解析
- 八年級語文下冊(部編版) 第四單元 經(jīng)典演講-單元主題閱讀訓練(含解析)
- 2024新高考英語1卷試題及答案(含聽力原文)
- (高清版)JTGT 3654-2022 公路裝配式混凝土橋梁施工技術(shù)規(guī)范
評論
0/150
提交評論