0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式軟件開發(fā)常用的開發(fā)模型介紹

Q4MP_gh_c472c21 ? 來源:嵌入式基地 ? 作者:嵌入式基地 ? 2021-10-21 14:40 ? 次閱讀

瀑布模型

該模型是由上至下一次性完成整個(gè)項(xiàng)目的開發(fā)方式。該模型一共分為6個(gè)階段,如圖所示:

6d31d264-31ce-11ec-82a8-dac502259ad0.png

在瀑布模型的開發(fā)過程中需要嚴(yán)格的按照這條線執(zhí)行,只有完成當(dāng)前階段之后才能夠進(jìn)行下一階段的開發(fā)任務(wù)。

優(yōu)點(diǎn)

該模型劃分出了每個(gè)階段的檢查點(diǎn),當(dāng)一個(gè)階段開發(fā)完成之后,開發(fā)人員的精力可以全部的投入下個(gè)階段,有利于提高開發(fā)效率,便于項(xiàng)目的管理。

比較適用于前期的軟件開發(fā)與小型軟件系統(tǒng)的開發(fā)中。缺點(diǎn)

無法評(píng)估項(xiàng)目進(jìn)度。因?yàn)椴恢滥膫€(gè)階段會(huì)造成項(xiàng)目的延期

無法適應(yīng)用戶的需求變更,只能等到項(xiàng)目完成后,用戶才能夠看到項(xiàng)目結(jié)果快速原型模型

快速原型模型與瀑布模型相反,項(xiàng)目初期根據(jù)用戶的需求快速構(gòu)建一個(gè)可以運(yùn)行的系統(tǒng)原型,之后向用戶展示,由用戶進(jìn)行審核,提出意見,然后逐步豐富項(xiàng)目需求。當(dāng)需求真正確定后,才正式進(jìn)行項(xiàng)目開發(fā)。模型如圖所示:

6d744dc4-31ce-11ec-82a8-dac502259ad0.png

優(yōu)點(diǎn)

解決需求不明確帶來的風(fēng)險(xiǎn),適用于不能提前確定項(xiàng)目需求的項(xiàng)目缺點(diǎn)

不利于開發(fā)人員對(duì)產(chǎn)品進(jìn)行擴(kuò)展迭代模型

迭代模型又被稱作為增量模型或演化模型,它將一個(gè)完整的軟件拆分成不同的組件,之后對(duì)每個(gè)組件進(jìn)行逐步的開發(fā)測(cè)試,每當(dāng)完成一個(gè)組件就會(huì)向客戶進(jìn)行展示,讓客戶確認(rèn)該組件功能與性能是否達(dá)到要求,最終確定無誤,將組件集成到軟件體系結(jié)構(gòu)中。整個(gè)開發(fā)工作被分為為一系列短期、簡單的小項(xiàng)目,稱為一系列迭代,每一個(gè)迭代都需要經(jīng)過需求分析、軟件設(shè)計(jì)、編碼、測(cè)試這幾項(xiàng)過程,其開發(fā)過程如圖所示:

6db71410-31ce-11ec-82a8-dac502259ad0.png

優(yōu)點(diǎn)

第一個(gè)可交付版本的軟件所需的成本與時(shí)間較小

能夠適應(yīng)客戶的需求變更,當(dāng)需求變化時(shí),只需要修改某一個(gè)組件即可。缺點(diǎn)

如果對(duì)用戶需求的變更沒有整體的規(guī)劃,可能會(huì)變化為“邊做邊開發(fā)”的模式。

最終集成各個(gè)組件時(shí),可能會(huì)出現(xiàn)集成失敗的風(fēng)險(xiǎn)。噴泉模型

該模型主要采用面向?qū)ο蠹夹g(shù)。當(dāng)客戶需求基本類似時(shí),在開發(fā)過程中可以采用面向?qū)ο蟮拈_發(fā)方式,將相同的模塊全部封裝起來,以便于下次功能開發(fā)時(shí)使用。模型如圖所示:

