RM新时代网站-首页

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

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

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

嵌入式軟件架構(gòu)的特點有哪些

麥辣雞腿堡 ? 來源:嵌入式系統(tǒng) ? 作者:嵌入式系統(tǒng) ? 2023-12-07 15:20 ? 次閱讀

1 問題背景

一切為了進度,軟件開發(fā)的首要目標(biāo)就是以最快的速度滿足客戶需求,“快”是第一要素,但是短期指標(biāo);可復(fù)用性、擴展性等長期指標(biāo)被忽略,導(dǎo)致后期的維護、功能增減調(diào)整都非常困難。

一個小的業(yè)務(wù)需求會牽一發(fā)而動全身,一個小的故障修復(fù)可能引入更多的問題。整個系統(tǒng)包袱越來越沉重,軟件的質(zhì)量和開發(fā)周期越來越不可控。

排除軟件開發(fā)人員的水平和項目進度的原因,主要影響因素還包括軟件架構(gòu),和軟件缺陷的修復(fù)能力。對于量產(chǎn)軟件,架構(gòu)問題是先天性的,后期很難大改,只能前期預(yù)防;軟件缺陷問題是無法避免的,只能期望快速修復(fù)。拋磚引玉,也可先參看《嵌入式軟件bug從哪來,怎么去》。

2 軟件架構(gòu)問題

2.1 軟件架構(gòu)的特點

1. 承載力

正如一艘船最多能裝多少人,從軟件方面來說是軟件架構(gòu)能承載多少業(yè)務(wù)或功能需求,當(dāng)然,這需要架構(gòu)師一開始架構(gòu)系統(tǒng)的時候,就需要有一定的預(yù)見性。但也沒必要為了極小概率事件增加過多的冗余。

2. 易用性

易用性決定了軟件的整體開發(fā)效率,好的架構(gòu)會讓團隊成員容易上手,子系統(tǒng)容易對接,開發(fā)效率高,各模塊和子系統(tǒng)的編寫只需要關(guān)注系統(tǒng)的設(shè)計和編碼工作,其他模塊間通信方面的事情架構(gòu)可以提供很好的兼容。

3. 擴展性

一個水杯除了用來喝水,也可用來喝酒,適應(yīng)不同場景,在一定范圍內(nèi)滿足不同的需求,是非常有必要的。軟件架構(gòu)也是這樣,要新增更多的功能就要具備更高的擴展性??蓴U展性的關(guān)鍵就在于新增部分不能影響其他,如果增刪導(dǎo)致系統(tǒng)整體使用異常,那么這個架構(gòu)的可擴展性就很差。

4. 伸縮性

伸縮性就是設(shè)計的方案或系統(tǒng)是否可以根據(jù)需求適配不同數(shù)量的功能或子系統(tǒng),在我們設(shè)計的軟件系統(tǒng)中,架構(gòu)的可伸縮性決定了架構(gòu)的可適配性,例如,當(dāng)硬件資源不足時,可以調(diào)整配置如flash的空間分配,支持減少一些服務(wù)但仍能正常運行。

5. 容錯性

軟件運行中的異常,如用戶的非法操作,或者軟件本身的小缺陷導(dǎo)致整個系統(tǒng)無法使用,那這個架構(gòu)容錯性就很差。軟件中的一些缺陷無法避免,但是我們應(yīng)盡量保證這個缺陷的影響范圍最小。倘若出現(xiàn)系統(tǒng)無法使用的情況,應(yīng)該有備份方案,比如自動重啟或者自動恢復(fù)數(shù)據(jù)等功能,也應(yīng)該能夠讓開發(fā)人員及時知道問題的發(fā)生,以及問題所在的位置并記錄錯誤信息

