5、敏捷方法的主要內容
四個核心價值觀:溝通、簡單、反饋、勇氣。
簡單:只要滿足當前功能需求,不做假象設計。
勇氣:用于抉擇,用于實踐,用于重構。
12條實踐規則:簡單設計、測試驅動、代碼重構、結對編程、繼續集成、現場客戶、開發版本小型化、系統隱喻、代碼集體所有制、規劃策略、規范代碼、40小時工作機制。
6、主要敏捷方法簡介
極限編程
水晶系列方法
開放式源碼,任何人發現Bug都可以將補丁發給維護者。
SCRUM
Coad的功用驅動開發方法:短時迭代階段 和 可見可用的功能,一個迭代周期一般為兩周,編程人員分為 類程序員、首席程序員。
ASD方法,猜測、合作、學習。
4.1.4 RUP
RUP把軟件開發生命周期劃分為多個循環(cycle),每個cycle生成產品的一個新版本,每個cycle依次由4個連續階段(phase)組成:
初始:定義最終產品視圖和業務模型,并確定系統范圍。
細化:制定工作計劃及資源要求。
構造。
移交。
迭代并不是重復地做相同的事,而是針對不同用例細化和實現,每一個迭代都是一個完整的開發過程。
每個階段結束前有一個里程碑(milestone)評估該階段的工作。如果未能通過該里程碑的評估,則決策者應該做出決定,是取消該項目還是繼續做該階段的工作。
RUP中的核心概念
角色(Role),who的問題,某個人或一個小組的行為與職責。
活動(Activity),how的問題,是一個有明確目的的獨立工作單元。
制品(Artifact),what的問題,是活動生成、創建、修改 第一段信息。
工作流(Workflow),when的問題,每個工作流產生一些有價值的產品,并顯示了角色之間的關系。
RUP的特點
RUP是用例驅動的、以體系結構為中心的、迭代和增量的軟件開發過程。
用例驅動:需求分析、設計、實現、測試,都是用例驅動的。
以體系結構為中心:刻畫了系統的整體設計,去掉了細節部分,突出了系統的重要特征。
不依賴于具體語言,是軟件設計過程的一個層次。
體系結構層次的設計問題包括:總體組織和全局控制、通訊協議、同步、數據存取、給設計元素分配特定功能、設計元素的組織、物理分布、系統的伸縮性、性能 等。
一個系統不可能在所有特性上都達到最優,對于一個系統,不同人員所關心的內容也是不一樣的,對于不同類型的人員,只需提供這類人員關心的視圖即可。
分析和測試人員關心用例圖,最終用戶關心邏輯視圖,程序員關心實現視圖,系統工程師關心部署視圖。
RUB強調采用迭代和增量的方法來開發軟件,每次迭代中,之考慮系統的一部分需求,每次增加一些新的功能實現。
好處:
早期就可以對關鍵的、影響大的風險進行處理。
可以提出一個軟件體系結構來指導開發。
處理不可避免的需求變更。
可以較早地得到一個可運行的系統,鼓舞開發團隊的士氣,增強項目成功的信心。
更有效工作的開發過程。
沒有一個項目會使用RUP中所有的東西,用用RUP時要裁剪,裁剪步驟:
1.確定本項目 需要哪些工作流。
2.確定每個工作流要產出哪些制品。
3.確定四個階段之間(初始階段、細化階段、構造階段、移交階段)如何演進。
4.確定每個階段內迭代計劃。
5.規劃工作流內部結構。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |