日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【ASPICE4.0】實(shí)例講解軟件架構(gòu)設(shè)計(jì)

 ZHAOHUI 2024-12-31 發(fā)布于上海
圖片

上篇文章解析了軟件架構(gòu)設(shè)計(jì)的理論方面知識(shí)《【ASPICE4.0】--SWE.2軟件架構(gòu)設(shè)計(jì)解析》,可能有些抽象。

本文通過(guò)一個(gè)實(shí)例,來(lái)一起看看軟件架構(gòu)設(shè)計(jì)的主要內(nèi)容有哪些,要怎么來(lái)設(shè)計(jì)與編寫(xiě)的。

廢話(huà)不多說(shuō),開(kāi)搞。

1、軟件架構(gòu)設(shè)計(jì)實(shí)例解析

假設(shè)系統(tǒng)需求如下:

1) SYSReq_001:ECU需要采集外部設(shè)備A輸入的電壓信息

2) SYSReq_002:當(dāng)電壓持續(xù)超過(guò)16V時(shí)(持續(xù)時(shí)間1000ms),判斷為過(guò)壓。

3) SYSReq_003:當(dāng)發(fā)生過(guò)壓情況時(shí),切斷電源;

假設(shè)系統(tǒng)架構(gòu)設(shè)計(jì)圖如下:

圖片

假設(shè)軟件需求如下:

1) SWReq_001:軟件間隔10ms,從MCU的哪個(gè)PIN腳,進(jìn)行電壓ADC采樣;

2) SWReq_002:當(dāng)電壓持續(xù)超過(guò)16V時(shí)(持續(xù)時(shí)間1000ms),判斷為過(guò)壓。

3) SWReq_003:當(dāng)發(fā)生過(guò)壓情況時(shí),通過(guò)MCU有哪個(gè)PIN腳,切斷外部ECU2的電源供電;

本文主要講解軟件架構(gòu)設(shè)計(jì)的這些要素:靜態(tài)架構(gòu)圖、動(dòng)態(tài)行為圖、接口、資源等幾個(gè)部分。下面一個(gè)個(gè)示例展開(kāi)描述:

1.1、靜態(tài)架構(gòu)圖
圖片

下面是我對(duì)軟件靜態(tài)架構(gòu)圖的理解:

1) 上圖即為軟件架構(gòu)靜態(tài)圖,里面深藍(lán)色的框框,即為上篇軟件架構(gòu)設(shè)計(jì)文檔說(shuō)的“軟件組件”。

2) 上圖淺藍(lán)色部分,屬于軟件組件內(nèi)部的設(shè)計(jì),在軟件架構(gòu)設(shè)計(jì)可以不用展開(kāi)詳細(xì)分析在軟件詳細(xì)設(shè)計(jì)再展開(kāi)詳細(xì)設(shè)計(jì)即可。

3) 上圖紅色的箭頭為模塊間的接口,需要軟件架構(gòu)設(shè)計(jì)文檔中展開(kāi)詳細(xì)描述。

4) 上圖黑色的箭頭為模塊內(nèi)的接口,不需要軟件架構(gòu)設(shè)計(jì)文檔中展開(kāi)詳細(xì)描述,在軟件詳細(xì)設(shè)計(jì)展開(kāi)即可。

需要給每個(gè)組件做好編號(hào),并詳細(xì)解釋每個(gè)組件的相關(guān)意義。具體可參考下表:

1.2、軟件組件

如下表,軟件架構(gòu)設(shè)計(jì)書(shū)需對(duì)所有的軟件組件展開(kāi)詳細(xì)描述。具體參考如下:

圖片

關(guān)于資源相關(guān)的使用評(píng)估,最好附上相關(guān)說(shuō)明,比如“沿用”哪個(gè)項(xiàng)目,故參考該項(xiàng)目,XX模塊占用XX空間。

1.3、組件間接口

如下表,所有組件之間相互的接口都需要羅列出來(lái),不能有遺漏。具體參考如下:

圖片

1.4、動(dòng)態(tài)設(shè)計(jì)圖

若由多個(gè)組件共同實(shí)現(xiàn)某項(xiàng)軟件需求,則需編寫(xiě)動(dòng)態(tài)行為圖以進(jìn)行功能的設(shè)計(jì)說(shuō)明。具體參考下圖:

圖片

1.5、RAM/Flash資源消耗分析

針對(duì)Code Flash, Data Flash, RAM等存儲(chǔ)類(lèi)資源的分析,可按照靜態(tài)架構(gòu)圖中的組件來(lái)分析,分別列出各組件的資源消耗

圖片

1.6、CPU負(fù)載分析 

針對(duì)CPU負(fù)載,動(dòng)態(tài)設(shè)計(jì)以及軟件所有任務(wù)列表,可以協(xié)助用支持此部分設(shè)計(jì)。

這個(gè)CPU負(fù)載,分為兩大部分,一部分是任務(wù)的CPU負(fù)載,一部分是中斷的CPU負(fù)載,兩部分都要進(jìn)行統(tǒng)計(jì)。

圖片

1.7、其他

另外,軟件架構(gòu)中還需要說(shuō)明相關(guān)的軟件控制策略,例如:

1)需羅列出所有使用的軟件任務(wù),分析每個(gè)任務(wù)的用途、執(zhí)行時(shí)間,調(diào)用周期,等相關(guān)信息。

2)需羅列出所有的軟件中斷,分析每個(gè)中斷的用途、執(zhí)行時(shí)間,調(diào)用周期,等相關(guān)信息。

3)需對(duì)初始化流程進(jìn)行分析。

4)需對(duì)共享資源進(jìn)行控制與分析。

5)需對(duì)看門(mén)狗使用策略進(jìn)行分析

此部分就先不展開(kāi)詳細(xì)描述了,后面有需要再補(bǔ)充吧。

2、總結(jié)

本過(guò)程域的前3個(gè)BP,可以梳理為下圖:

圖片

軟件架構(gòu)設(shè)計(jì)文檔中,要包含如下內(nèi)容:

1) 靜態(tài)圖

a) 包含哪些軟件組件

b) 這些組件的職責(zé)描述,組件是如何實(shí)現(xiàn)的(如:自研/購(gòu)買(mǎi)/開(kāi)源等)、組件占用資源等。

2) 動(dòng)態(tài)圖

a) 軟件組件間的交互和行為表現(xiàn);

b) 體現(xiàn)形式要求采用UML等方式,如上文的UML時(shí)序圖

3) 需要對(duì)所有組件之間交互的接口展開(kāi)詳細(xì)描述;

4) 需要對(duì)RAM/Flash等存儲(chǔ)性資源進(jìn)行評(píng)估,一般按軟件組件來(lái)進(jìn)行評(píng)估分析。

5) 需要對(duì)CPU負(fù)載進(jìn)行評(píng)估,一般需對(duì)所有的任務(wù)、中斷進(jìn)行分析,通過(guò)分析其運(yùn)行周期,執(zhí)行時(shí)間來(lái)分析其占用的CPU負(fù)載。

6) 軟件架構(gòu)中還需要說(shuō)明相關(guān)的軟件控制策略,例如:所有使用的軟件任務(wù),所有的軟件中斷, 對(duì)初始化流程進(jìn)行分析,對(duì)共享資源進(jìn)行分析、看門(mén)狗策略等。

7) 一定要包含設(shè)計(jì)的結(jié)論和設(shè)計(jì)的理由。

若有需要ASPICE4.0相關(guān)標(biāo)準(zhǔn)學(xué)習(xí)文檔的朋友,可以?huà)叽a如下微信二維碼,然后發(fā)送“ASPICE”。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多