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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景

發布時間:2024/1/1 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、瀑布模型

  瀑布模型(Waterfall Model)是一個項目開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,每個階段都會產生循環反饋,因此,如果有信息未被覆蓋或者發現了問題,那么最好“返回”上一個階段并進行適當的修改,項目開發進程從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。包括軟件工程開發、企業項目開發、產品生產以及市場銷售等構造瀑布模型。
  瀑布模型也稱軟件生存周期模型。它在軟件工程中占有重要地位,它提供了軟件開發的基本框架,這比依靠“個人技藝”開發軟件好得多。它有利于大型軟件開發過程中人員的組織、管理,有利于軟件開發方法和工具的研究與使用,從而提高了大型軟件項目開發的質量和效率。
  首先,對于絕大多數人來說,剛接手一個新項目的時候都會不自覺的選擇“瀑布模型”—-我們跟客戶交談后指定需求分析,之后進行簡單的設計,之后編寫代碼,提交,完成。新手會不自覺的選擇這種方案,因為它直白,想到哪一步做到哪一步,需要做什么就做什么。但是,這在有些時候是要付出慘重的代價的。比如A擁有一家跑車公司,可以給客戶自定義生產跑車。有一天一土豪來到A的公司,跟A商談了一個跑車項目,他們談好了車型,材料,馬力等等細節。之后,A帶著團隊做了6個月,做成了這架跑車,交給了土豪。可是土豪開了一天之后回來要求重做,原因是當討論方案的時候,雙方都忘記給跑車安尾燈了!但是給跑車安裝尾燈,就要涉及到整個車尾的重新設計,就要把整輛車拆掉再重新組裝!
   這個模型顯然只適合已經成熟了的項目,團隊接手項目之后如庖丁解牛般行云流水。當團隊接手了創新項目之后,顯然已經不再適合用瀑布模型。

1、瀑布模型有以下優點:

1)為項目提供了按階段劃分的檢查點。
2)當前一階段完成后,您只需要去關注后續階段。
3)可在迭代模型中應用瀑布模型。

2、瀑布模型有以下缺點:

1)在項目各個階段之間極少有反饋。
2)只有在項目生命周期的后期才能看到結果。
3)通過過多的強制完成日期和里程碑來跟蹤各個項目階段。

3、瀑布模型適用場所:

適合于結構化方法,也就是面向過程的軟件開發方法。
軟件項目或產品選擇瀑布模型必須滿足下列條件:
 1)在開發時間內需求沒有或很少變化;
 2)分析設計人員應對應用領域很熟悉;
 3)低風險項目(對目標、環境很熟悉);
 4)用戶使用環境很穩定;
 5)用戶除提出需求以外,很少參與開發工作。

二、原型模型

  原型模型是先借用已有系統作為原型模型,通過“樣品”不斷改進,使得最后的產品就是用戶所需要的。主要是通過向用戶提供原型獲取用戶的反饋,使開發出的軟件能夠真正反映用戶的需求。同時,原型模型采用逐步求精的方法完善原型,使得原型能夠“快速”開發,避免了像瀑布模型一樣在冗長的開發過程中難以對用戶的反饋作出快速的響應。相對瀑布模型而言,原型模型更符合人們開發軟件的習慣,是目前較流行的一種實用軟件生存期模型

1、原型模型的優點:

1)開發人員和用戶在“原型”上達成一致。這樣一來,可以減少設計中的錯誤和開發中的風險,也減少了對用戶培訓的時間,而提高了系統的實用、正確性以及用戶的滿意程度。
2)縮短了開發周期,加快了工程進度。
3)降低成本。

2、原型模型的缺點:

1)當告訴用戶,還必須重新生產該產品時,用戶是很難接受的。這往往給工程繼續開展帶來不利因素。
2)開發者為了使一個原型快速運行起來,往往在實現過程中采用這種手段。
3) 不宜利用原型系統作為最終產品。采用原型模型開發系統,用戶和開發者必須達成一致:原型被建造僅僅是用戶用來定義需求,之后便部分或全部拋棄,最終的軟件是要充分考慮了質量和可維護性等方面之后才被開發。

3、原型模型的適用場所:

 原型模型適用于那些不能預先確切定義需求的軟件系統的開發,更適用于那些項目組成員(包括分析員、設計員、程序員和用戶)不能很好的交流或者通信的情況下。

