OEM汽車軟件管理的思考


隨著汽車上電子控制器種類和數量的逐漸增加,軟件種類和軟件版本也會逐漸增多。為了保證產品品質,OEM必須對車輛上的軟件版本進行管理,以確保車輛在使用過程中不會出現質量問題。

軟件管理的目標

做任何事情前都需要考慮清楚目標。我們對汽車上的軟件進行管理,做這個事情的目的是什么。絕不僅僅只是為了看哪輛車上用了什么版本的軟件。

目的一:減少軟件被錯用的風險。

在定制化非常高的客車領域,每個批次都是交付給不同的用戶,在某些零部件上為了滿足用戶需求會有相應的軟件更改。為了確保軟件版本沒有被用錯,就需要對下線車輛上的軟件版本進行檢查和管理。

目的二:及時發現軟件盜刷。

給車輛的軟件版本進行刷寫在后裝市場上是一個服務,用戶可以找到相應的服務人員對軟件進行版本上的刷寫,以達到提升車輛性能或者是實現某些功能的目的。私自刷寫后如果車輛因為軟件出了問題,OEM想要做舉證是很困難的,對市場上車輛的軟件是否做更改進行監管也是非常必要的。

目的三:促進軟件質量提升。

軟件定義汽車是未來的發展趨勢,軟件質量將會是車輛產品質量的重要體現。軟件可便捷迭代后,市場上反饋的軟件質量問題可以快速解決,軟件質量會逐步提升。沒有規范的軟件版本管理,軟件質量的提升也無從下手。

目的四:符合國家未來的管控政策。

國六排放標準的執行細則中已經要求OEM對國六控制器的軟件版本進行公示,確保市場上的在行版本與公示版本相同。國家質檢總局也已經明確規定,軟件OTA是汽車召回的途徑之一。不排除未來,國家會對汽車上的軟件進行管理,企業內部的軟件管理肯定要先行執行,才能符合國家的相關要求。
明確了汽車軟件管理的目標,也就可以清楚的明確OEM在軟件管理過程中的關鍵舉措。在出現一些策略上的模糊時,我們可以回歸目標來思考到底哪一種方案對目標是對有效的。正所謂,菩薩畏因,凡人畏果,做一件事情的初始目的是很關鍵的

軟件管理的管理對象

軟件管理的管理對象,說的更直白點就是軟件管理我們到底管理什么,管理主體的明確是我們做軟件管理思考的出發點。就如同初級管理者的教程中所說,管理者管什么:管事、管人、管心。當然我們這里不研討管理者的管理技術問題,而是要看汽車軟件管理的問題。

第一:管軟件信息

軟件信息的管理絕對是軟件管理的核心對象。哪輛車上使用是哪一個版本的軟件?車輛上的軟件更改歷史如何?市場上現在某個版本的軟件還存在多少?它們大致的分布是怎樣的。軟件信息的獲取,分析和應用,是軟件管理發揮價值的關鍵。

第二:管軟件包

軟件包是軟件的存在形態。我們需要對軟件包的新增、版本、關系、存儲、使用和刪除進行管理。對軟件包的管理要充分考慮軟件的生命周期,針對生命周期中不同的使用場景對軟件包管理作出相應的定義。

第三:管源碼

主機廠的部分軟件項目需要供應商交付軟件源碼的,這些源碼首先要與軟件版本進行對應,同時對于軟件源碼的上傳,存儲和調用都應該有相應的管理舉措。管理過程要在調用便利的基礎上確保軟件源碼的安全。

第四:管缺陷

軟件在使用過程中肯定會遇到相應的問題,這些問題原因的查找,修復情況都需要進行管理,以確保軟件在市場上遇到問題后有渠道可以進行反饋并有團隊負責進行修復。在軟件問題修復后同時要有后續的軟件升級相關操作,以減少后期質量問題的出現。
其實軟件管理還需要管理軟件開發過程,但考慮到大部分的控制器軟件的開發過程都是供應商完成的,所以在這里就不多做贅述。同時,軟件開發過程的管理與項目管理是很類似的,我們也就不多說了。

軟件管理的舉措