6e150084-31ce-11ec-82a8-dac502259ad0.png

優(yōu)點(diǎn)

支持軟件重用,并且開發(fā)過程無間隙性,分析、設(shè)計(jì)編碼無明顯邊界,可交叉迭代進(jìn)行。使軟件在無法排除重大風(fēng)險(xiǎn)時(shí)有機(jī)會(huì)停止,以減小損失。缺點(diǎn)

由于噴泉模型在各個(gè)階段是重疊的,即每個(gè)對(duì)象都有分析、設(shè)計(jì)和編碼階段,所以需要大量開發(fā)人員。

大量開發(fā)人員不利于項(xiàng)目的管理。

該模型需要嚴(yán)格管理文檔,會(huì)增加審核的難度增大。螺旋模型

螺旋模型融合了瀑布模型,快速原型模型,該模型最大的特點(diǎn)就是引入了其他模型所沒有的風(fēng)險(xiǎn)分析。

螺旋模型將開發(fā)過程都分為幾個(gè)螺旋周期,每個(gè)螺旋周期大致和瀑布模型相符合,在每個(gè)周期開始之前都會(huì)進(jìn)行風(fēng)險(xiǎn)分析。在每個(gè)迭代階段構(gòu)建原型是螺旋模型用以減小風(fēng)險(xiǎn)的途徑。模型如圖所示:

6e83d3d8-31ce-11ec-82a8-dac502259ad0.png

該模型共有四個(gè)象限,每個(gè)象限的含義如下:

制訂計(jì)劃:確定軟件目標(biāo),制訂實(shí)施方案,并且列出項(xiàng)目開發(fā)的限制條件。

風(fēng)險(xiǎn)分析:評(píng)價(jià)所制訂的實(shí)施方案,識(shí)別風(fēng)險(xiǎn)并消除風(fēng)險(xiǎn)。

實(shí)施工程:開發(fā)產(chǎn)品并進(jìn)行驗(yàn)證。

客戶評(píng)估:客戶對(duì)產(chǎn)品進(jìn)行審核評(píng)估,提出修正建議,制訂下一步計(jì)劃。優(yōu)點(diǎn)

螺旋模型強(qiáng)調(diào)風(fēng)險(xiǎn)分析,對(duì)每個(gè)演化層出現(xiàn)的風(fēng)險(xiǎn)都所了解,繼而做出應(yīng)有反應(yīng)。因此特別適合用于龐大、復(fù)雜并且具有高風(fēng)險(xiǎn)的系統(tǒng)。螺旋模型支持用戶需求的動(dòng)態(tài)變化有助于提高產(chǎn)品的適應(yīng)能力。缺點(diǎn)

過多的迭代次數(shù)會(huì)增加開發(fā)成本,延遲提交時(shí)間。敏捷模型

在現(xiàn)代社會(huì)的開發(fā)中,由于業(yè)務(wù)會(huì)經(jīng)??焖俚淖兓虼藭?huì)導(dǎo)致在軟件開發(fā)之前經(jīng)常是無法得到詳細(xì)完整的開發(fā)需求,沒有完整的開發(fā)需求,傳統(tǒng)的軟件開發(fā)模型也就無法適用。

敏捷開發(fā)模型的提出就是為了解決該問題。該模型以客戶的需求為核心,采用迭代,循序漸進(jìn)的方法進(jìn)行開發(fā)。

軟件項(xiàng)目在構(gòu)建初期會(huì)被拆分為多個(gè)相互聯(lián)系而又獨(dú)立運(yùn)行的子項(xiàng)目,然后迭代完成各個(gè)子項(xiàng)目。開發(fā)過程中,各個(gè)子項(xiàng)目都要經(jīng)過開發(fā)測(cè)試。當(dāng)客戶有需求變更時(shí),敏捷模型能夠迅速地對(duì)某個(gè)子項(xiàng)目做出修改以滿足客戶的需求。在這個(gè)過程中,軟件一直處于可使用狀態(tài)。

