所產生的工作文件,以及在此基礎上形成的產品。
瀑布模型最大的優點有兩個:
這就是開頭說的雕刻玉石的步驟,有精細的設計圖紙,每一步都不可行差踏錯,因為一旦雕壞了,就得摔了玉重來。
這也正是瀑布模型的缺點:週期長,不易變更。
使用者直到專案開發晚期才能瞭解產品的真實面貌和質量。這時候提出變更,成本會非常大。
02 迭代模型
其實,迭代模型專案就是數個小而快的瀑布式專案組成的。
因為,每一次開發迭代都是一次完整地經過所有工作流程的過程:需求、分析設計、實施和測試工作流程。
每一次的迭代都會產生一個可以釋出的產品,這個產品是最終產品的一個子集。
迭代模型沿著螺線進行若干次迭代,圖中的四個象限代表了四個活動:制定計劃、風險分析、實施工程、客戶評估。
使用迭代模型進行軟體開發,專案活動包含以下幾個階段:
迭代模型由風險驅動,強調可選方案和約束條件從而支援軟體的重用,有助於將軟體質量作為特殊目標融入產品開發之中。
因此,迭代模型的風險管理成本較高,在風險分析,進度管理方面,對專案組成員的要求也非常高。
03 增量模型
增量模型是透過對使用者需求的判斷,在定義了使用者要求和系統需求,進行總體構架設計後,採用序列化地建立產品的方法進行開發的過程。
增量模型本質上是迭代的,但其強調:每一個增量均釋出一個可操作產品。
增量模型的特點是引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發。
雖然某個增量包可能還需要進一步適應客戶的需求並且更改,但只要這個增量包足夠小,其影響對整個專案來說是可以承受的。
增量模型有三大優點:
1、在達到初始需求之前可降低成本。2、可快速生產出可使用的系統。3、能夠有計劃地管理技術風險。
但是,在開發過程中,需求的變化是不可避免的。
增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,導致軟體過程的控制失去整體性。
04 原型模型
原型模型採用逐步求精的方法完善原型,使得原型能夠“快速”開發.
原型模型是一種使用者需求驅動的方法。它能減少系統開發的風險,特別是在大型專案的開發中,由於對專案需求的分析難以一次完成,應用原型法效果更為明顯。
原型模型根據其最終保留情況分為非拋棄型和拋棄型兩種:
非拋棄型原型:先根據使用者的最主要的要求,開發出能實現系統最基本功能的一個原型,再根據使用者對原型使用與評價的意見,反覆修改完善原型,直到等到使用者滿意的最終系統為止。
拋棄型原型模型:一般用來描述和驗證使用者需求,可以採用與實際開發所不同的開發工具,建立模擬的資料庫系統,從而達到與使用者交流的最好效果。到使用者需求確定之後即不再繼續開發此原型。
這兩者的目的、手段、結構各有不同。採取拋棄型原型模型往往是為了和使用者更好地溝通,大家一定要注意區分。
05 最後
針對不同型別的專案。應選擇什麼樣的開發模型,應從以下兩方面進行慎重考慮:
i. 實施推廣的難度
專案管理團隊的管理能力和系統開發團隊的技術能力決定了所選擇開發模型的實施難度。選擇一個適合專案團隊特點的開發模型尤為重要。
ii. 專案管理的側重點
專案不同,其側重點也不同,如側重於進度、質量、成本控制、風險管理等等。根據專案的側重點,可以選擇不同的開發模型。
再結合這些特點,選擇最適合專案的開發模型,就能起到事半功倍的效果。
各模型專案特點:
瀑布模型——文件驅動型迭代模型——風險驅動型增量模型——任務驅動型原型模型——需求驅動型
所產生的工作文件,以及在此基礎上形成的產品。
瀑布模型最大的優點有兩個:
這就是開頭說的雕刻玉石的步驟,有精細的設計圖紙,每一步都不可行差踏錯,因為一旦雕壞了,就得摔了玉重來。
這也正是瀑布模型的缺點:週期長,不易變更。
使用者直到專案開發晚期才能瞭解產品的真實面貌和質量。這時候提出變更,成本會非常大。
02 迭代模型
其實,迭代模型專案就是數個小而快的瀑布式專案組成的。
因為,每一次開發迭代都是一次完整地經過所有工作流程的過程:需求、分析設計、實施和測試工作流程。
每一次的迭代都會產生一個可以釋出的產品,這個產品是最終產品的一個子集。
迭代模型沿著螺線進行若干次迭代,圖中的四個象限代表了四個活動:制定計劃、風險分析、實施工程、客戶評估。
使用迭代模型進行軟體開發,專案活動包含以下幾個階段:
迭代模型由風險驅動,強調可選方案和約束條件從而支援軟體的重用,有助於將軟體質量作為特殊目標融入產品開發之中。
因此,迭代模型的風險管理成本較高,在風險分析,進度管理方面,對專案組成員的要求也非常高。
03 增量模型
增量模型是透過對使用者需求的判斷,在定義了使用者要求和系統需求,進行總體構架設計後,採用序列化地建立產品的方法進行開發的過程。
增量模型本質上是迭代的,但其強調:每一個增量均釋出一個可操作產品。
增量模型的特點是引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發。
雖然某個增量包可能還需要進一步適應客戶的需求並且更改,但只要這個增量包足夠小,其影響對整個專案來說是可以承受的。
增量模型有三大優點:
1、在達到初始需求之前可降低成本。2、可快速生產出可使用的系統。3、能夠有計劃地管理技術風險。
但是,在開發過程中,需求的變化是不可避免的。
增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,導致軟體過程的控制失去整體性。
04 原型模型
原型模型採用逐步求精的方法完善原型,使得原型能夠“快速”開發.
原型模型是一種使用者需求驅動的方法。它能減少系統開發的風險,特別是在大型專案的開發中,由於對專案需求的分析難以一次完成,應用原型法效果更為明顯。
原型模型根據其最終保留情況分為非拋棄型和拋棄型兩種:
非拋棄型原型:先根據使用者的最主要的要求,開發出能實現系統最基本功能的一個原型,再根據使用者對原型使用與評價的意見,反覆修改完善原型,直到等到使用者滿意的最終系統為止。
拋棄型原型模型:一般用來描述和驗證使用者需求,可以採用與實際開發所不同的開發工具,建立模擬的資料庫系統,從而達到與使用者交流的最好效果。到使用者需求確定之後即不再繼續開發此原型。
這兩者的目的、手段、結構各有不同。採取拋棄型原型模型往往是為了和使用者更好地溝通,大家一定要注意區分。
05 最後
針對不同型別的專案。應選擇什麼樣的開發模型,應從以下兩方面進行慎重考慮:
i. 實施推廣的難度
專案管理團隊的管理能力和系統開發團隊的技術能力決定了所選擇開發模型的實施難度。選擇一個適合專案團隊特點的開發模型尤為重要。
ii. 專案管理的側重點
專案不同,其側重點也不同,如側重於進度、質量、成本控制、風險管理等等。根據專案的側重點,可以選擇不同的開發模型。
再結合這些特點,選擇最適合專案的開發模型,就能起到事半功倍的效果。
各模型專案特點:
瀑布模型——文件驅動型迭代模型——風險驅動型增量模型——任務驅動型原型模型——需求驅動型