汽車行業(yè)的電動(dòng)化、智能化和網(wǎng)聯(lián)化的趨勢(shì)對(duì)管理各種電子控制單元(ECU)的軟件復(fù)雜度與保證其功能安全提出了更高的要求。
現(xiàn)代中高端的汽車上約有 50 個(gè)以上的 ECU 及總量超過(guò) 1 億行代碼的嵌入式軟件,如何對(duì) ECU 的軟件質(zhì)量進(jìn)行有效管理是擺在管理者面前的緊迫課題。本文將闡述軟件質(zhì)量目標(biāo)(SQO)的概念,與大家一起探討如何通過(guò)軟件質(zhì)量目標(biāo)管理 ECU 的軟件質(zhì)量。
軟件質(zhì)量目標(biāo)
軟件質(zhì)量目標(biāo)(SQO)定義了一系列來(lái)源于行業(yè)實(shí)踐總結(jié)的可度量的代碼指標(biāo)及達(dá)到相應(yīng)質(zhì)量要求的閾值。軟件質(zhì)量目標(biāo)可以定義為不同的等級(jí),隨著軟件開發(fā)階段的進(jìn)行而動(dòng)態(tài)調(diào)整。其組成部分包括軟件質(zhì)量計(jì)劃、詳細(xì)設(shè)計(jì)描述、代碼度量信息、代碼規(guī)范要求、運(yùn)行錯(cuò)誤檢查、數(shù)據(jù)流分析結(jié)果等,下圖案例說(shuō)明了不同 SQO 等級(jí)包含的內(nèi)容范圍:
	
軟件質(zhì)量計(jì)劃
軟件質(zhì)量計(jì)劃應(yīng)由供應(yīng)商提供,包括為了實(shí)現(xiàn)主機(jī)廠所要求的軟件質(zhì)量所采取的方法、工具以及團(tuán)隊(duì)和項(xiàng)目本身的信息。目的在于說(shuō)明軟件質(zhì)量的保證工作由誰(shuí)實(shí)施以及如何實(shí)施。以下是軟件質(zhì)量計(jì)劃包含的內(nèi)容示例:
各軟件模塊的質(zhì)量等級(jí)及合理性說(shuō)明
軟件交付計(jì)劃及對(duì)應(yīng)的質(zhì)量目標(biāo)
項(xiàng)目的開發(fā)團(tuán)隊(duì)組成
開發(fā)工具清單和使用方法
軟件問題狀態(tài)說(shuō)明定義(如已修復(fù)、待調(diào)查、待修改、待審查等)
軟件問題等級(jí)說(shuō)明定義(如高、中、低等)
詳細(xì)設(shè)計(jì)描述
詳細(xì)設(shè)計(jì)描述提供了軟件應(yīng)用的架構(gòu)和成熟度信息,包括:
應(yīng)用級(jí)信息(如軟件模塊清單及其相互關(guān)系、源文件和頭文件數(shù)目等)
模塊級(jí)信息(如源文件清單和頭文件清單等)
文件級(jí)信息(如版本信息、來(lái)源方式、代碼行數(shù)等)
代碼度量信息
代碼度量信息用來(lái)幫助主機(jī)廠理解軟件模塊的特性以及評(píng)估軟件模塊的質(zhì)量。主機(jī)廠和供應(yīng)商雙方應(yīng)在項(xiàng)目開始前選定度量信息,供應(yīng)商應(yīng)在軟件交付時(shí)提交度量指標(biāo)符合或背離說(shuō)明報(bào)告。常用的代碼度量信息包括:
注釋密度
圈復(fù)雜度
函數(shù)的參數(shù)數(shù)目
函數(shù)中的調(diào)用次數(shù)
函數(shù)的被調(diào)用次數(shù)
遞歸次數(shù)
路徑數(shù)目
代碼規(guī)范符合
遵循代碼規(guī)范是保證代碼可讀性和防范代碼出錯(cuò)的重要舉措,汽車行業(yè)一般選用 MISRA(汽車工業(yè)軟件可靠性聯(lián)合會(huì))的編碼規(guī)范,值得一提的是 MISRA 的編碼規(guī)范分為針對(duì)手寫代碼和針對(duì)自動(dòng)代碼的兩種規(guī)范,在應(yīng)用時(shí)應(yīng)加以選擇。對(duì)不同的軟件質(zhì)量目標(biāo)定義不同的編碼規(guī)范子集是推薦的應(yīng)用方式,供應(yīng)商應(yīng)提交所適用的編碼規(guī)范子集的符合性證明或背離說(shuō)明報(bào)告。以下是編碼規(guī)范符合性的統(tǒng)計(jì)說(shuō)明案例。
	
