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

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

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

嵌入式軟件開(kāi)發(fā)的十二大基本要素(三):DevOps

IAR愛(ài)亞系統(tǒng) ? 來(lái)源:IAR愛(ài)亞系統(tǒng) ? 2023-05-12 11:38 ? 次閱讀

在上文《嵌入式軟件開(kāi)發(fā)的十二大基本要素(二):代碼性能》中,我們分析了代碼性能如何具體影響投資回報(bào)率(ROI)和總擁有成本(TCO)。

本文為白皮書(shū)系列第三部分,將分析工作流程對(duì)生產(chǎn)力的具體影響。

一般來(lái)說(shuō),在現(xiàn)代開(kāi)發(fā)工作流程中,每增加一行代碼或修改軟件都會(huì)導(dǎo)致軟件項(xiàng)目的重新構(gòu)建。在這種情況下,如果代碼太多,就需要很長(zhǎng)的時(shí)間來(lái)構(gòu)建,從而導(dǎo)致開(kāi)發(fā)周期因?yàn)檫@個(gè)等待時(shí)間而增加。

這如何轉(zhuǎn)化為公司的優(yōu)勢(shì)?

Steve McConnell 的《Software Estimation: Demystifying the Black Art》一書(shū)中包含了一張從估算模型 Cocomo II(建設(shè)性成本模型)中得出的圖表,該圖表以人月為單位的工作與以代碼行 (SLOC) 為單位的項(xiàng)目規(guī)模作對(duì)比。如果我們研究 COCOMO II 工作量公式:

工作量 = 2.94 * EAF * (KSLOC)E

EAF:是由成本驅(qū)動(dòng)因素得出的工作量調(diào)整系數(shù)。

E:是由五個(gè)規(guī)模驅(qū)動(dòng)因素得出的指數(shù)。

KSLOC:以千代碼行為單位。

工作量公式中的 EAF 僅僅是與項(xiàng)目的每個(gè)成本驅(qū)動(dòng)因素對(duì)應(yīng)的工作量乘數(shù)的乘積。

觀(guān)察下圖中從《COCOMO II - 模型定義手冊(cè)》中提取的成本驅(qū)動(dòng)因素,有很大的比重。在最壞的情況下,極低的評(píng)級(jí)水平對(duì)工作量調(diào)整系數(shù) (EAF) 的影響 = 1.40 (1.20*1.17),在最好的情況下,評(píng)級(jí)水平非常高,EAF=0.66(0.84*0.78)。

75a66e2c-f005-11ed-90ce-dac502259ad0.png

圖表:語(yǔ)言和工具經(jīng)驗(yàn)(LTEX)和軟件工具的使用(TOOL)

這將直接影響整個(gè)開(kāi)發(fā)團(tuán)隊(duì)的生產(chǎn)力。對(duì)企業(yè)的影響可以在 http://softwarecost.org/tools/COCOMO/ 免費(fèi)計(jì)算和調(diào)整。這同樣適用于設(shè)計(jì)和代碼生成工具。自動(dòng)生成的代碼的構(gòu)建時(shí)間較長(zhǎng),會(huì)影響到設(shè)計(jì)本身的生產(chǎn)力,因?yàn)樵谶M(jìn)行設(shè)計(jì)之前,需要對(duì)更改或新的邏輯進(jìn)行測(cè)試并集成到整個(gè)系統(tǒng)中。

根據(jù)不同的客戶(hù)反饋,以及在客戶(hù)案例中所述,與其他商業(yè)工具相比,IAR Embedded Workbench 的構(gòu)建速度至少是其兩倍。這也同樣適用于 IAR 功能安全版本的產(chǎn)品。而跨平臺(tái)支持的 IAR 構(gòu)建工具在使用相同的硬件主機(jī)的 Linux 上的構(gòu)建時(shí)間,顯示出更好的性能(快 4 倍)。在 Ubuntu 上執(zhí)行標(biāo)準(zhǔn) C-STAT 靜態(tài)分析檢查所需時(shí)間是在 Windows 上的 25%。

更快地交付構(gòu)建和分析結(jié)果意味著持續(xù)交付 (CD) 能夠更快地收斂。

