瀑布模型(wate***ll model) 是乙個專案開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,每個階段都會產生迴圈反饋,因此,如果有資訊未被覆蓋或者發現了問題,那麼最好 「返回」上乙個階段並進行適當的修改,專案開發程序從乙個階段「流動」到下乙個階段,這也是瀑布模型名稱的由來。
優點:
降低軟體開發的複雜度,提高軟體開發過程透明性
為專案提供了按階段劃分的檢查點。提高了軟體開發過程的可管理性,適用於規模較小,較為穩定的專案開發
它提供了乙個模板,這個模板使得分析、設計、編碼、測試和支援的方法可以在該模板下有乙個共同的指導。
缺點:
各個階段的劃分完全固定,階段之間產生大量的文件,極大地增加了工作量。
由於開發模型是線性的,使用者只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。
風險控制能力較弱,當某乙個階段產生錯誤時,需要回歸到前幾個階段重新開始,從而增加了開發風險。
鑑於其文件驅動的性質,當階段之間規定文件較多時,將極大的增加人員和系統的工作量。
增量模型是把待開發的軟體系統模組化,將每個模組作為乙個增量元件,從而分批次地分析、設計、編碼和測試這些增量元件。運用增量模型的軟體開發過程是遞增式的過程。
優點:
將待開發的軟體系統模組化,可以分批次地提交軟體產品,使使用者可以及時了解軟體專案的進展。
每個增量元件的交付後會收到使用者反饋,增加使用者參與度,降低使用者使用風險,使使用者可以及時了解軟體專案的進展
模組化分解專案,提高系統穩定性,適用於規模較大,較為複雜,易變性低的軟體開發,乙個開發周期內的錯誤不會影響到整個軟體系統
開發順序靈活。開發人員可以對元件的實現順序進行優先順序排序,先完成需求穩定的核心元件。當元件的優先順序發生變化時,還能及時地對實現順序進行調整。
缺點:
各個增量元件加入已有的軟體體系結構,必須不破壞已有的結構,這要求具備開放式的體系結構,待開發的軟體系統可以被模組化
需求變化頻繁時,增量模型靈活性容易喪失,使得軟體過程控制較為複雜,很容易退化為邊做邊改模型
必須妥善處理增量元件之間的關係,若增量元件之間關係存在相交等情況,需要全盤系統分析
螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原型的迭代的特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。原型法是指在獲取一組基本的需求定義後,利用高階軟體工具視覺化的開發環境,快速地建立乙個目標系統的最初版本,並把它交給使用者試用、補充和修改,再進行新的版本開發。反覆進行這個過程,直到得出系統的「精確解」,即使用者滿意為止。
優點:
設計上的靈活性,可以在專案的各個階段進行變更。
以小的分段來構建大型系統,使成本計算變得簡單容易。
客戶始終參與每個階段的開發,保證了專案不偏離正確方向以及專案的可控性。
客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。
缺點:
過度依賴風險分析經驗與技術,一旦風險分析過程出現偏差將導致重大損失
只適用於大型軟體,過多的風險管理支出將會影響客戶的最終收益。
過多的迭代次數會增加開發成本,延遲提交時間
三大特點:
統一過程與物件導向方法的關係:統一過程是一種基於uml的、以構架為中心的、用例驅動與風險驅動相結合的迭代增量過程。它將軟體開發過程要素和軟體工件要素整合在統一的軟體工程框架中,是乙個物件導向的程式開發方**。
細化階段:
構造階段:
產品化階段/移交階段:
軟體企業需要根據軟體產品的需求情況,選擇正確的軟體開發模型,並嚴格執行,從而能穩定控制人力資源、工期、預算等方面的風險。從而使得軟體企業可以用多個里程碑對開發流程和開發時間進行管理,提公升團隊的軟體開發效率,最終企業可以按固定節奏生產與發布產品。
系統分析與設計第三次作業
c.對比兩個時代 不同地區產品的用例圖,總結在專案早期,發現創新的思路與方法 通過對比兩個時代不同地區的產品的用例圖,在專案初期,創新主要是通過簡化使用者操作,盡量提供乙個更加方便操作的系統給使用者。同時根據使用者的不同的和更加具體的需求來更新和增加系統的功能。並利用發展成熟的技術支援系統的功能,為...
系統分析與設計第三次作業
用例建模 c.對比兩個時代 不同地區產品的用例圖,總結在專案早期,發現創新的思路與方法 兩者在基礎功能上沒有太大的差別,滿足使用者的基本需求是沒有問題的,當然新時期的特性更多,比如收藏酒店 根據星級選擇酒店等等。這是根據網際網路的發展慢慢發現的使用者需求,一方面受益於技術發展提供更加優越的服務,一方...
系統分析與設計第三次作業
增量模型 螺旋模型 簡述統一過程三大特點,與物件導向的方法有什麼關係?使用者為中心 描述使用者使用產品的故事 架構為重心 軟體產品分解的領域最佳實踐 風險驅動 早期暴露風險 統一過程是乙個物件導向且基於網路的程式開發方 軟體企業為什麼能按固定節奏生產 固定週期發布軟體產品?它給企業專案 管理帶來哪些...