軟件生命期模型

軟件生命期模型

軟件生存期模型是從軟件項目需求定義直至軟件經使用後廢棄位置,跨越整個生存期的系統開發,運作和維護所實時的全部過程、活動和任何的結構框架

各個階段介紹

  1. .需求分析:雖然是第一步, 但是這一步至關重要,因爲它包含了獲取害戶需求與定義的信息,以及對需要解決的問題所能達到的最清斷的描述。分析包含了理解客戶的商業環境與約束,產品必需實現的功能,產品必需達到的性能水平,以及必需實現兼容的外部系統。在這一階段所使用的技術 包括採訪害戶,使用案例和軟件特色的“購物清單"。分析階段的結果通常是-份正式的需求說明書, 這也是下一階段的起始信息資料。
  2. 設計:這一步包括了“定義硬件和軟件架構、組件、模塊、界面和數據等來滿足指定的需求。“它包括了硬件和軟件架構的定義,確定性能和安全參數,設計數據存儲容器和限制,選擇集成開發環境(IDE) 和編程語言,並指定異常處理、資源管理和界面連接性的策曙。這一階段還強調了用戶接口的設計,包括與瀏覽和可用性相關的問題,這一階段的輸出結果是一份或多份設計說明書,這些說明書將在下一階段使用。
  3. 編碼:這一步包含了根據設計說明書來構建產品,通常,這一階段是由開發團隊來執行的,開發團隊包括了程序員、界直設計師和其他的專家,他們使用的工具包括編譯軟件、調試軟件.解釋軟件和媒體編輯軟件。這一階段將生成一個或多個產品組件,它們是根括每一條編碼標準而編寫的,並且經過了調試、測試並進行集成以滿足系統架構的需求。對於大型開發團隊而言,我建議使用版本控制工具來追蹤代碼樹的變化,這樣在出現問題的時候可以還原以前的版本。
  4. 安裝測試:在這一階段, 獨立的組件和集成後的組件都將進行系統性驗證以確保沒有錯誤並且完全符合第一階段所制定的需求,一個獨立的質量保證小組將定義“測試實例"來評估產品是完全實現了需求還是隻有部分滿足。有三種測試方法可以使用:對獨立的代碼模塊進行單元測試;對集成產品進行系統測試;以及客戶參與的驗收測試。如果發現了缺陷,將會對問題進行記錄並向開發團隊反饋以進行修正。在這一階段,還有產品文檔會經過準備、評估併發布,比如用戶手冊等。在產品通過測試並且被鑑定爲符合需求的產品後,就會進入到安裝階段,這一階段包括了在客戶站點進行系統或產品的安裝和使用,這可以通過互聯網或者物理媒介進行,通常交付使用的產品都帶有正式的版本號,這爲今後的產品升級提供了便利。
  5. 維護:這一階段發生在安裝之後,包括了對整個系統或某個組件進行修改以改變屬性或者提升性能,這些修改可能源於客戶的需求變化或者系統使用中沒有覆蓋到的缺陷,通常,在維護階段對產品的修改都會被記錄下來併產生新的發佈版本以確保客戶可以從升級中獲益。

模型分類

瀑布模型

  • 典型瀑布模型的劃分
    • 問題定義-》問題研究-》需求分析-》軟件設計-》編碼-》測試 -》維護
  • 特點
    • 瀑布模型具有頂序性和依歡性
      • 以上一項活動中的結果作爲本階段的輸入。
      • 利用這一輸入實施該項活動應完成的內容
      • 給出該項活動的工作成果,作爲輸出傳給下一項活動
      • 對該項活動實施的工作進行評審,若其工作得到確認,則繼續下- -項活動
    • 瀑布項型最爲突出的缺點是該模型缺乏靈活性

原型模型