75c9e38e-f005-11ed-90ce-dac502259ad0.png

圖表:IAR Embedded Workbench與IAR構(gòu)建工具的構(gòu)建時(shí)間比較

圖中顯示的構(gòu)建時(shí)間使用了:

– 574個(gè)C/C++源文件

– 最高的編譯器優(yōu)化級(jí)別

– 項(xiàng)目構(gòu)建后進(jìn)行分析

– 比較基于相同的主機(jī)硬件,Intel i7-8700K,24 GB RAM

– 使用 1、2、4和8個(gè)CPU內(nèi)核

同樣,一般來(lái)說(shuō),在 Ubuntu 上使用 IAR 構(gòu)建工具構(gòu)建嵌入式軟件項(xiàng)目比在 Windows 上使用 IAR Embedded Workbench 構(gòu)建更快,通常前者構(gòu)建項(xiàng)目的時(shí)間不到后者的 50%。

此外,在現(xiàn)代嵌入式開(kāi)發(fā)工作流程中,采用自動(dòng)化流程來(lái)確保質(zhì)量并持續(xù)構(gòu)建和測(cè)試是一個(gè)基本需求。當(dāng)使用跨平臺(tái)框架中底層命令行工具實(shí)現(xiàn)了相同功能的正確 DevOps 實(shí)踐時(shí),嵌入式軟件研發(fā)團(tuán)隊(duì)可以實(shí)現(xiàn)更短的新功能上市時(shí)間。

IAR 解決方案支持 Ubuntu、Red Hat 和 Windows 上的現(xiàn)代可擴(kuò)展構(gòu)建服務(wù)器拓?fù)浣Y(jié)構(gòu),可用于 CI/CD 管道,包括虛擬機(jī)、容器 (Docker) 和自我托管的運(yùn)行器。

審核編輯 :李倩

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

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298578
  • 軟件開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    586

    瀏覽量

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

    關(guān)注

    1

    文章

    3032

    瀏覽量

    48363

原文標(biāo)題:嵌入式軟件開(kāi)發(fā)的十二大基本要素(三):DevOps