為了達成管理目標,結合OEM的實際情況,應該設置怎樣的管理舉措是軟件管理的核心所在。以下內容是我與某OEM的同仁一起電話聊了一個多小時的成果,可能不是很成熟,但值得參考。

軟件信息管理舉措

軟件信息管理的基礎是車輛軟件信息的回收。在軟件信息獲取完整且準確的情況下,依據實際工作需要,對軟件信息進行統計和分析才會更有價值。
第一、車輛軟件基礎信息回收的時間點
車輛軟件基礎信息的回收是軟件信息管理的前提。從車輛的生命周期中來看,有以下機會可以實施軟件信息的回收。
  • 車輛下線時,使用工具或者是觸發相應的軟件,對車輛的軟件版本信息進行回收,以VIN為關鍵字段,將相關信息回傳到云端。云端對信息進行整理后做相應的存儲。如果車輛的軟件版本與初始設定的軟件版本不一致,需要形成相應的升級任務,在車輛入庫前通過OTA完成車輛軟件版本的更新。
  • 交付客戶前的PDI檢查。在PDI檢查中加入手工出發升級程序的操作,升級程序會查看車輛的軟件版本信息,并上報給云端,如有新的版本會下發給車端進行升級。確保交付給客戶的車輛滿足客戶要求。
  • 使用過程中的定期任務,按照一定的時間點上報車輛軟件版本信息。在車端設置定期任務,車端執行版本檢查動作并將車輛版本回傳給云端。如發現車輛軟件版本異常,需要做出相應的提醒,然后判斷后執行相應的處理操作。
  • 常規保養時對車輛軟件版本進行檢查。客戶車輛在進行保養時,操作人員手動執行車端的軟件版本檢查程序,讓車輛上報車輛軟件版本,并檢測是否有新版本,如軟件版本有異常,可直接執行升級程序,讓車輛軟件版本符合OEM的要求。
第二、軟件基礎信息的統計分析方式。
軟件信息的統計和分析要基于實際工作需求開展,反觀軟件管理的目標,結合能夠回收的信息類型,大致有以下幾種軟件信息統計分析的方式。
  • 軟件信息的關系梳理:在軟件信息的對應關系上,要符合實際情況。軟件搭載在零部件上,零部件又安裝在具體的車輛上,不同的車輛可能會在相同的硬件基礎上搭載不同的軟件版本。因此,依據這種物理關系,軟件信息→零部件是多對一的關系,但每個零部件只有一種版本狀態。零部件→車輛VIN,這種關系在OEM內部已經有相應的系統做對應。如此存儲,就可以對軟件信息做相對規范的管理。
  • 軟件版本使用情況統計:為了明確現在市場上軟件版本的使用情況,需要以零部件為分類,統計市場上在行的軟件版本數量,這個數據有助于企業判斷市場上在行軟件的風險程度。同時可以通過版本數量數據,大致的了解企業在軟件版本開發上付出的工作量。
  • 車輛軟件版本是否與公司要求保持一致:在軟件版本信息回收后,云端會依據VIN碼調用的公司該車型標準的軟件版本信息,然后對比車端軟件是否符合公司標準。如不符合應該給出相應的提醒。OEM可調用該車輛的相關信息,檢查軟件版本信息不一致產生的原因。
  • 車輛軟件版本的地理分布情況:對于新能源車輛來說,不同的地域在地形、溫度等條件上不盡相同,軟件版本可能會出現區域不適應的問題,特別是與電池電控相關的零部件,對軟件版本做地域上的分析有助于我們發現潛在的問題。
  • 車輛軟件版本與軟件BUG間的關系分析:不同的軟件版本在質量表現上肯定是不同的,對軟件版本和問題出現次數做統計有利于我們把控車輛整體表現。同時,也給營銷領域推薦產品很好的指導作用,盡可能在質量表現好的軟件版本上不做太多的定制。
軟件信息的分析角度非常多,在一篇文章中可能不足以描述清楚。但數據分析的目的是為我們的工作帶來便捷,讓工作有更多的數據支撐進而做出更加正確的決策,從這個角度出發,軟件信息的統計分析會創造更多的價值。

軟件包的管理舉措