三、噴泉模型

 噴泉模型是一種以用戶需求為動力,以對象為驅動的模型,主要用于描述面向對象的軟件開發過程。該模型認為軟件開發過程自下而上周期的各階段是相互重疊和多次反復的,就像水噴上去又可以落下來,類似一個噴泉。各個開發階段沒有特定的次序要求,并且可以交互進行,可以在某個開發階段中隨時補充其他任何開發階段中的遺漏。采用噴泉模型的軟件過程如下圖所示:

  噴泉模型主要用于面向對象的軟件項目,軟件的某個部分通常被重復多次,相關對象在每次迭代中隨之加入漸進的軟件成分。各活動之間無明顯邊界,例如設計和實現之間沒有明顯的邊界,這也稱為“噴泉模型的無間隙性”。由于對象概念的引入,表達分析、設計及實現等活動只用對象類和關系,從而可以較容易地實現活動的迭代和無間隙。
  噴泉模型是由B.H.Sollers和J.M.Edwards于1990年提出的一種新的開發模型。噴泉模型主要用于采用面向對象技術的軟件開發項目,噴泉一詞本身就體現了迭代和無間隙的特征。無間隙指在各項活動之間無明顯邊界,如分析、設計和編碼之間沒有明顯的界限。在編碼之前再進行需求分析和設計,期間添加有關功能,使系統得以演化。噴泉模型在系統某個部分常常被重復工作多次,相關對象在每次迭代中隨之加入漸進的系統。由于對象概念的引入,需求分析、設計、實現等活動只用對象類和關系來表達,從而可以較為容易地實現活動的迭代和無間隙,并且使得開發過程自然地包括復用。

1、噴泉模型的優點:

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

2、噴泉模型的缺點:

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

3、噴泉模型適用場所:

 適應于面向對象的軟件開發過程。
 詳情可以參考:噴泉模型(Fountain Model)智庫百科 中的實例

四、V模型

  RAD(Rap Application Development,快速應用開發)模型是軟件開發過程中的一個重要模型,由于其模型構圖形似字母V,所以又稱軟件開發的V模型。
   它通過開發和測試同時進行的方式來縮短開發周期,提高開發效率。V模型大體可以劃分為以下幾個不同的階段步驟:需求分析、概要設計、詳細設計、軟件編碼、單元測試、集成測試、系統測試、驗收測試。對概要設計中表述的各模塊進行深入分析,對各模塊組合進行分析等,這一階段要求達到偽代碼級別,已經把程序的具體實現的功能,現象等描述出來。

1、需求分析
  即首先要明確客戶需要的是什么,需要軟件作成什么樣子,需要有那幾項功能,這一點上比較關鍵的是分析師和客戶溝通時的理解能力與交互性。要求分析師能準確的把客戶所需要達到的功能,實現方式,等表述出來,給出分析結果,寫出需求規格說明書。
2、概要設計
  主要是架構的實現,指搭建架構、表述各模塊功能、模塊接口連接和數據傳遞的實現等項事務。
3、詳細設計
  對概要設計中表述的各模塊進行深入分析,對各模塊組合進行分析等,這一階段要求達到偽代碼級別,已經把程序的具體實現的功能,現象等描述出來。其中需要包含數據庫設計說明。
4軟件編碼
  按照詳細設計好的模塊功能表,編程人員編寫出實際的代碼。
5單元測試
  按照設定好的最小測試單元進行按單元測試,主要是測試程序代碼,為的是確保各單元模塊被正確的編譯,單元的具體劃分按不同的單位與不同的軟件有不同,比如有具體到模塊的測試,也有具體到類,函數的測試等。
6集成測試
  經過了單元測試后,將各單元組合成完整的體系,主要測試各模塊間組合后的功能實現情況,以及模塊接口連接的成功與否,數據傳遞的正確性等,其主要目的是檢查軟件單位之間的接口是否正確。根據集成測試計劃,一邊將模塊或其他軟件單位組合成系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。
7系統測試
  經過了單元測試和集成測試以后,我們要把軟件系統搭建起來,按照軟件規格說明書中所要求,測試軟件其性能功能等是否和用戶需求相符合,在系統中運行是否存在漏洞,等。
8驗收測試
  主要就是用戶在拿到軟件的時候,在使用現場,會根據前邊所提到的需求,以及規格說明書來做相應測試,以確定軟件達到符合效果的。

1、V模型的優點:

1)縮短開發周期
2)提高開發效率

2、V模型的缺點:

  V模型僅僅把測試過程作為在需求分析、系統設計及編碼之后的一個階段,忽視了測試對需求分析,系統設計的驗證,需求的滿足情況一直到后期的驗收測試才被驗證。
  解決的思路是,當一個軟件開發的時候,研發人員和測試人員需要同時工作,測試在軟件做需求分析的同時就會有測試用例的跟蹤,這樣,可以盡快找出程序錯誤和需求偏離,從而更高效的提高程序質量,最大可能的減少成本,同時滿足用戶的實際軟件需求。

3、V模型適用場所:

  模式是一種傳統軟件開發模型,一般適用于一些傳統信息系統應用的開發,而一些高性能高風險的系統、互聯網軟件,或一個系統難以被具體模塊化的時候,就比較難做成V模式所需的各種構件,需要更強調迭代的開發模型或者敏捷開發模型。

總結

以上是生活随笔為你收集整理的软件工程 瀑布模型、原型模型、喷泉模型和V模型的优缺点及适用场景的全部內容,希望文章能夠幫你解決所遇到的問題。

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