在架構(gòu)設(shè)計中,以上五項基本能力缺一不可,某項能力的突出并不能帶動其他項,如果某一項能力比較弱,隨著時間的推移,問題會越來越大,甚至系統(tǒng)崩潰。就像木桶原理那樣,一個木桶的容量不是取決于最長的那根木板,而是取決于最短的那根。

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

    關(guān)注

    4

    文章

    240

    瀏覽量

    26641
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    513

    瀏覽量

    25468
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1014

    瀏覽量

    21332
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)的軟件架構(gòu)設(shè)計!

    1. 前言嵌入式軟件設(shè)計領(lǐng)域的一個分支,它自身的諸多特點決定了系統(tǒng)架構(gòu)師的選擇,同時它的一些問題又具有相當(dāng)?shù)耐ㄓ眯?,可以推廣到其他的領(lǐng)域。提起嵌入
    發(fā)表于 08-10 07:46

    嵌入式的諸多特點

    1. 前言嵌入式軟件設(shè)計領(lǐng)域的一個分支,它自身的諸多特點決定了系統(tǒng)架構(gòu)師的選擇,同時它的一些問題又具有相當(dāng)?shù)耐ㄓ眯?,可以推廣到其他的領(lǐng)域。提起嵌入
    發(fā)表于 08-20 08:08

    嵌入式架構(gòu)多重要

    嵌入式架構(gòu)多重要?要做到嵌入式應(yīng)用的代碼邏輯清晰,且避免重復(fù)的造輪子,沒有好的應(yīng)用架構(gòu)怎么行?如果沒有好的
    發(fā)表于 10-27 08:15

    嵌入式軟件哪些特點?

    關(guān)于嵌入式軟硬件開發(fā)的幾點思考1、嵌入式軟件哪些特點?答:(1) 實時性:環(huán)境特定;快速啟動(2)異步事件的并發(fā)處理:多任務(wù);隨機性(3)
    發(fā)表于 10-28 07:07

    嵌入式軟件開發(fā)的特點哪些呢

    嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu) 一:嵌入式
    發(fā)表于 11-08 06:58

    決定嵌入式系統(tǒng)軟件架構(gòu)的因素和架構(gòu)的影響

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計目錄1.前言42.決定架構(gòu)的因素和架構(gòu)的影響42.1.常見的誤解52.1.1.小型的系統(tǒng)不需要
    發(fā)表于 11-08 06:54

    嵌入式環(huán)境下軟件設(shè)計的特點是什么

    詳見微信公眾號,二進制人生。目錄:嵌入式環(huán)境下軟件設(shè)計的特點設(shè)計目標(biāo)設(shè)計思路多進程解耦嵌入式環(huán)境下軟件設(shè)計的
    發(fā)表于 11-09 06:31

    嵌入式軟件架構(gòu)設(shè)計

    嵌入式軟件架構(gòu)的設(shè)計,幫助我們建立合理,有效的軟件架構(gòu)
    發(fā)表于 11-09 17:34 ?19次下載

    嵌入式軟件是什么意思_嵌入式軟件的分類哪些

    本文首先闡述了嵌入式軟件的概念,其次介紹了嵌入式軟件的特征,最后介紹了嵌入式軟件的分類。
    發(fā)表于 08-31 15:54 ?1.6w次閱讀

    嵌入式軟件架構(gòu)

    嵌入式軟件架構(gòu)
    發(fā)表于 10-20 20:51 ?20次下載
    <b class='flag-5'>嵌入式</b>系<b class='flag-5'>軟件</b><b class='flag-5'>架構(gòu)</b>

    嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu)

    ? ? ? ?嵌入式軟件開發(fā)的特點、設(shè)計流程、嵌入式軟件的結(jié)構(gòu)?一:嵌入式
    發(fā)表于 11-03 15:21 ?37次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)的<b class='flag-5'>特點</b>、設(shè)計流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結(jié)構(gòu)

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計目錄1.前言42.決定架構(gòu)的因素和架構(gòu)的影響42.1.常見的誤解52.1.1.小型的系統(tǒng)不需要
    發(fā)表于 11-03 18:21 ?30次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>軟件</b><b class='flag-5'>架構(gòu)</b>設(shè)計

    嵌入式架構(gòu)師成長之路--架構(gòu)設(shè)計

    詳見微信公眾號,二進制人生。目錄:嵌入式環(huán)境下軟件設(shè)計的特點 設(shè)計目標(biāo) 設(shè)計思路 多進程解耦嵌入式環(huán)境下軟件設(shè)計的
    發(fā)表于 11-03 20:21 ?31次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>架構(gòu)</b>師成長之路--<b class='flag-5'>架構(gòu)</b>設(shè)計

    嵌入式系統(tǒng)的軟件架構(gòu)設(shè)計

    嵌入式軟件設(shè)計領(lǐng)域的一個分支,它自身的諸多特點決定了系統(tǒng)架構(gòu)師的選擇,同時它的一些問題又具有相當(dāng)?shù)耐ㄓ眯?,可以推廣到其他的領(lǐng)域。
    的頭像 發(fā)表于 03-12 11:06 ?4183次閱讀

    詳解FreeRTOS:嵌入式軟件系統(tǒng)架構(gòu)

    目前常見的嵌入式軟件系統(tǒng)架構(gòu)三種可以分為:輪詢系統(tǒng)架構(gòu)、前后臺系統(tǒng)架構(gòu)和多任務(wù)系統(tǒng)
    的頭像 發(fā)表于 05-04 16:40 ?2518次閱讀
    詳解FreeRTOS:<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>系統(tǒng)<b class='flag-5'>架構(gòu)</b>
    RM新时代网站-首页