標籤:軟體工程 瀑布模型
為了反映軟體生存周期內各個工作應如何組織,各階段如何銜接,需要軟體開發模型給出直觀圖示表達。軟體開發模型是軟體思想的具體化,是實施在過程模組中的軟體開發方法和工具。
下面來介紹開發模型的特點以及他們的優缺點。
瀑布模型
核心思想是按工序開發軟體,功能,設計與實現分開,各階段分工協作。
結構化分析設計方法,邏輯實現和物理實現分開。
活動為:開發計劃,需求分析和說明,設計,測試,運行維護。
各階段瀑布流水,逐級下落,自上而下。
特徵:
上一個活動方產生的工作對象為輸入
利用輸入,實現本項活動要完成內容
該項活動結果,傳一個下一個活動
對活動評審。
缺點:
缺乏靈活性
無法解決軟體需求不明確。
原型模型
需求分析,軟體開發真和使用者一起定義總目標,划出地區。
快速設計出可見部分,使用者評估,不斷完善。
迭代
優點:
使用者交流多。
低風險開發柔性電腦系統
易於維護,費用低,時間短
缺點:
容易跑題
忽略基本點
文檔更新麻煩,管理困難
鑽進牛角。
螺旋模型
特點:
逐步細化,每個周期都進項完善
持續向使用者想法實現。
螺旋模型是瀑布和演化模型結合,並增加風險分析。
指定計劃,風險分析,實施開發,客戶評估。
優點:
可選方案和約束條件的強調利於軟體重用。
減少測試不合理的風險
維護只是模型的另一個周期,與開發沒有本質區別
噴泉模型
與瀑布模型對應
各階段相互重疊,多次反覆。
對軟體複用和生存周期多項開發活動的繼承提供支援。
開發活動,分析設計和編碼之間不存在明顯邊界。
增量模型
把軟體產品作為一系列的增量構件設計,編碼,整合和測試。
每個構件多個相互作用模組。
分解必須遵守約束條件:當把新構件整合到現有軟體中時,所形成的產品必須是可測試的。
優點:
短時間提交給使用者可完成部分工作的產品
逐步增加功能,同時便於使用者學習。
困難:
把每個新的增量模型構件整合到現有軟體體繫結構中時,不破壞原來開發的產品。
每個模式都有自己的特點,軟體開發的過程中,要選擇適應的模型,結合每種模式的優缺點,通過分析選擇最優的辦法,事半功倍,設計出好的軟體。
【軟體工程】生存期模型(含圖)