文章出處:【微信號(hào):IAR愛(ài)亞系統(tǒng),微信公眾號(hào):IAR愛(ài)亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式系統(tǒng)的三要素

      嵌入式系統(tǒng)三要素  嵌入式系統(tǒng)的個(gè)基本要素嵌入性、專(zhuān)用性與計(jì)算機(jī)系統(tǒng)。 ?。?)
    發(fā)表于 06-28 08:48

    嵌入式軟件開(kāi)發(fā)與非嵌入式軟件開(kāi)發(fā)的區(qū)別?

    嵌入式軟件開(kāi)發(fā)與非嵌入式軟件開(kāi)發(fā)區(qū)別?設(shè)備驅(qū)動(dòng)開(kāi)發(fā)與裸機(jī)驅(qū)動(dòng)開(kāi)發(fā)區(qū)別?
    發(fā)表于 04-02 06:29

    嵌入式系統(tǒng)的個(gè)基本要素

    1.嵌入式系統(tǒng)定義:以應(yīng)用為中心,計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可剪裁,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能,成本,體積,可靠性,功耗嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)。2.嵌入式系統(tǒng)的個(gè)基本要素:
    發(fā)表于 10-27 08:13

    嵌入式系統(tǒng)的個(gè)基本要素

    統(tǒng),后者是設(shè)備4.嵌入式系統(tǒng)的個(gè)基本要素嵌入型、專(zhuān)用性、計(jì)算機(jī)系統(tǒng)若干個(gè)嵌入式系統(tǒng)的例子:嵌入式
    發(fā)表于 12-22 06:48

    什么是嵌入式軟件開(kāi)發(fā)

    嵌入式軟件開(kāi)發(fā)又是指什么?   隨著嵌入式軟件系統(tǒng)結(jié)構(gòu)越來(lái)越復(fù)雜,嵌入式軟件
    發(fā)表于 04-20 08:43 ?8684次閱讀

    嵌入式軟件開(kāi)發(fā)與Embedded-GIS

    1.嵌入式軟件開(kāi)發(fā) 市場(chǎng)現(xiàn)狀 嵌入式操作系統(tǒng) 嵌入式軟件開(kāi)發(fā)特點(diǎn) 嵌入式
    發(fā)表于 02-28 10:39 ?36次下載

    ARM嵌入式軟件開(kāi)發(fā)

    ARM嵌入式軟件開(kāi)發(fā)ARM嵌入式軟件開(kāi)發(fā)ARM嵌入式軟件開(kāi)發(fā)
    發(fā)表于 01-15 17:29 ?64次下載

    嵌入式軟件開(kāi)發(fā)的優(yōu)勢(shì)分析

    為什么當(dāng)今嵌入式行業(yè)會(huì)如此受歡迎呢?我們從事嵌入式軟件開(kāi)發(fā)有什么好處嗎?小編就來(lái)說(shuō)說(shuō)我的看法吧,嵌入式軟件開(kāi)發(fā)的優(yōu)勢(shì)我們可以從幾點(diǎn)來(lái)看。
    的頭像 發(fā)表于 12-21 15:23 ?5112次閱讀

    嵌入式系統(tǒng)個(gè)基本要素_嵌入式系統(tǒng)應(yīng)用實(shí)例

    嵌入式系統(tǒng)的個(gè)基本要素嵌入性、專(zhuān)用性與計(jì)算機(jī)系統(tǒng)。
    發(fā)表于 08-25 11:01 ?9782次閱讀
    <b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>三</b>個(gè)<b class='flag-5'>基本要素</b>_<b class='flag-5'>嵌入式</b>系統(tǒng)應(yīng)用實(shí)例

    嵌入式系統(tǒng)的個(gè)基本要素與應(yīng)用實(shí)例

    嵌入式系統(tǒng)的個(gè)基本要素嵌入性、專(zhuān)用性與計(jì)算機(jī)系統(tǒng)。 (1)嵌入性是把軟件
    的頭像 發(fā)表于 12-13 14:25 ?1699次閱讀

    嵌入式軟件開(kāi)發(fā)做什么?嵌入式開(kāi)發(fā)培訓(xùn)學(xué)哪些

    嵌入式行業(yè)可以說(shuō)從幕后走到前臺(tái),大家對(duì)他都很熟悉了,我國(guó)嵌入式人才缺口每年在50萬(wàn)左右,相關(guān)調(diào)查報(bào)告稱(chēng)嵌入式軟件開(kāi)發(fā)是未來(lái)幾年最熱門(mén)和最受歡迎的職業(yè)之一。但是還有很多人不知道
    發(fā)表于 11-03 10:36 ?19次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b>做什么?<b class='flag-5'>嵌入式開(kāi)發(fā)</b>培訓(xùn)學(xué)哪些

    IAR嵌入式軟件行業(yè)白皮書(shū) 中文版《嵌入式軟件開(kāi)發(fā)十二大基本要

    匯集了IAR內(nèi)部資深專(zhuān)家技術(shù)和經(jīng)驗(yàn)的嵌入式軟件行業(yè)白皮書(shū)《嵌入式軟件開(kāi)發(fā)十二大基本要素》。該白
    發(fā)表于 02-28 14:18 ?0次下載

    嵌入式軟件開(kāi)發(fā)基本要素之代碼質(zhì)量

    IAR 的嵌入式開(kāi)發(fā)解決方案涵蓋了所有的嵌入式軟件開(kāi)發(fā)基本要素,增加了提高生產(chǎn)力和效率的價(jià)值,保證了質(zhì)量,并加快了上市時(shí)間。這一切可以通過(guò)投資回報(bào)率(ROI)和總擁有成本(TCO)的用
    發(fā)表于 05-15 16:36 ?523次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b><b class='flag-5'>基本要素</b>之代碼質(zhì)量

    嵌入式軟件開(kāi)發(fā)流程

    電子發(fā)燒友網(wǎng)站提供《嵌入式軟件開(kāi)發(fā)流程.ppt》資料免費(fèi)下載
    發(fā)表于 11-17 14:37 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開(kāi)發(fā)</b>流程

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

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