運(yùn)行錯(cuò)誤分析
運(yùn)行錯(cuò)誤相對(duì)于編譯錯(cuò)誤或鏈接錯(cuò)誤而言,即通常所說(shuō)的代碼在運(yùn)行過(guò)程中存在的 bug。其分析結(jié)果分為確定的運(yùn)行錯(cuò)誤、潛在的運(yùn)行錯(cuò)誤、安全代碼操作和不可達(dá)的代碼操作。供應(yīng)商應(yīng)聲明在開發(fā)階段所采用的方法和工具用以確保代碼中不存在運(yùn)行錯(cuò)誤或?qū)Πl(fā)現(xiàn)的運(yùn)行錯(cuò)誤加以審查說(shuō)明。對(duì)于潛在的運(yùn)行錯(cuò)誤(多由輸入數(shù)據(jù)的取值范圍引起),需要定義對(duì)應(yīng)不同 SQO 等級(jí)的人工審查率,如下圖所示:
	
數(shù)據(jù)流分析
數(shù)據(jù)流分析指用來(lái)獲取有關(guān)數(shù)據(jù)如何沿著程序執(zhí)行路徑流動(dòng)的相關(guān)信息的技術(shù),其目的是提供一個(gè)過(guò)程(或一段程序)如何操縱其數(shù)據(jù)的全局信息。數(shù)據(jù)流分析結(jié)果包括:
模塊調(diào)用樹
全局變量的讀/寫清單
共享變量及關(guān)聯(lián)進(jìn)程清單
功能安全符合和工具支持
ISO 26262-6 定義了為確保軟件質(zhì)量而在軟件開發(fā)過(guò)程的各階段所應(yīng)采用的方法,可以通過(guò) SQO 的實(shí)施加以實(shí)現(xiàn),后續(xù)有機(jī)會(huì)再以專文敘述。SQO 可以在靜態(tài)代碼分析工具 Polyspace 中設(shè)定并與分析結(jié)果比較,從而確認(rèn)供應(yīng)商的軟件是否達(dá)到各階段交付標(biāo)準(zhǔn),下圖顯示了 SQO 設(shè)定方式和 MISRA 規(guī)范的比較結(jié)果。
	
綜上所述,軟件質(zhì)量管理圍繞軟件質(zhì)量目標(biāo)進(jìn)行,其中可度量性是軟件質(zhì)量目標(biāo)的基礎(chǔ)要求;與不同開發(fā)階段相對(duì)應(yīng)的階梯式目標(biāo)體現(xiàn)了軟件開發(fā)過(guò)程的特點(diǎn);而將其內(nèi)化到工具的支持則保證了軟件質(zhì)量目標(biāo)不僅僅停留在文檔要求上而具有了現(xiàn)實(shí)可操作性。
- 
                                智能化
                                +關(guān)注
關(guān)注
15文章
5192瀏覽量
59449 - 
                                數(shù)據(jù)分析
                                +關(guān)注
關(guān)注
2文章
1495瀏覽量
35837 - 
                                電動(dòng)化
                                +關(guān)注
關(guān)注
1文章
314瀏覽量
8677 
發(fā)布評(píng)論請(qǐng)先 登錄
新思科技與Tata Elxsi合作推動(dòng)汽車行業(yè)變革
比亞迪半導(dǎo)體榮膺2025汽車行業(yè)優(yōu)秀解決方案獎(jiǎng)
Allegro斬獲2025汽車行業(yè)優(yōu)秀解決方案獎(jiǎng)
汽車需求管理的關(guān)鍵要素及適合汽車行業(yè)的最佳需求管理解決方案Jama Connect
    
季豐精密通過(guò)IATF16949質(zhì)量管理體系認(rèn)證
Allegro A89224 48V SoC入圍維科杯·OFweek 2025汽車行業(yè)優(yōu)秀解決方案獎(jiǎng)
軟件定義汽車將如何變革汽車行業(yè)
歐姆龍?jiān)谛履茉?b class='flag-5'>汽車行業(yè)的應(yīng)用案例
    
BlackBerry展望2025年汽車行業(yè)發(fā)展趨勢(shì)
電能質(zhì)量管理系統(tǒng)的應(yīng)用
蔡司軟件 | ZEISS INSPECT Optical 3D在汽車行業(yè)的應(yīng)用
    
Gartner發(fā)布2025年汽車行業(yè)重要趨勢(shì)
    
中汽中心華東分中心如何推動(dòng)汽車行業(yè)高質(zhì)量發(fā)展
汽車行業(yè)AI視覺檢測(cè)(下):創(chuàng)新驅(qū)動(dòng)品質(zhì)提升
    
          
        
        
關(guān)于汽車行業(yè)進(jìn)行軟件質(zhì)量管理的相關(guān)指南和方案
                
 
           
            
            
                
            
評(píng)論