陶華勝 蘆翔宇 王文祥



【摘? 要】隨著汽車電子控制器數量的增多,車載嵌入式系統逐漸成為車用系統中的主流。由于傳統的嵌入式軟件及系統開發往往被歸類于硬件開發之中,而軟件項目管理則通常被用于PC系統的大型軟件開發中。為了探討車載嵌入式系統的開發管理問題,本文將對嵌入式軟件開發管理與軟件項目管理進行分析,對嵌入式軟件開發流程與軟件項目管理的思維相結合并進行詳細探討。
【關鍵詞】車載嵌入式系統;嵌入式軟件開發;軟件項目管理
中圖分類號:U463.633? ? 文獻標志碼:A? ? 文章編號:1003-8639( 2023 )04-0050-02
【Abstract】With the increase of the number of automotive electronic controllers,the embedded system has gradually become the mainstream of automotive systems. Because the traditional embedded software and system development is often classified as hardware development,and software project management is usually used in the large-scale software development of PC system. In order to discuss the development and management of vehicle embedded system,this paper will analyze the embedded software development management and software project management,and combine the embedded software development process with the thinking of software project management and discuss in detail.
【Key words】vehicle embedded system;embedded software development;software project management
隨著科技的不斷發展,汽車從開始的出行工具不斷迭代升級,變得科技化、智能化,逐漸向車主的第2個“家”發展。汽車智能化帶來的是軟件的不斷開發和升級,與此同時也面臨解決軟件品質、業務需求增加、行業趨勢和公司戰略要求等相關問題。將軟件項目管理思維與嵌入式軟件開發管理相結合是必要的,是刻不容緩的。
1? 軟件項目管理
1.1? 軟件項目管理對象
在軟件產品的生命周期內,軟件產品的管理人員所完成的項目叫做軟件產品項目,它受用于軟件項目管理。軟件項目是指為了確保在特定時期或預設區域內,能夠更有效地運用現有的資源與信息技術等手段,從而可以按照時間和內容要求及時進行的項目。要確保軟件項目工作能夠順利開展和實現,它所需要的內容應該包括了整個軟件流程,要求人們了解軟件項目的工作范圍、所面臨的風險、被要求的工作時間、硬件或軟件項目的資源以及必須進行的任務、經歷的里程碑、成本、時間安排等內容。人們對于軟件管理方面的教學和研究,不僅僅是為了在已有的成果和失敗的例子中總結能夠指導在今后發展過程中可以采取的通用準則或辦法,同時也是為了避免先前的失敗再次出現。
1.2? 軟件項目管理范圍
在軟件工程項目管理所能涵蓋的所有范疇中,最有效的軟件工程項目管理方法全部集中在人員、產品、流程和項目管理4個方面。人員作為軟件工程項目管理中的基本要素和關鍵因素,在項目管理方面需要考慮參加軟件過程的人員類型。相對于產品,在項目計劃開始之前,首先必須對軟件產品進行界定以確定相應的概念,如使用軟件產品的范圍或者目的、為應用選擇的解決方案、技術標準和管理條件等。在軟件領域,強調的是對流程的管理,人員會按照軟件的步驟,把項目分解成任務、子目標等。
2? 嵌入式軟件開發與軟件項目管理
2.1? 嵌入式軟件開發的變化
傳統的嵌入式軟件及系統開發往往被歸類于硬件開發之中,而軟件項目管理則通常被用于PC系統的大型軟件開發中。軟件項目管理帶來的好處不言而喻,那么軟件項目管理的方法是否能運用于嵌入式軟件的開發過程中便需要考慮。
傳統的嵌入式系統開發屬于硬件開發,使用匯編語言來對硬件CPU進行控制的方式則被進行了嚴格區分,分為面向過程的PC平臺軟件開發和面向對象的PC平臺軟件開發。控制器和嵌入式實時操作系統等軟件技術在不斷地發展和提升,而高級程序設計語言也慢慢開始在嵌入式操作系統中的軟件開發工作上被廣泛應用,而匯編語言也僅在一些要求更高效率的小模塊之中,被內嵌到了高級程序設計語言之中。在不斷發展的今天,面向嵌入式的CPU軟件編譯器特性,也逐漸開始向純PC的軟件編譯器環境中靠攏。
2.2? 二者結合的可能性
嵌入式操作系統的構建基于外圍電路設計、嵌入式系統CPU選型、PCB電路板制造以及系統功能模塊設計等關鍵的硬件研發平臺,因此對于整個系統來說,嵌入式系統研發工作的完成是必不可少。不管從算法的設計、代碼實現、項目過程管理還是代碼的復用性、可靠性等,嵌入式軟件的設計已經類似于PC系統的軟件設計。二者在發展的進程中也是有共同之處的,嵌入式軟件設計與PC平臺軟件設計都可以通過軟件工程的手段來對開發品質加以優化,都可以通過對整個設計流程中采用軟件項目管理的方法加以合理管理,使整個工作都可以有序、高效并優質地按時進行。所以,在整個嵌入式軟件系統的發展進程中,應當也能夠按照軟件項目管理的方法對整個工作加以合理的設計與管理。
2.3? 軟件項目管理方法引入嵌入式軟件系統開發的思考
以嵌入式USB主機為例,通過針對嵌入式USB主機的項目分解框架,通過網絡地圖方式對項目的核心路徑進行分解,并科學合理地規劃了嵌入式USB主機項目的設計時間,對項目的時間進行了安排。
對嵌入式USB主機功能說明主要涉及6大模塊:MC68HC912D60A模塊、CAN總線模塊、SL811HS模塊、LCD顯示器模塊、鍵盤輸入模塊和SCI通信模塊。創建工作分解結構WBS,制定項目的活動時間計劃(利用關鍵路徑法CPM以及計劃評審技術PERT)的流程是:首先制定項目的活動表和繪制前導圖表,接著往前計算路線上活動的首先啟動時間TES和首先結束時間TEF,然后再往后計算路線活動的延后開始時間TLS和延后終止時間TLF,最后制定項目的重要活動計劃和關鍵路線。
項目進行時,要求工作人員必須對項目進行嚴格控制,并且必須根據項目所設定的工作日期完成任務,不然會使任務工期延長,甚至耽誤項目而無法及時完工。因為MS設備的協議軟件設計和FAT文件系統軟件設計都是非關鍵的功能,且存在著相應的浮動時間,所以即使在技術資料和人力不足的狀況下,也可以相應地對這些工作加以調節,而不至于對實際施工結果產生負面影響。
3? 車載嵌入式軟件開發管理
3.1? 嵌入式軟件開發管理現狀
除了軟件產生的問題急需解決、軟件業務的需求逐年增多、行業趨勢及公司戰略要求這3個重點問題之外,其他問題同樣是需要面對的。如:軟件定義汽車帶來了技術上的變革;通信方式開始由CAN總線向以太網發展;整車電子電氣架構由分布式向集中式發展;汽車軟件架構由面向數據向面向服務發展;汽車電子控制器由MUC向AI仿真芯片發展;汽車傳感器向著融合智能的方向發展等。
現階段汽車行業ALM平臺主要采用“成熟商業套件+客制化發展”的模式進行建設,進行對比后可以發現:我方現階段業務關聯性差,成熟商業套件功能相對固化,未形成軟件全生命周期管理的閉環。在進行量產之后,汽車軟件出現的問題日益增多,特別是因為軟件開發體系的缺失而導致問題日益突出,落后于行業,且現階段系統建設尚未開展平臺規劃,導致每個場景都有著一個或多個獨立的系統或工具,場景邊界不清晰,且信息與數據未能互聯互通,無法形成業務流程。
經過分析,汽車軟件化的價值不斷增加,同時規模不斷擴大,未來將面對的品質挑戰也會越來越大,對嵌入式軟件開發管理體系的改良提升顯得尤為重要。
3.2? 嵌入式軟件開發管理系統的思考
基于嵌入式軟件開發流程,結合軟件項目管理的思維,建立軟件管理業務體系和系統平臺,為了實現企業級嵌入式軟件開發過程、軟件發布、軟件變更以及軟件刷寫的一體化閉環管理,并建立軟件開發管理體系規范及標準進行思考,可以將思考過程分為5大模塊。
1)軟件開發流程管控:實現對軟件開發流程的全面控制,以完成對軟件需求、架構、代碼設計、測試、問題、產品更新等流程的閉環管理。
2)零件基礎數據管理:軟件編碼的管理,電子電氣架構基礎數據等實現基礎數據的標準化管理。
3)電子電氣系統數據管理:基于整車的結構化程序存儲管理,管理相關的實體數據及車型的電子電氣ECAD-BOM數據,嚴控關系與實體之間的一致性。
4)發布與變更:通過工作流引擎驅動電子電氣系統數據的發布與變更,結合整車開發過程,構建與整車開發過程相匹配的精細化狀態管理。
5)系統集成:通過電子電氣數據在MES、ECOS、FOTA、CDMS、PDM、CGBOM、CGERS、OA系統之間的集成交互實現軟件實體數據和軟件關系數據從研發到生產及售后的全生命周期管理與應用。
對于企業級嵌入式軟件開發能力需要逐步進行提升,將軟件開發過程(需求、缺陷、測試、發布)、基礎數據管理(編碼申請和電氣架構)、結構化實體數據管理、電子電氣BOM管理、數據發布和變更管理、數據倉庫和系統集成進行統一規劃,做到能夠快速導入所需數據。將上述工作進行優化,將管理項目進行重組和升級并進行逐步推廣,達到全面覆蓋。在推廣應用的同時深化應用,持續創新,建立健全企業電子電氣架構研發管理,實現架構設計的信息化管理,建立科學的模型,挖掘數據價值,通過與工具軟件的集成,實現協同設計,在線設計。
3.3? 嵌入式軟件開發管理系統的改革
對于嵌入式軟件開發管理系統,需要通過研發-生產-售后等關鍵業務系統的改造集成,統一數據源,實現軟件數據發布、變更和應用的一體化管理。先建立軟件數據發布變更的基礎平臺,以此來解決當前需求最為迫切的軟件發布變更、生產裝車、終端客戶應用等問題;統一數據源,實現上下游數據集成互通,再進一步實現軟件業務全價值鏈的一體化管理,實現軟件開發技術能力的拓展,搭建軟件開發過程管理平臺,實現軟件全生命周期的管理。
通過研發端ECU控制器軟件開發過程的管理以及對整車電子電氣系統的開發過程管理,構建ECAD-BOM數據,并通過CGERS系統完成數據的發布與變更管理,將合規數據發布至生產及售后環境,建立整車電子電氣全生命周期可追溯的數據鏈。軟件開發過程的管理需要搭建相應的軟件開發過程及軟件數據管理平臺,在完成實現軟件開發過程的流程標準規范管理的同時,進行支撐軟件開發全過程線上管理以及機電一體化研發管理平臺的構建,從而提升軟件開發效率以及軟件品質。不僅是軟件開發過程,軟件數據、數據倉庫,數據流等都需要建立規范的管理方式,建立起企業軟件開發標準規范。
4? 結語
綜上所述,隨著軟件定義汽車的開始,汽車在不斷地向著更加科技化、功能化的方向發展,傳統的汽車結構也不斷改變。將軟件項目的開發管理方式與嵌入式軟件及系統開發相結合,發展全新的模式才能夠更好面對以后的問題。因此,建立完備及統一的企業級軟件全生命周期管理流程、方法和系統是必要的,也是需要努力的方向。
參考文獻:
[1] 于芳. 汽車嵌入式軟件過程的質量管理[J]. 汽車與配件,2019(11):72-73.
[2] 鄒智榮,唐鵬輝,羅源. 嵌入式軟件開發模式與軟件架構研究[J]. 電子技術與軟件工程,2021(15):29-30.
[3] 王飛飛,史家濤,王夢,等. 基于ALM系統的嵌入式軟件平臺管理方案[J]. 電子技術與軟件工程,2022(14):59-62.
(編輯? 凌? 波)