




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
哈爾濱工業(yè)大學(xué)軟件學(xué)院第6章統(tǒng)一過程與敏捷過程楊大易2015/12/30本章內(nèi)容6.1統(tǒng)一過程6.2敏捷過程6.3極限編程6.4Scrum6.5本章小結(jié)6.6思考問題哈爾濱工業(yè)大學(xué)軟件學(xué)院16.1統(tǒng)一過程
軟件開發(fā)方法的演進(jìn)哈爾濱工業(yè)大學(xué)軟件學(xué)院26.1統(tǒng)一過程
RUP過程的二維表示
橫軸表示時間:劃分為階段和迭代
縱軸表示過程組件:開發(fā)各階段的任務(wù)
時間軸:4個順序階段
初始階段(Inception)
細(xì)化階段(Elaboration)
構(gòu)造階段(Construction)
交付階段(Transition)
每個階段又分為若干個迭代(Iteration)哈爾濱工業(yè)大學(xué)軟件學(xué)院36.1統(tǒng)一過程
過程組件軸:9個工作流
核心過程工作流??????業(yè)務(wù)建模(BusinessModeling)需求(Requirement)分析與設(shè)計(jì)(Analysis&Design)實(shí)現(xiàn)(Implementation)測試(Test)部署(Deployment)
核心支持工作流?項(xiàng)目管理(ProjectManagement)?配置和變更管理(ConfigurationandChangeManagement)?環(huán)境(Environment)哈爾濱工業(yè)大學(xué)軟件學(xué)院46.1統(tǒng)一過程
統(tǒng)一過程(RUP:RationalUnifiedProcess)哈爾濱工業(yè)大學(xué)軟件學(xué)院56.1統(tǒng)一過程
統(tǒng)一過程提供了在開發(fā)組織中分派任務(wù)和責(zé)任的紀(jì)律化方法;
統(tǒng)一過程目標(biāo)是在可預(yù)見的日程和預(yù)算前提下,確保滿足最終用戶需求的高質(zhì)量產(chǎn)品;
統(tǒng)一過程模型是一種用例驅(qū)動,以體系結(jié)構(gòu)為核心,迭代及增量的軟件過程框架,由UML方法和工具支持。統(tǒng)一過程模型與瀑布模型、原型模型和增量模型等相比有哪些差異?哈爾濱工業(yè)大學(xué)軟件學(xué)院66.2敏捷過程
提出敏捷過程的背景
許多公司軟件團(tuán)隊(duì)陷入了不斷增長的過程泥潭
為矯正某些官僚煩瑣的軟件過程
2001年2月,17個方法學(xué)家達(dá)成一致并發(fā)起成立敏捷軟件開發(fā)聯(lián)盟
軟件開發(fā)宣言
軟件團(tuán)隊(duì)具有快速工作、快速響應(yīng)變化的能力
4條基本價(jià)值觀+12條原則哈爾濱工業(yè)大學(xué)軟件學(xué)院76.2敏捷過程
敏捷宣言的價(jià)值觀敏捷軟件開發(fā)宣言我們正在通過親身實(shí)踐以及幫助他人實(shí)踐,揭示更好的軟件開發(fā)方法。通過這項(xiàng)工作,我們認(rèn)為:個體和交互可以工作的軟件客戶合作響應(yīng)變化勝過勝過勝過勝過過程和工具面面俱到的文檔合同談判遵循計(jì)劃雖然右項(xiàng)也具有價(jià)值,但我們認(rèn)為左項(xiàng)具有更大的價(jià)值。KentBeckMikeBeedleArieVanBennekumAlistairCockburnWardCunninghamMartinFowlerJamesGrenningJimHighsmithAndrewHuntRonJeffriesJonKernBrianMarickRobertC.MartinSteveMellorKenSchwaberJeffSutherlandDaveThomas哈爾濱工業(yè)大學(xué)軟件學(xué)院86.2敏捷過程(1)個體和交互勝過過程和工具
人是軟件項(xiàng)目獲得成功最為重要的因素;
合作、溝通以及交互能力要比單純的軟件編程能力更為重要。(2)可以工作的軟件勝過面面俱到的文檔
軟件開發(fā)的主要目標(biāo):交付給用戶可以工作的軟件而不是文檔;
軟件開發(fā)的主要和中心活動是創(chuàng)建可以工作的軟件,直到迫切需要并且意義重大時,才進(jìn)行文檔編制。哈爾濱工業(yè)大學(xué)軟件學(xué)院96.2敏捷過程(3)客戶合作勝過合同談判
客戶不可能做到一次性地將他們的需求完整清晰地表述在合同當(dāng)中;
開發(fā)團(tuán)隊(duì)與客戶緊密協(xié)作,為開發(fā)團(tuán)隊(duì)和客戶的協(xié)同工作方式提供指導(dǎo)的合同是最好的合同。(4)響應(yīng)變化勝過遵循計(jì)劃
變化是軟件開發(fā)中存在的現(xiàn)實(shí);
響應(yīng)變化的有效途徑之一是制定靈活可塑的計(jì)劃。敏捷過程中的哪些做法與傳統(tǒng)軟件工程觀念不同?哈爾濱工業(yè)大學(xué)軟件學(xué)院106.2敏捷過程
敏捷開發(fā)的12條原則(1)最優(yōu)先要做的是通過盡早的、持續(xù)的交付有價(jià)值的軟件來使客戶滿意;(2)即使到了開發(fā)的后期,也歡迎改變需求,敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢;(3)經(jīng)常性交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好;(4)在整個項(xiàng)目開發(fā)期間,商務(wù)人員和開發(fā)人員必須天天都工作在一起;(5)圍繞被激勵起來的個體來構(gòu)建項(xiàng)目,給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作;哈爾濱工業(yè)大學(xué)軟件學(xué)院116.2敏捷過程(6)在團(tuán)隊(duì)內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談;(7)工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn);(8)敏捷過程提倡可持續(xù)的開發(fā)速度,責(zé)任人、開發(fā)者和用戶應(yīng)該能夠保持一個長期的、恒定的開發(fā)速度;(9)不斷關(guān)注優(yōu)秀設(shè)計(jì)技能和好的設(shè)計(jì)會增強(qiáng)敏捷能力;(10)簡單:使未完成的工作最大化的藝術(shù)是根本的;(11)最好的構(gòu)架、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì);(12)每隔一定時間,團(tuán)隊(duì)會在如何才能更有效地工作方面進(jìn)行反省,然后相應(yīng)地對自己的行為進(jìn)行調(diào)整。哈爾濱工業(yè)大學(xué)軟件學(xué)院126.2敏捷過程
統(tǒng)一過程與敏捷過程
統(tǒng)一過程:提供的是理想開發(fā)環(huán)境下軟件過程的一種完整且完美的模式。
敏捷過程:針對商業(yè)環(huán)境下通常具有有限資源和有限時間約束的小型項(xiàng)目提出了一些獨(dú)具特色的、操作性較強(qiáng)的解決方案。
敏捷過程在人員、方法、產(chǎn)品等方面的論述遠(yuǎn)不及統(tǒng)一過程全面詳細(xì)。
敏捷過程可作為對統(tǒng)一過程的補(bǔ)充和完善。哈爾濱工業(yè)大學(xué)軟件學(xué)院136.3極限編程
極限編程(XP:ExtremeProgramming)
一個輕量級的、靈巧的敏捷開發(fā)方法;
大部分實(shí)踐與敏捷過程的價(jià)值觀和原則一致,并對敏捷過程進(jìn)一步發(fā)展和補(bǔ)充,如結(jié)對編程、隱喻等。
極限編程過程哈爾濱工業(yè)大學(xué)軟件學(xué)院146.3極限編程
極限編程的四個價(jià)值目標(biāo)
溝通:敏捷方法采用了一些實(shí)踐來強(qiáng)制溝通,如結(jié)對編程、策劃游戲、驗(yàn)收測試等;
簡單:今天做的簡單一些,然后明天需要時再花些時間進(jìn)行改進(jìn),比今天做的復(fù)雜但以后再也用不到要好。
反饋:加強(qiáng)與用戶的反饋,反饋越多,溝通越容易。
勇氣:快速的進(jìn)入開發(fā)階段,并在必要時果斷對系統(tǒng)進(jìn)行重構(gòu)。哈爾濱工業(yè)大學(xué)軟件學(xué)院156.3極限編程
極限編程的實(shí)踐要點(diǎn)(1)結(jié)對編程:由兩個開發(fā)人員在同一臺電腦上共同編寫解決同一問題的代碼,通常一個人負(fù)責(zé)編碼,而另一個負(fù)責(zé)保證代碼的正確性與可讀性;(2)客戶作為團(tuán)隊(duì)成員:要求至少有一名實(shí)際的客戶代表在整個項(xiàng)目開發(fā)周期和團(tuán)隊(duì)開發(fā)人員在一起緊密地工作;(3)短交付周期:每兩周交付一次可以工作的軟件;(4)測試驅(qū)動開發(fā):在編碼開始之前,首先將測試寫好,而后再進(jìn)行編碼,直至所有測試都得以通過;(5)集體所有權(quán):開發(fā)小組的每個成員都有更改代碼的權(quán)利,所有的人對于全部代碼負(fù)責(zé);哈爾濱工業(yè)大學(xué)軟件學(xué)院166.3極限編程(6)可持續(xù)的開發(fā)速度:開發(fā)人員每周工作時間不超過40小時,加班不得連續(xù)超過兩周,否則反而會影響生產(chǎn)率;(7)開放的工作空間:項(xiàng)目的所有參與者(開發(fā)人員、測試人員、客戶等)一起工作在一個開放的場所中;(8)簡單的設(shè)計(jì):設(shè)計(jì)恰好與計(jì)劃在本次迭代中要完成的用戶素材相匹配,不考慮未來的用戶素材;(9)重構(gòu):重新調(diào)整、優(yōu)化系統(tǒng)結(jié)構(gòu)以減少復(fù)雜性、消除冗余、增加靈活性和提高性能;(10)隱喻:整個系統(tǒng)聯(lián)系在一起的全局視圖、系統(tǒng)的未來影像,描述系統(tǒng)如何運(yùn)作、新的功能以何種方式加入到系統(tǒng)。哈爾濱工業(yè)大學(xué)軟件學(xué)院176.4Scrum
Scrum基本假設(shè)
開發(fā)軟件就像是開發(fā)新產(chǎn)品,無法一開始就能定義最終產(chǎn)品的規(guī)程,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有一種固定的流程可以保證項(xiàng)目成功。
Scrum將軟件開發(fā)團(tuán)隊(duì)比擬成橄欖球隊(duì)
有明確的最高目標(biāo)
熟悉開發(fā)流程中所需具備的最佳典范與技術(shù)
具有高度自主權(quán),緊密地溝通合作
以高度彈性解決各種挑戰(zhàn)
確保每天、每個階段都朝向目標(biāo)有明確的推進(jìn)哈爾濱工業(yè)大學(xué)軟件學(xué)院186.4Scrum
Scrum團(tuán)隊(duì)
7人組成。團(tuán)隊(duì)不止是一個程序員隊(duì)伍,它由各種背景下的不同角色組合而成,包括商業(yè)分析者,設(shè)計(jì)師,程序員和測試者等。
ProductOwner:負(fù)責(zé)最大化項(xiàng)目投資回報(bào)。領(lǐng)導(dǎo)團(tuán)隊(duì)估算ProductBacklog,對UserStories/requirements具有最終的權(quán)力。
ScrumMaster:幫助ProductOwner選擇最優(yōu)價(jià)值的ProductBacklog,確保Scrum實(shí)踐得到執(zhí)行,最大化團(tuán)隊(duì)的生產(chǎn)率。哈爾濱工業(yè)大學(xué)軟件學(xué)院196.4Scrum
Scrum過程哈爾濱工業(yè)大學(xué)軟件學(xué)院206.4Scrum
Scrum任務(wù)劃分
ProductBacklog:具有優(yōu)先級的需求列表,并對每個需求進(jìn)行了粗略的估算。ProductBacklog是不斷完善優(yōu)化的。
SprintBacklog:細(xì)化高優(yōu)先級任務(wù),任務(wù)分解不超過16小時。哈爾濱工業(yè)大學(xué)軟件學(xué)院216.4Scrum
Sprint策劃會議
限時8小時,分成2部分,各4個小時
第一部分,挑選ProdectBacklog
第二部分,準(zhǔn)備SprintBacklog
產(chǎn)品負(fù)責(zé)人要提前在會議前準(zhǔn)備好產(chǎn)品Backlog
團(tuán)隊(duì)可提出建議,但是由ProductOwner制定ProductBacklog
團(tuán)隊(duì)負(fù)責(zé)從Productowner制定的ProductBacklog中挑選出期望在當(dāng)前Sprint內(nèi)完成的工作哈爾濱工業(yè)大學(xué)軟件學(xué)院226.4Scrum
Sprint策劃會議:第一部分
挑選增量ProductBacklog
確定ProductBacklog的工作量和優(yōu)先級
成員一致認(rèn)可Sprint目標(biāo)和ProductBacklog
Sprint策劃會議:第二部分
團(tuán)隊(duì)成員將選定ProductBacklog細(xì)分
制定SprintBacklog,包括任務(wù)、任務(wù)估計(jì)、任務(wù)分工哈爾濱工業(yè)大學(xué)軟件學(xué)院236.4Scrum
Sprint運(yùn)行
Sprint周期內(nèi)開發(fā)可交付的產(chǎn)品
Sprint內(nèi)包括設(shè)計(jì)、編碼、測試、編寫文檔等工作
在Sprint期間其他人不可向團(tuán)隊(duì)下達(dá)通知、指令、評論和方向指示,團(tuán)隊(duì)完全進(jìn)行自我管理
一旦Sprint開始了,只能由Scrum團(tuán)隊(duì)增加或刪除SprintBacklog中的任務(wù)
團(tuán)隊(duì)成員每日參加Scrum會議哈爾濱工業(yè)大學(xué)軟件學(xué)院246.4Scrum
每日Scrum會議
限時15分鐘
每日早晨,同一地點(diǎn)
站立會議
所有成員必須參加
成員必須準(zhǔn)時,否則懲罰
每個人給全體成員匯報(bào)工作進(jìn)展
同步進(jìn)展而不是解決問題哈爾濱工業(yè)大學(xué)軟件學(xué)院256.4Scrum
Scrum看板哈爾濱工業(yè)大學(xué)軟件學(xué)院266.4Scrum
燃盡圖哈爾濱工業(yè)大學(xué)軟件學(xué)院276.4Scrum
Sprint評審
限時4小時
團(tuán)隊(duì)向ProductOwner及其他利益相關(guān)者展示本次sprint完成的功能
不展示未完成的功能,不展示技術(shù)文檔
演示結(jié)束后調(diào)查利益相關(guān)者意見,記錄他們的意見、期望的變更等
基于反饋調(diào)整Backlog
可以在Sprint結(jié)束后確定是否還要繼續(xù)本產(chǎn)品的開發(fā)
不需要用ppt哈爾濱工業(yè)大學(xué)軟件學(xué)院286.4Scrum
Sprint回顧
限定在
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濕稻谷訂購合同范本
- 個人述職報(bào)告范文
- 個人求職簡歷中的自薦信
- 個人房屋抵押借款簡單的合同范本
- 下鄉(xiāng)扶貧工作計(jì)劃
- 大學(xué)計(jì)算機(jī)基礎(chǔ)模擬試題及答案
- 單位發(fā)包合同范本
- 制氧機(jī)購銷合同范本
- 北京小汽車租賃合同范本
- 賣貨合同范例001
- GB 9706.14-1997醫(yī)用電氣設(shè)備第2部分:X射線設(shè)備附屬設(shè)備安全專用要求
- 測繪安全生產(chǎn)專題培訓(xùn)課件
- 心肺復(fù)蘇簡易呼吸器使用除顫儀使用
- 油缸裝配作業(yè)指導(dǎo)書
- 2022年濟(jì)南工程職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試筆試試題及答案解析
- 初中數(shù)學(xué)競賽試題匯編
- 湖南非稅在線繳費(fèi)操作步驟
- GB∕Z 27735-2022 野營帳篷
- 高分子材料研究方法 X 射線法
- 【課件】第二單元第三節(jié)漢族民歌課件-2021-2022學(xué)年高中音樂人音版(2019)必修音樂鑒賞
- 高中人音版必修 音樂鑒賞20人民音樂家課件
評論
0/150
提交評論