日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程 – 开发模型

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程 – 开发模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件工程 – 開發模型

為了指導軟件開發,可以用不同的方式將軟件生命周期中的所有開發活動組織組織起來從而形成不同的開發模型。

瀑布模式

瀑布模型嚴格遵守軟件生命周期各階段的固定順序:計劃、分析、設計、編程、測試和維護,上一階段完成才能進入到下一階段,整個模型像一個飛流直下的瀑布一下,如圖所示?

特點:

  • 階段間具有順序性和依賴性
  • 前一階段完成后,才能開始后一階段
  • 前一階段的輸出文本為后一階段的輸入文本
  • 推遲實現的觀點
  • 質量保證:
  • 每個階段必須交付出合格的文檔
  • 對文檔進行審核

缺點:

  • 開始需要把需求做到最全
  • 懼怕用戶測試中的反饋,懼怕需求變更
  • 過于理想化缺乏靈活性

螺旋模型

限制條件:

  • 適應于內部的大規模軟件開發:螺旋模型強調風險分析,許多客戶都無法接受和相信這種分析因此
  • 適合于大規模軟件項目(執行風險分析將大大影響項目的利潤,進行風險分析就毫無意義)
  • 軟件開發人員應該擅長尋找可能的風險,準確地分析風險,否則將會帶來更大的風險

優點:

  • 設計上的靈活性,可以在項目的各個階段進行變更.
  • 以小的分段來構建大型系統,使成本計算變得簡單容易
  • 客戶始終參為保證了項目不偏離正確方向以及項目的可控性
  • 客戶始終掌握項目的最新信息,從而他或她能夠和管理層有效地交互.
  • 客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品.

缺點:

  • 很難讓用戶確信這種演化方法的結果是可以控制的.建設周期長,而軟件技術發展比較快,所以經常出現軟件開發完畢后,和當前的技術水平有了較大的差距,無法滿足當前用戶需求.

核心:

  • 在于您不需要在剛開始的時候就把所有事情都定義的清清楚楚.在定義最重要的功能時,去實現它,然后聽取客戶的意見,之后再進入到下一個階段.如此不斷輪回重復,直到得到您滿意的最終產品

每輪循環包含如下六個步驟:

  • 確定目標,可選項,以及強制條件
  • 識別并化解風險
  • 評估可選項
  • 開發并測試當前階段
  • 規劃下一階段
  • 確定進入下一階段的方法步驟.
  • 模型:

    快速原型模型

    優缺點:

    • 優點:  克服瀑布模型的缺點,減少由于軟件需求不明確帶來的開發風險。  
    • 缺點:  所選用的開發技術和工具不一定符合主流的發展;快速建立起來的系統結構加上連續的修改可能會導致產品質量低下。

    原型類型:

    • 探索型原型:  目的是要型清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對開發目標模糊,
    • 實驗型原型:  主要用于設計階段,考核;實現方案是否合適,能否實陋
    • 演化型原型:  主要用于及早向用戶提交一個原型系統,該原型系統或者包含系統的框架,或者包含系統的主要功能,在得到用戶的認可后,將原型系統不斷擴充演變為最終的軟件系統

    原型的運用方式:

    • 拋棄策略是將原型用于開發過程的某個階段,促使該階段的開發結果更加完整、準確、一致、可靠,該階段結束后,原型隨之作廢。探索型和實驗型就是采用此策略的。
    • 附加策略是將原型用于開發的全過程,原型由最基本的核心開始,逐步增加新的功能和新的需求,反復修改反復擴充,最后發展為用戶滿意的最終系統,演化型快速原型就是采用此策略

    模型:

    增量模型

    構件思想:

    • 第一構件完成軟件提供的基本最核心的功能
    • 后面的增構件是為了第一構件提供服務提供功能的
    • 而且避免吧難題退后,首先完成的應該是高風險和重要部分

    困難:

    • 每個新的構件集成到現有的軟件結構中必須破壞原來以開發的產品,所以必須定義很好的接口

    優點:

    • 短時間內向用戶提供可完成部分工作的產品
    • 逐步增加產品功能可以使用戶有時間了解和適應新產品
    • 開放結構的軟件擁有的維護性明顯好于封閉結構的軟件

    缺陷:

    • 容易退化為邊做邊改模型,從而使軟件過程的控制失去整體性
    • 如果增量包之間存在相交的情況且未很好處理,則必須做全盤系統分析

    模型:

    噴泉模型

    優點:

    • 噴泉模型不像瀑布模型那樣,需要分析活動結束后才開始設計活動,設計活動結束后才開始編碼活動.該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發.其優點是可以提高軟件項目開發效率,節省開發時間,適應于面向對象的軟件開發過程.

    缺點:

    • 由于噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利于項目的管理.此外這種模型要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況.

    模型:

    演化模型

    思想:

    • 演化模型主要針對事先不能完整定義需求的軟件開發.用戶可以給出待開發系統的核心需求,并且當看到核心需求實現后,能夠有效地提出反饋,以支持系統的最終設計和實現

    開發順序:

    • 根據用戶的核心需求,設計,編碼,測試,后提交用戶
    • 精化:根據以能滿足用戶核心需求的核心系統上,增加用戶反饋的其他全部功能

    優點:

    • 任何功能一經開發就能進入測試以便驗證是否符合產品需求
    • 開發中的經驗教訓能反饋應用于本產品的下一個循環過程,大大提高質量與效率
    • 大大有助于早期建立產品開發的配置管理

    缺點:

    • 主要需求開始并不完全弄清楚的話,會給總體設計帶來困難及削弱產品設計的完整性,并因而影響產品性能的優化及產品的可維護性
    • 缺乏嚴格過程管理的話,這生命周期模型很可能退化為“試-錯-改”模式
    • 不加控制地讓用戶接觸開發中尚未測試穩定的功能,可能對開發人員及用戶都產生負面的影響

    提供幾個習題來測試

    1、某公司計劃開發一種產品,技術含量很高,與客戶相關的風險也很多,則最適于采用( )開發過程模型。?
    A.瀑布?
    B.原型?
    C.增量?
    D.螺旋

    2、某公司要開發一個軟件產品,產品的某些需求是明確的,而某些需求則需要進一步細化。由于市場競爭的壓力,產品需要盡快上市,則開發該軟件產品最不適合采用( )模型。

    A.瀑布?
    B.原型?
    C.增量?
    D.螺旋

    3、( )開發過程模型最不適用開發初期對軟件需求缺乏準確全面認識的情況。?
    A.瀑布?
    B.演化?
    C.螺旋?
    D.增量

    習題答案

    1.、D 所給出的這些模型中僅有螺旋模型考慮風險因素。?
    2、 A 瀑布模型(Waterfall Model) 是一個項目開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,每個階段都會產生循環反饋,因此,如果有信息未被覆蓋或者發現了問題,那么最好 “返回”上一個階段并進行適當的修改,項目開發進程從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。包括軟件工程開發、企業項目開發、產品生產以及市場銷售等構造瀑布模型。?
    3、A 瀑布模型是一種經典的開發模型,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,每個階段都會產生循環反饋,因此,如果有信息未被覆蓋或者發現了問題,那么最好 “返回”上一個階段并進行適當的修改,項目開發進程從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。?
    瀑布模型的突出缺點是不適應用戶需求的變化。

    總結

    以上是生活随笔為你收集整理的软件工程 – 开发模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。