該模型更重視人在軟件開發(fā)中的作用。軟件開發(fā)過程中,各個(gè)部門需要緊密的合作溝通,為適應(yīng)軟件需求的頻繁改變,客戶可以全程參與到開發(fā)過程中。

敏捷開發(fā)模型的價(jià)值與原則

個(gè)體和交互重于過程和工具

可用軟件重于完備文檔

客戶協(xié)作重于合同談判

響應(yīng)變化重于遵循計(jì)劃優(yōu)點(diǎn)

用戶很快可以看到一個(gè)基線架構(gòu)版的產(chǎn)品

敏捷注重市場(chǎng)快速反應(yīng)能力,客戶前期滿意度高。缺點(diǎn)

注重人員的溝通

忽略文檔的重要性

如果項(xiàng)目人員流動(dòng)大太,會(huì)增加項(xiàng)目維護(hù)難度

軟件之前版本的可重現(xiàn)性、可回溯性較低

對(duì)于較大的項(xiàng)目,人員越多,面對(duì)面的有效溝通越困難。因此,該模型適用于小型項(xiàng)目的開發(fā)。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5085

    文章

    19138

    瀏覽量

    305716
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4958

    瀏覽量

    87610
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3254

    瀏覽量

    48879

原文標(biāo)題:超全!嵌入式軟件開發(fā)常用的開發(fā)模型(附詳細(xì)流程圖)

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式工程師常用開發(fā)工具有哪些?

    仿真器可以模擬復(fù)雜的微控制器和外設(shè),幫助工程師在早期階段進(jìn)行軟件開發(fā)和調(diào)試。這大大縮短了開發(fā)周期,降低了開發(fā)成本。 總之,嵌入式工程師需要熟練掌握這些
    發(fā)表于 12-20 15:29

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備中。這些系統(tǒng)的關(guān)鍵特點(diǎn)是它們與硬件的緊密集成,這意味著
    的頭像 發(fā)表于 12-09 09:38 ?287次閱讀

    一文了解嵌入式軟件開發(fā)的對(duì)象

    以前應(yīng)用場(chǎng)景很單一,嵌入式開發(fā)可能談不上面向?qū)ο?b class='flag-5'>開發(fā)。但現(xiàn)在,做嵌入式開發(fā),沒有面向?qū)ο?b class='flag-5'>開發(fā),你就有點(diǎn)落伍了。 本文結(jié)合個(gè)人經(jīng)驗(yàn)和周立功《抽象接口技術(shù)和組件
    的頭像 發(fā)表于 11-15 10:31 ?363次閱讀
    一文了解<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的對(duì)象

    ECU電控軟件開發(fā)及測(cè)試介紹

    本文重點(diǎn)介紹符合AutoSar架構(gòu)的應(yīng)用軟件開發(fā)、MBD開發(fā)模式下的軟件質(zhì)量評(píng)估與優(yōu)化方案、復(fù)雜場(chǎng)景下的ECU性能壓力測(cè)試方案。
    的頭像 發(fā)表于 09-26 14:25 ?3420次閱讀
    ECU電控<b class='flag-5'>軟件開發(fā)</b>及測(cè)試<b class='flag-5'>介紹</b>

    你認(rèn)為嵌入式軟件開發(fā)的盡頭是什么?

    嵌入式軟件開發(fā)的“盡頭”是一個(gè)富有哲理且多維度的概念,因?yàn)樗粌H關(guān)乎技術(shù)發(fā)展的極限,還涉及到行業(yè)應(yīng)用、市場(chǎng)需求、技術(shù)融合與創(chuàng)新等多個(gè)方面。從幾個(gè)不同的視角來看
    的頭像 發(fā)表于 09-18 09:42 ?472次閱讀
    你認(rèn)為<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>的盡頭是什么?

    嵌入式開發(fā)常用軟件有哪些?

    嵌入式開發(fā)常用軟件有哪些? 對(duì)于初學(xué)嵌入式的朋友們,會(huì)想要了解嵌入式軟件開發(fā)常用
    發(fā)表于 09-09 15:22

    節(jié)點(diǎn)、跨平臺(tái)開發(fā),AWFlow讓嵌入式開發(fā)變得更簡單

    國產(chǎn)化趨勢(shì)對(duì)嵌入式軟件開發(fā)構(gòu)成挑戰(zhàn),導(dǎo)致軟件移植和適配需求激增,影響開發(fā)效率。AWFlow軟件通過節(jié)點(diǎn)化和跨平臺(tái)
    的頭像 發(fā)表于 08-02 08:25 ?377次閱讀
    節(jié)點(diǎn)<b class='flag-5'>式</b>、跨平臺(tái)<b class='flag-5'>開發(fā)</b>,AWFlow讓<b class='flag-5'>嵌入式開發(fā)</b>變得更簡單

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢(shì)之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式
    的頭像 發(fā)表于 07-31 09:25 ?729次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>與AI整合

    嵌入式軟件開發(fā)招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 編輯 尋求:嵌入式軟件工程師 要求:3年以上開發(fā)經(jīng)驗(yàn),音視頻領(lǐng)域應(yīng)用層開發(fā) 地址:北京市昌平區(qū) 郵箱:10
    發(fā)表于 07-26 13:44

    嵌入式開發(fā)者的未來

    和測(cè)試這些產(chǎn)品的硬件和軟件。汽車行業(yè):現(xiàn)代汽車包含大量的嵌入式系統(tǒng),例如車載娛樂系統(tǒng)、發(fā)動(dòng)機(jī)控制單元、自動(dòng)駕駛系統(tǒng)等。在這個(gè)領(lǐng)域,工程師可以從事嵌入式軟件開發(fā)、系統(tǒng)集
    的頭像 發(fā)表于 06-23 08:10 ?383次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>者的未來

    AMD Vitis? Embedded嵌入式軟件開發(fā)套件的功能和特性概述

    Vitis Embedded 是一款獨(dú)立的嵌入式軟件開發(fā)套件,主要用于為 AMD 自適應(yīng) SoC 和 FPGA 中的 AMD 嵌入式處理子系統(tǒng)(基于 ARM 的子系統(tǒng)和 AMD MicroBlaze)
    的頭像 發(fā)表于 04-08 10:50 ?937次閱讀
    AMD Vitis? Embedded<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>套件的功能和特性概述

    嵌入式軟件設(shè)計(jì)的原則分享

    嵌入式軟件開發(fā)如果具有更好的閱讀性、擴(kuò)展性以及維護(hù)性,就需要考慮很多因素。今天給大家分享幾個(gè)嵌入式軟件設(shè)計(jì)的原則。
    發(fā)表于 02-25 10:54 ?697次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設(shè)計(jì)的原則分享

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)? 一、 什么是嵌入式軟件? 嵌入式軟件通常是指
    發(fā)表于 02-19 11:23

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩個(gè)不同的概念,它們?cè)谝恍╆P(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)
    的頭像 發(fā)表于 01-22 15:27 ?2328次閱讀

    基于功能安全的汽車嵌入式軟件單元驗(yàn)證技術(shù)研究

    ,對(duì)滿足功能安全ASIL等級(jí)的汽車嵌入式軟件單元驗(yàn)證技術(shù)進(jìn)行詳細(xì)介紹,從而提高軟件質(zhì)量,減少軟件安全隱患,對(duì)汽車
    的頭像 發(fā)表于 01-07 11:27 ?1065次閱讀
    基于功能安全的汽車<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>單元驗(yàn)證技術(shù)研究