該模型可以表示爲:第-次這代(需求->設計>實現>測試>集成)->反饋>第二次這代(需求>設計>實現>測試>集成)->反饋…

  • 基本思想
    • 在獲取一組基本的需求定義後,利用高級軟件工具的開發環境,快速的建立一個目標系統的最初版本,並吧它交給用戶試用,補充和修改,再進行新的版本開發,直到用戶滿意爲止
    • 特徵
      • 它是一個可運行的系統
      • 沒有固定的生存期
      • 從需求分析到最終產品都可做原型,即可爲不同月標做原型
      • 它必須快速、廉價
  • 優缺點
    • 優點
      • 可處理規糊需求,開發者和用戶可以充分溝通
      • 原型系統可作爲培訓環境,有利於用戶培訓和開發同步
      • 原型系統給用戶機會更改原先設想,不盡合理的系統
      • 原型系統可低風險開發柔性較大的計算機系統
      • 原型系統使系統更易維護,對用戶更友好的機會
      • 原型系統使總的開發費用降低,時間縮短
    • 缺點
      • 資源規劃和管理較爲困難,隨時更新文檔也帶來麻煩
      • 長期在原型環境上開發,容易忽略用戶環境和原型環境的差別
      • 使用範圍
      • 輔助分析和確定用戶需求
      • 作爲軟件設計的一種工具
      • 作爲一種解決不確定性問題的工具
      • 作爲-種實驗工月
      • 作爲同步培訓工具
      • 一次性的應用
      • 作爲軟件維護的輔助工具

在這裏插入圖片描述

噴泉模型

  • 認爲軟件生命同期的各個階段是相互重疊和多次反覆的
  • 主要用於面向對象方法中
  • 噴泉模型是一種以用戶需求爲動力,以對象作爲驅動的硬型,適合於面向對象的開發方法。它克服了瀑布模型不支持軟件重用和多項開發活動集成的侷限性。噴泉模型是 開發過程具有迭代型和無間隊性,迭代意味着模型中的開發活動常常需要車復多次。在迭代過程中不斷地完善軟件系統。無間隙是指開發活動(如分析、設計、編碼〉之 間不存在明顯的邊界,也就是說,它不像瀑布模型那樣,需求分析活動結束後纔開始設計活動,設計活動結束後纔開始編碼活動,而是允許開發活動交叉、迭代地進行。
    該模型認爲軟件開發過程自下而上週期的各階段是相互迭代和無問院的特性。軟件的某個部分常常被重複工作多次,相關對象在每次迭代中隨之加入漸進的軟件成分。由於對 象概念的引入,表達分析.設計、實現等活動只用對象類和關係,從而可以較爲容易地實現活動的迭代和無問隙,使其開發自然地包括複用。噴泉模型不像瀑布模型那樣, 需要分析活動結束後纔開始設計活動,設計活動結束後纔開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。其優點是可以提高軟件項目開發效 率,節省開發時間,適應於面向對象的軟件開發過程。由於噴泉模型在各個開發階段是重疊的,因此在開發過程中需費大的開發人員,因此不利於項目的管理。此外這種模 型要求嚴格管理文檔,使得審覈的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。
  • 優缺點
    • 優點
      • 噴泉模型不像瀑布模型那樣,需要分析活動結束後纔開始設計活動,設計活動結束後纔開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進 行開發。其優點是可以提高軟件項目開發效率,節省開發時間,適應於面向對象的軟件開發過程。
    • 缺點
      • 由於噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利於項目的管理。此外這種模型要求嚴格管理文檔,使得審覈的難度加 大,尤其是面對可能隨時加入各種信息、需求與資料的情況。
        在這裏插入圖片描述

螺旋模型

  • 在原型基礎上, 進行多次原型反覆增加風險評估,形成螺旋模型

  • 輾旋模型的圖像表示爲,在笛卡爾座標的四個象限代表了四個活動

  • 優缺點

    • 優點

      • 設計上的靈活性,可以在項目的各個階段進行變更。

      • 以小的分段來構建大型系統使成本計算變得簡單容易。

      • 客戶始終參與每個階段的開發,保證了項目不偏離正確方向以及項目的可控性。

      • 隨着項目推進,客戶始終掌握項目的最新信息.從而他或她能夠和管理層有效地交互。

      • 客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。

    • 缺點

      • 很難讓用戶確信這種演化方法的結果是可以控制的。建設週期長,而軟件技術發展比較快,所以經常出現軟件開發完畢後,和當前的技術水平有了較大的差距,
      • 無法滿足當前用戶需求。
        在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章