軟件包是軟件版本的載體,OME對軟件包的管理,主要是解決軟件包從哪來、質量如何、怎么存、怎么用的問題。同時,還需要重點關注軟件包的安全問題。
  • 軟件包的全流程安全防控:OEM的工程師們在探討OTA系統安全的時候,往往最關注的是車端軟件的安全性,云端軟件的安全性,對升級包在系統外的傳輸過程并沒有給予足夠的關注。主機廠從供應商處獲取軟件包的過程中,也是存在安全風險的。如何安全的將軟件包從生產單位轉移到內部平臺上,是軟件包管理的首要任務。
  • 軟件包的測試與驗證在獲取新的軟件包之后,OEM要對軟件包的質量進行必要的試驗驗證。隨著軟件版本的逐漸增多,OEM的試驗部門要有相應的管理流程對軟件包進行必要的測試。至少要進行臺架測試,試驗部門要把好入口關。如在驗證上沒有足夠的經驗,可以采取業務外包的模式開展,同時在關鍵核心零部件的軟件測試上進行能力建設。
  • 軟件包的存儲與關系管理軟件包在經過驗證后,需要按照一定的規則進行存儲。一般情況下以車型為單位,對ECU上使用的軟件包、刷寫策略、配置字、關聯關系等相關內容進行保存。在企業內部做到軟件包調用的統一管理,確保企業內部相關系統的軟件包均源自同一出口,確保軟件包的統一性。對軟件包上傳和調動的權限進行管理,做好使用記錄,防止軟件包不被外泄,確保軟件包的安全。
  • 軟件包質量監控依據車輛故障信息對軟件包的質量進行監控,對故障數據的統計,有利于我們集中力量對重大問題進行整改,同時可以對整改工作的效果進行準確的監督和管控。軟件包質量監控工作,是汽車產品質量的重要維度。
當前,受限于部分供應商在軟件層面的技術封閉,在車型故障排查上可能會遇到很多的困難。OEM在定義汽車零部件質量的考察維度時,軟件質量也需要考慮到,同時要對市場上軟件質量的表現情況做詳細的統計分析。

軟件源代碼管理舉措

OEM在采購的過程中會要求供應商對零部件的上層源碼進行交付。隨著OEM對車載軟件的重視程度逐漸提升,對零部件內部軟件源碼的要求也會越來越多。OEM也需要對車輛軟件的源代碼進行規范的管理,在高效利用源碼的情況下,也需要保證源碼的安全。
軟件源碼的管理在互聯網公司已經有非常成熟的管理模式。OEM內部也有相應的軟件編程工作,在這個領域可以參照互聯網公司的管理模式。
  • 開發過程的管理在開發過程中,軟件工程師需要隨著工作進度的推進,在內部系統上傳軟件編寫源文件。在編碼工作中需要遵循公司的相關編碼規則和注釋規則,在確保軟件源碼可讀性的情況下,將源碼存儲在云端。云端要對源碼的版本進行管理,確保程序員可追溯其歷史版本。
  • 軟件源碼的存儲對于已經交付的源碼,要有按照內部的命名規則對軟件進行命名,做好相應的標注工作,統一存儲在企業內部服務器上。對源碼的調用權限進行設置,確保與該項目無關的人員不能獲取軟件源碼。同時,對于源碼的調用要有詳細的記錄,為后期追溯做好基礎信息的收集。
軟件源碼是企業的核心資產,隨著軟件在汽車上發揮的作用越來越大,關鍵的技術內容都會被抽象為軟件功能,源碼對于OEM來說會越來越重要。汽車軟件將會是汽車關鍵核心技術的主要載體,OEM不但要在軟件源碼管理上下功夫,還需要在軟件定義和開發上下功夫。搭建OTA系統只是萬里長征的第一步,升級什么,如何定義汽車軟件,才是真正的萬里長征。

結 語

作為一個專注于OTA產品的企業,我們十分希望主機廠在軟件管理上能夠做的規范。正如一開始所說,規范的軟件管理是OTA系統產生價值的基礎之一。在我交流過的企業中,軟件管理的水平和現狀都不盡相同,希望大家能夠在評論區對汽車軟件管理發表自己的看法,分享各自做的好的部分。交流是創新產生的前提,只有行業不斷的進步,才會創造出更多的機會。歡迎各位不吝賜教。


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1