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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

發(fā)布時(shí)間:2024/1/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(瀑布模型,快速原型模型,增量模型,螺旋模型,噴泉模型)各種模型的概念特點(diǎn)優(yōu)點(diǎn)缺點(diǎn)和不同。

(張海藩,呂云翔)著-軟件工程 復(fù)習(xí)記錄

文章目錄

  • 一、瀑布模型
  • 二、快速原型模型
  • 三、增量模型
  • 四、螺旋模型
  • 五、噴泉模型
  • 六、參考資料

一、瀑布模型

在20 世紀(jì)80 年代之前,瀑布模型一直是唯一被廣泛采用的生命周期模型。現(xiàn)在,它仍然是軟件工程中應(yīng)用最廣泛的過(guò)程模型。如圖所示為傳統(tǒng)的瀑布模型。

  • 特點(diǎn):
    (1) 階段間具有順序性和依賴性

    ①必須等前一階段的工作完成之后,才能開始后一階段的工作;②前一階段的輸出文檔就是后一階段的輸入文檔。

    (2) 推遲實(shí)現(xiàn)的觀點(diǎn)

    實(shí)踐表明,對(duì)于規(guī)模較大的軟件項(xiàng)目來(lái)說(shuō),往往編碼開始得越早最終完成開發(fā)工作所需要的時(shí)間反而越長(zhǎng)。

    (3) 質(zhì)量保證的觀點(diǎn)

    ①每個(gè)階段都必須完成規(guī)定的文檔,沒(méi)有交出合格的文檔就是沒(méi)有完成該階段的任務(wù)。②每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。

    傳統(tǒng)的瀑布模型過(guò)于理想化了。事實(shí)上,人在工作過(guò)程中不可能不犯錯(cuò)誤。因此,實(shí)際的瀑布模型是帶“反饋環(huán)”的,如圖所示( 圖中實(shí)線箭頭表示開發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程)。

    加入迭代過(guò)程的瀑布模型

  • 當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯(cuò)誤時(shí),需要沿圖中左側(cè)的反饋線返回前面的階段,修正前面階段的產(chǎn)品之后再回來(lái)繼續(xù)完成后面階段的任務(wù)。

  • 優(yōu)點(diǎn):
    (1) 可強(qiáng)迫開發(fā)人員采用規(guī)范的方法
    (2) 嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔
    (3) 要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證

  • 缺點(diǎn):
    (1) “瀑布模型是由文檔驅(qū)動(dòng)的”,在可運(yùn)行的軟件產(chǎn)品交付給用戶之前,用戶只能通過(guò)文檔來(lái)了解產(chǎn)品是什么樣的。很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需求。

  • "瀑布模型是由文檔驅(qū)動(dòng)的“這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。在可運(yùn)行的軟件產(chǎn)品交付給用戶之前,用戶只能通過(guò)文檔來(lái)了解產(chǎn)品是什么樣的。要求用戶不經(jīng)過(guò)實(shí)踐就提出完整準(zhǔn)確的需求,在許多情況下都是不切實(shí)際的。總之,由于瀑布模型幾乎完全依賴于書面的規(guī)格說(shuō)明,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。

    二、快速原型模型

    快速原型(rapid prototype)是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。下圖描述了快速原型模型(圖中實(shí)線箭頭表示開發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程)。

    快速模型原型

    優(yōu)點(diǎn):軟件產(chǎn)品的開發(fā)基本上是按線性順序進(jìn)行的

    快速原型模型是不帶反饋環(huán)的,這正是這種過(guò)程模型的主要優(yōu)點(diǎn):軟件產(chǎn)品的開發(fā)基本上是按線性順序進(jìn)行的。原型系統(tǒng)已經(jīng)通過(guò)與用戶交互而得到驗(yàn)證,據(jù)此產(chǎn)生的規(guī)格說(shuō)明文檔正確地描述了用戶需求。開發(fā)人員通過(guò)建立原型系統(tǒng)已經(jīng)學(xué)到了許多東西,在設(shè)計(jì)和編碼階段發(fā)生錯(cuò)誤的可能性也比較小。它的優(yōu)點(diǎn)是有助于保證用戶的真實(shí)需要得到滿足。

    快速原型的本質(zhì)是“快速”。開發(fā)人員應(yīng)該盡可能快地建造出原型系統(tǒng),以加速軟件開發(fā)過(guò)程,節(jié)約軟件開發(fā)成本。原型的用途是獲知用戶的真正需求,一旦需求確定了,原型將被拋棄。
    當(dāng)快速原型的某個(gè)部分是利用軟件工具由計(jì)算機(jī)自動(dòng)生成的時(shí)候,可以把這部分用到最終的軟件產(chǎn)品中。

    三、增量模型

    增量模型也稱為漸增模型,如圖所示。使用增量模型開發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。

    增量模型

  • 與瀑布模型和快速原型模型的不同:
    采用瀑布模型或快速原型模型開發(fā)軟件時(shí),目標(biāo)都是一次就把一個(gè)滿足用戶需求的產(chǎn)品提交給用戶。增量模型則與之相反,它分批地逐步向用戶提交產(chǎn)品,每次提交一個(gè)滿足用戶需求子集的可運(yùn)行的產(chǎn)品。
  • 優(yōu)點(diǎn):
    (1) 能在較短時(shí)間內(nèi)向用戶提交可完成一些有用的工作的產(chǎn)品
    (2) 逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來(lái)的沖擊。
    (3) 缺點(diǎn):
    增量模型本身是自相矛盾的。它一方面要求開發(fā)人員把軟件看做一個(gè)整體,另一方面又要求開發(fā)人員把軟件看做構(gòu)件序列,每個(gè)構(gòu)件本質(zhì)上都獨(dú)立于另一個(gè)構(gòu)件。除非開發(fā)人員有足夠的技術(shù)能力協(xié)調(diào)好這一明顯的矛盾,否則用增量模型開發(fā)出的產(chǎn)品可能并不令人滿意。
  • 增量模型分批地逐步向用戶提交產(chǎn)品,每次提交一個(gè)滿足用戶需求子集的可運(yùn)行的產(chǎn)品。整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件,開發(fā)人員一個(gè)構(gòu)件接一個(gè)構(gòu)件地向用戶提交產(chǎn)品。每次用戶都得到一個(gè)滿足部分需求的可運(yùn)行的產(chǎn)品,直到最后一次得到滿足全部需求的完整產(chǎn)品。

    能在較短時(shí)間內(nèi)向用戶提交可完成一些有用的工作的產(chǎn)品,是增量模型的一個(gè)優(yōu)點(diǎn)。增量模型的另一個(gè)優(yōu)點(diǎn)是,逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來(lái)的沖擊。
    使用增量模型的困難是,在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)得便于按這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過(guò)程必須簡(jiǎn)單、方便。也就是說(shuō),軟件體系結(jié)構(gòu)必須是開放的。

    從長(zhǎng)遠(yuǎn)觀點(diǎn)看,具有開放結(jié)構(gòu)的軟件擁有真正的優(yōu)勢(shì),這種軟件的可維護(hù)性明顯好于封閉結(jié)構(gòu)的軟件。盡管采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計(jì),但在設(shè)計(jì)階段多付出的勞動(dòng)將在維護(hù)階段獲得回報(bào)。如果一個(gè)設(shè)計(jì)非常靈活而且足夠開放、足以支持增量模型,那么這樣的設(shè)計(jì)將允許在不破壞產(chǎn)品的情況下進(jìn)行維護(hù)。

    四、螺旋模型

    在軟件開發(fā)過(guò)程中必須及時(shí)識(shí)別和分析風(fēng)險(xiǎn),并且采取適當(dāng)措施以消除或減少風(fēng)險(xiǎn)的危害。構(gòu)建原型是一種能使某些類型的風(fēng)險(xiǎn)降至最低的方法。降低交付給用戶的產(chǎn)品不能滿足用戶
    需要的風(fēng)險(xiǎn)。

    • 螺旋模型的基本思想是,使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看做在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型,如圖所示。圖中帶箭頭的點(diǎn)畫線的長(zhǎng)度代表當(dāng)前累計(jì)的開發(fā)費(fèi)用,螺線旋過(guò)的角度值代表開發(fā)進(jìn)度。


    螺旋模型

  • 基本思想:
  • 使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。

  • 優(yōu)點(diǎn):
  • (1) 對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo);

    (2) 減少了過(guò)多的測(cè)試(浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn);

    (3) 在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開發(fā)之間并沒(méi)有本質(zhì)區(qū)別;

    (4) 它是風(fēng)險(xiǎn)驅(qū)動(dòng)的;

  • 缺點(diǎn):
  • 因?yàn)樗秋L(fēng)險(xiǎn)驅(qū)動(dòng)的,除非軟件開發(fā)人員具有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和這方面的專門知識(shí),否則將出現(xiàn)真正的風(fēng)險(xiǎn)。

    螺旋模型有許多優(yōu)點(diǎn): 對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于巳有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo);減少了過(guò)多測(cè)試( 浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn);更重要的是,在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開發(fā)之間并沒(méi)有本質(zhì)區(qū)別。
    螺旋模型主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目。如果進(jìn)行風(fēng)險(xiǎn)分析的費(fèi)用接近整個(gè)項(xiàng)目的經(jīng)費(fèi)預(yù)算,則風(fēng)險(xiǎn)分析是不可行的。事實(shí)上,項(xiàng)目越大,風(fēng)險(xiǎn)也越大,因此,進(jìn)行風(fēng)險(xiǎn)分析的必要性也越大。使用螺旋模型開發(fā)軟件,要求軟件開發(fā)人員具有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和這方面的專門知識(shí)。

    五、噴泉模型

    迭代是軟件開發(fā)過(guò)程中普遍存在的一種內(nèi)在屬性。經(jīng)驗(yàn)表明,軟件過(guò)程各個(gè)階段之間的迭代或一個(gè)階段內(nèi)各個(gè)工作步驟之間的迭代,在面向?qū)ο蠓缎椭斜仍诮Y(jié)構(gòu)化范型中更常見。如圖所示的噴泉模型是典型的面向?qū)ο笊芷谀P汀?#xff02;噴泉”這個(gè)詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過(guò)程迭代和無(wú)縫的特性。

    噴泉模型

    為避免使用噴泉模型開發(fā)軟件時(shí)開發(fā)過(guò)程過(guò)分無(wú)序,應(yīng)該把一個(gè)線性過(guò)程(例如,快速原型模型或螺旋模型中的中心垂線)作為總目標(biāo)。但是,同時(shí)也應(yīng)該記住,面向?qū)ο蠓缎捅旧硪蠼?jīng)常對(duì)開發(fā)活動(dòng)進(jìn)行迭代或求精。

    六、參考資料

    [1] 張海藩,呂云翔. 軟件工程(第4版)[M]. 北京:人民郵電出版社,2013 軟件工程
    [2] 張海藩,呂云翔. 軟件工程(第4版)學(xué)習(xí)輔導(dǎo)與習(xí)題解析[M]. 北京: 人民郵電出版社,2013

    總結(jié)

    以上是生活随笔為你收集整理的【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。