
1. 瀑布式
發展階段一段一段往下推, 一定要一個階段作完才能往下做, 因此要準備的文件相當多, 不適於小型專案開發.

每個階段的產出都是產品, 所以每個階段產出都非常明顯, 但完成的產品會一直因為上一階段的產出而有所變動. 可以減少產品需求更動的影響, 開發成果較易顯現.
3. V型
每個階段都有對等的關係, 從當初的設計, 開發, 架構…等, 都會對應到一個方法來驗證. 強調品管是最有助益的方式, 確保所開發的產品符合設計規格.
4. 原型快速開發
但每個階段都有強烈的回饋, 需求上的溝通確認較容易.
5. 螺旋型
將瀑布模型的最終結果導回源頭, 成為一個往復式的圓圈, 使整個流程具備回饋與檢驗機制, 改善傳統瀑布式的需求更動影響缺點, 結合風險管理與原型快速發展的觀念.6. Extreme Program (XP)
從人的本質考慮如何讓程式設計師, 可以提高品質的軟體 . 主要的精神是『在客戶有系統需求時, 給予及時滿意的可執行程式』.
4 個核心價值觀, 5項最優先的原理及 12 項的基本實務作法.
4個核心價值觀 : 溝通, 簡單, 回饋, 勇氣.
5項最優先的原理
1.提供迅速的回饋
2.簡化,不為未來的可延展性而使程式架構變複雜
3.漸進式改變
4.擁抱改變
5.做有品質的工作
12 項的基本實務作法
1.規劃
2.小量發行
3.簡化設計
4.測試
5.持續性整合
6.程式碼重構
7.雙人程式設計
8.程式碼共享
9.每週40 工時
10.客戶駐點
11.客戶與程式人員使用相同術語
12.遵行程式碼慣例
7. Unified Process(RUP)
由 IBM 提出, 具三大特點, 四個階段和九個核心流程.
主要精神為:1. 專案進行採用 Iterative 程序分階段漸進地完成專案功能;2. 廣泛使用 Visual Modeling 於商業需求分析、系統分析與系統設計;3. 強調架構設計;4. 對每項工作所需要的技術、工具、做法、範本、檢查項目均有詳細的定義,架構完備且具有可調整的彈性。
三大特點
1. 軟體開發是一個疊代(Iteration)過程.
2. 軟體開發是由使用案例(Use Case)驅動.
3. 軟體開發是以構架設計(Architectural Design)為中心.
四個階段
1. 起始階段(Initial phase):進行可行性研究, 定義專案大小及涵蓋範圍, 評估專案所需的能力, 時程與經費, 及資訊系統預期達到之效益, 了解商業模型及需求.
2. 精細規劃階段(Elaboration phase):擬定專案計畫, 系統特性與架構, 確認商業模型及需求, 進行系統分析與設計.
3. 建構階段(Construction phase):建構產品並進行單元, 整合測試.
4. 移轉階段(Transition phase):將產品分批交付給客戶驗收測試, 並進行使用者訓練.
九個核心流程
1.商業建模
2.需求
3.分析和設計
4.實現
5.測試
6.部署
7.配置和變更管理
8.項目管理
9.環境
8. Agile Process
特色有
1. 強調客戶與開發人員形成密切合作的團隊, 因為客戶無法於初期定義完整的規格.
2. 採用 Iterative 與 Incremental 方式分階段進行, 密集 review 是否符合需求.
3. 強調團隊合作, 賦予高度的責任, 團隊有自主權得以因應變化做調整.
4. 流程可以簡單, 但規劃與執行必須嚴謹.
No comments:
Post a Comment