在前期需求明確的情況下盡量采用瀑布模型或改進型的瀑布模型;
在用戶無信息系統(tǒng)使用經(jīng)驗,需求分析人員技能不足情況下一定要借助原型;
在不確定性因素很多,很多東西前面無法計劃情況下盡量采用增量迭代和螺旋模型;
在需求不穩(wěn)定情況下盡量采用增量迭代模型;
在資金和成本無法一次到位情況下可以采用增量模型,軟件產(chǎn)品分多個版本進行發(fā)布;
對于完全多個獨立功能開發(fā)可以在需求階段就分功能并行,但每個功能內(nèi)都應(yīng)該遵循瀑布模型;
對于全新系統(tǒng)的開發(fā)必須在總體設(shè)計完成后再開始增量或并行;
對于編碼人員經(jīng)驗較少情況下建議不要采用敏捷或迭代等生命周期模型;
增量,迭代和原型可以綜合使用,但每一次增量或迭代都必須有明確的交付和出口準(zhǔn)則。
瀑布模型:(70年代的模型)
描述:略
優(yōu)點:突出了需求的重要性
缺點:需求不可能完成
螺旋模型:(80年代的模型)
描述:開發(fā)最初由一系列風(fēng)險驅(qū)動原型驅(qū)動的,然后用一個瀑布模型完成系統(tǒng)
優(yōu)點:可以解決需求問題
缺點:時間太長
在前期需求明確的情況下盡量采用瀑布模型或改進型的瀑布模型;
在用戶無信息系統(tǒng)使用經(jīng)驗,需求分析人員技能不足情況下一定要借助原型;
在不確定性因素很多,很多東西前面無法計劃情況下盡量采用增量迭代和螺旋模型;
在需求不穩(wěn)定情況下盡量采用增量迭代模型;
在資金和成本無法一次到位情況下可以采用增量模型,軟件產(chǎn)品分多個版本進行發(fā)布;
對于完全多個獨立功能開發(fā)可以在需求階段就分功能并行,但每個功能內(nèi)都應(yīng)該遵循瀑布模型;
對于全新系統(tǒng)的開發(fā)必須在總體設(shè)計完成后再開始增量或并行;
對于編碼人員經(jīng)驗較少情況下建議不要采用敏捷或迭代等生命周期模型;
增量,迭代和原型可以綜合使用,但每一次增量或迭代都必須有明確的交付和出口準(zhǔn)則。
瀑布模型:(70年代的模型)
描述:略
優(yōu)點:突出了需求的重要性
缺點:需求不可能完成
螺旋模型:(80年代的模型)
描述:開發(fā)最初由一系列風(fēng)險驅(qū)動原型驅(qū)動的,然后用一個瀑布模型完成系統(tǒng)
優(yōu)點:可以解決需求問題
缺點:時間太長
迭代模型:(90年代的模型)
迭代式模型是RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型
描述:采用4階段和disciplines來組織軟件開發(fā)的生命周期模型
階段:先啟階段,精化階段,構(gòu)建階段,產(chǎn)品化階段
Discipline:由邏輯上相關(guān)的活動組成,定義了如何組織活動來得到一些artifact
特點:以前的模型,都是階段和軟件開發(fā)活動緊密相連的,而迭代模型,階段和軟件活動時分離的
優(yōu)點:更好的適應(yīng)需求管理,更好的范圍管理。缺點:(有待補充)迭代式模型是RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型
描述:采用4階段和disciplines來組織軟件開發(fā)的生命周期模型
階段:先啟階段,精化階段,構(gòu)建階段,產(chǎn)品化階段
Discipline:由邏輯上相關(guān)的活動組成,定義了如何組織活動來得到一些artifact
特點:以前的模型,都是階段和軟件開發(fā)活動緊密相連的,而迭代模型,階段和軟件活動時分離的
優(yōu)點:更好的適應(yīng)需求管理,更好的范圍管理。缺點:(有待補充)