Chapter 2 - 迭代、進(jìn)化和敏捷_第1頁
Chapter 2 - 迭代、進(jìn)化和敏捷_第2頁
Chapter 2 - 迭代、進(jìn)化和敏捷_第3頁
Chapter 2 - 迭代、進(jìn)化和敏捷_第4頁
Chapter 2 - 迭代、進(jìn)化和敏捷_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Chapter2 迭代 進(jìn)化和敏捷 本章目標(biāo) 定義迭代 iterative 過程和敏捷 agile 過程迭代 瀑布敏捷 重型定義統(tǒng)一過程中的基本概念 軟件過程 什么是軟件過程軟件過程定義了軟件開發(fā) 部署和維護(hù)的步驟 軟件過程本身就是軟件軟件過程是一種被由人構(gòu)成的虛擬機(jī)執(zhí)行的軟件 軟件過程為什么重要 為什么不應(yīng)該那么重要 軟件過程的譜系 軟件過程軟件過程描述開發(fā) 部署和維護(hù)軟件系統(tǒng)的步驟 迭代式開發(fā)迭代式開發(fā)將軟件開發(fā)過程分解為一系列小的 固定周期的 比如 4個(gè)星期 的小項(xiàng)目 每個(gè)小項(xiàng)目稱為一個(gè)迭代 統(tǒng)一過程 UnifiedProcess 一種采用OOA D方法學(xué)開發(fā)項(xiàng)目的過程 IvarJacobson 敏捷建模UP AgileUP 引入了敏捷概念的UP 是UP的一個(gè)簡集 SoftwareProcesses WaterFall Others IterativeProcesses XP UnifiedProcess RUP AgileUP 迭代式開發(fā) 瀑布生命周期在瀑布生命周期過程中 試圖在編寫代碼之前定義幾乎所有的需求 以及明確詳盡的時(shí)間表 迭代式的生命周期通過多次的迭代獲得周期性的反饋 以這些反饋為驅(qū)動(dòng)力 對系統(tǒng)進(jìn)行不斷的擴(kuò)展和精化 迭代式開發(fā)將軟件開發(fā)過程分解為一系列小的 固定周期的 比如 4個(gè)星期 的小項(xiàng)目 每個(gè)小項(xiàng)目稱為一個(gè)迭代 迭代式開發(fā) 每一次迭代的周期 迭代的一個(gè)關(guān)鍵思想是時(shí)間定量 即時(shí)間長度固定 大部分迭代方法建議迭代時(shí)間在2到6周之間 示例 在項(xiàng)目開始為期3周的迭代中周一啟動(dòng)會(huì)議 明確本次迭代的任務(wù)和目標(biāo) 其間一小時(shí)制作UML圖 打印最重要的部分 其他時(shí)間團(tuán)隊(duì)成員結(jié)對在白板上用UML圖建模 開發(fā) 測試 發(fā)布 給客戶Review本次迭代的成果 獲取反饋 計(jì)劃下一次的迭代 注意 沒有匆忙地開始編碼 也沒有長期的 試圖完全定義系統(tǒng)的設(shè)計(jì) 迭代的成果不是用完后就拋棄的原型 而是最終產(chǎn)品的子集 獲取用戶反饋并不斷改進(jìn)是項(xiàng)目的主要驅(qū)動(dòng)力量 迭代的過程 Afteraseriesofstructured build feedback adaptcycles thesystemwillbestable 擁抱變化 擁抱變化 僅僅有態(tài)度并不夠 軟件并不是想大多數(shù)人的直覺那樣容易變化的 迭代式的開發(fā)不比瀑布式開發(fā)容易 我們應(yīng)該構(gòu)造能不斷演化的軟件系統(tǒng) 迭代式開發(fā)的優(yōu)勢 能夠較早地對付風(fēng)險(xiǎn)高的內(nèi)容 能夠讓人明確地看到進(jìn)展 給客戶信心 給開發(fā)隊(duì)伍成就感 能夠較早獲得反饋 鼓勵(lì)用戶參與開發(fā) 使系統(tǒng)能夠更接近用戶需求 控制復(fù)雜性 統(tǒng)一過程 UnifiedProcess UP UP是迭代過程的一種 提出人 IvarJacobsonUP提供了如何實(shí)施OOA D 和如何介紹OOA D 的示范結(jié)構(gòu) 這也形成了本書的結(jié)構(gòu) UP具有靈活性 可以應(yīng)用于敏捷 輕量級(jí) 方法 UP的階段 UP項(xiàng)目將其工作和迭代組織為4個(gè)主要的階段 初始 Inception 大體上的構(gòu)想 業(yè)務(wù)用例 范圍和初步的估計(jì) 細(xì)化 Elaboration 進(jìn)一步細(xì)化的構(gòu)想 以迭代的方式實(shí)現(xiàn)風(fēng)險(xiǎn)較高的核心架構(gòu) 識(shí)別出大部分需求和范圍 作更為準(zhǔn)確地估計(jì) 構(gòu)造 Construction 以迭代的方式實(shí)現(xiàn)剩下的低風(fēng)險(xiǎn) 易實(shí)現(xiàn)的部分 為發(fā)布做好準(zhǔn)備 移交 Transition beta測試 部署 UP科目 Disciplines UP中定義了下列的科目 業(yè)務(wù)建模 BusinessModeling 需求 Requirements 設(shè)計(jì) Design 其他 實(shí)現(xiàn) 測試 部署 科目和迭代 DisciplinesandIterations 科目和階段 DisciplinesandPhases 判斷你是否理解迭代開發(fā)或UP 你是否認(rèn)為初始 需求細(xì)化 設(shè)計(jì)構(gòu)造 實(shí)現(xiàn)你是否認(rèn)為制作UML圖的設(shè)計(jì)過程是用來精確地定義系統(tǒng) 而開發(fā)和編碼只不過是將他們機(jī)械地變換為源程序的過程 根據(jù)UP的科目和階段設(shè)計(jì)的課程結(jié)構(gòu) 敏捷宣言 個(gè)體和交流 Individualsandinteractions 工作的軟件 Workingsoftware 與客戶協(xié)作 Customercollaboration 積極響應(yīng)變更 Respondingtochange 過程和工具 processesandtools 完善的文檔 comprehensivedocumentation 合同談判 contractnegotiation 嚴(yán)格履行計(jì)劃 followingaplan 敏捷原則 通過早期和持續(xù)交付有價(jià)值的軟件來滿足客戶歡迎變更需求 即使在開發(fā)的后期提出 敏捷過程為客戶的競爭優(yōu)勢而控制變更 以兩周到兩月為周期 頻繁地交付可運(yùn)行的軟件 在整個(gè)項(xiàng)目的過程中 每一天開發(fā)人員都要和來自客戶的業(yè)務(wù)人員合作 依靠有干勁的個(gè)體推動(dòng)項(xiàng)目的開發(fā) 為他們提供所需的開發(fā)環(huán)境 支持和信任 在開發(fā)團(tuán)隊(duì)中獲開發(fā)團(tuán)隊(duì)間傳遞信息的最為有效和高效的方法是面對面的交流 衡量進(jìn)度的重要尺度是可運(yùn)行的軟件 敏捷過程提倡持續(xù)開發(fā)和集成 發(fā)起人 開發(fā)者和用戶應(yīng)該步調(diào)一致 關(guān)注技術(shù)和設(shè)計(jì)技能的提高 簡潔 這門減少工作量的藝術(shù)至關(guān)重要 團(tuán)隊(duì)要定期反省

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論