李學英 王永兵 徐學青 郁瑋



【摘要】 ? ?我國的航天事業快速發展,航天嵌入式軟件需求變化頻繁,技術狀態多樣化,因此,對于已經經過試驗驗證或發射的航天軟件進行構件管理,具有重要意義。本文闡述了航天嵌入式軟件的構件管理方法,并根據構件庫入庫和重用情況加以分析。
【關鍵詞】 ? ?航天 ? ?嵌入式軟件 ? ?構件庫 重用
引言
隨著航天事業的不斷進步和深化發展,航天發射任務愈來愈密集,航天軟件需求頻繁變更,軟件技術狀態多樣,任務工期要求緊張,為提高航天軟件的研制效率和航天軟件的質量可靠性,航天型號研制單位通過構件管理的方式,重用現有的軟件資源,形成自有的構件庫。通過軟件的單元化、部件化和配置項重用,從而快速達到航天軟件的研制和標準化要求。
一、軟件構件庫
構件庫是指軟件項目研發過程結束后,項目研發團隊對軟件進行結構分解,提取出可供組織共享使用的可重用CSCI、部件、模塊或單元及其相應的工程文檔(CSCI要有需求、設計、測試文檔,部件、模塊或單元要有設計文檔),為其他項目的開發提供可重用構件。在某些情況下,組織或項目還會有前瞻性地、有目標地、有計劃地、主動地、直接地、專門地研制可重用構件。
構件的粒度應該盡量細,原則上要求達到原子性:軟件代碼不能進一步拆分成粒度更細的功能模塊。建議項目以單點功能項(功能模塊)入庫,最終目標是形成軟件產品線(即使用構件以搭積木方式構造軟件產品)。
一般可復用的軟件構件應具有以下屬性:
1)通用性:必須提供可以被其他軟件應用可以通用的功能。
2)可用性:對構件需求的描述必須使使用者易于理解和使用。
3)質量:構件及其適應性的改進后必須經過驗證。
4)適應性:通過適應性的改進,可以在不同的環境中使用復用的構件。
5)可移植性:構件應能夠在不同的硬件操作平臺和軟件環境中工作。
二、重用構件庫的優點
2.1節約項目開發成本,提高項目質量和可靠性
任何軟件在新開發的過程中,都會遇到一定的問題或缺陷,而調試和解決新問題將會導致項目投入更多的人力和物力,甚至導致項目研發周期的延長。相反當軟件開發過程中復用構件庫中的單元、部件或配置項,由于被復用的構件已通過了測試和試驗驗證,故該部分的功能和質量狀態趨于穩定,故會節省該部分的研發投入和時間成本。復用構件的軟件開發而言相比較新開發的軟件,軟件的可靠性更高。
2.2節省測試成本
另外,對于測試而言,當一個軟件構件被復用時,與該本構件所有相關的測試用例和結果也可被復用。對于軟件測試而言,必須測試的對象是除復用軟件構件以外其他新模塊的測試,還要對新模塊和復用的軟件構件之間的集成代碼的測試和與軟件構件集成后的系統測試。因此,相對于完全新開發的代碼測試與調試的數量大大縮減了,通過軟件構件的復用可以大大節省測試的成本[1]。
2.3軟件開發編碼更加標準
遵循軟件開發標準而精心設計出來的軟件構件,是軟件開發人員以最好實踐經驗為基礎設計出來接近完美的構件。當軟件開發人員以構件為基礎進行軟件開發時,復用的軟件構件將新開發的軟件代碼的編碼風格產生一定約束。這就導致構件必須要進行標準化的開發[1]。
2.4完善補充組織資產庫
軟件構件庫是最有用的組織級資產,是組織提升產品開發效率和質量的重要支撐,隨著組織軟件構件庫的累積和成熟,組織軟件研發的能力將逐步提升。
三、航天嵌入式軟件構件庫管理
航天嵌入式軟件構件庫通過按人員進行權責設定,依據過程進行構件庫的管理,保證了構件庫的安全,具體管理流程詳見圖1。
3.1構件庫的創建
針對航天軟件構件庫中軟件規模大、文檔多、復雜性高等特點,構件庫管理員采用映射方式來存儲軟件構件的文檔、源代碼(單元、部件、配置項)、測試用例來創建構件庫。
其基本屬性包括所屬項目、構件名稱、版本、入庫類型、構件類型、運行環境描述、編程語言、編譯環境/版本、測試情況、功能描述、輸入數據描述、輸出數據描述、入庫信息、申請人、目前狀態。
3.2構件庫的入庫
在軟件經過充分的驗證、確認或交付使用后,軟件開發主管提取可重用的軟件構件并編寫構件庫入庫申請;QA人員對擬入庫的構件進行成熟性檢查(軟件代碼已通過充分驗證(評審或測試)、確認或用戶使用),完備性檢查(工程文檔齊套、技術狀態一致(文實一致、文文一致)、軟件代碼相關功能說明文檔完整);項目總師審批通過后;構件庫管理員審核驗收申請入庫的構件是否實物完整,功能說明清晰,可用于項目比對和可供重用;最后構件庫管理員將申請入庫的構件入庫,并登記入庫操作日志、建立構件庫臺賬(清單),供查詢和統計使用。
3.3構件庫的維護
軟件開發主管組織項目組成員對已入庫的構件根據實際使用情況進行升級,升級后的構件經過驗證、確認或使用,可以再次提交入庫申請;已入構件庫的構件在產品庫進行變更升版本后,需在構件庫也相應升版本,再次填寫構件庫入庫申請單;
構件庫管理員根據提交的入庫申請,對構件庫進行新增、升級操作,并更新構件庫臺賬;構件庫管理員遵循構件庫只增不減的原則,不能執行刪除構件的操作;
3.4構件庫的審計
構件庫管理員定期統計分析庫內構件的狀態,分析入庫次數和重用次數,填寫構件庫自查表。
3.5構件庫的使用
用戶可以查詢構件庫臺賬,對需要使用的資產項,提出使用申請。填寫軟件重用請求和控制報告,經項目總師審批后,構件庫管理員出庫操作,用戶依據出庫光盤進行適應性更改或完全重用。
3.6航天嵌入式軟件構件重用情況
本文以航天型號軟件2014~2018年構件庫數據為例,對構件庫中歷年入庫數據和重用數據進行分析,得到構件入庫個數和重用次數以及歷年占比情況,具體詳見分布圖2、圖3。
另外選取2018年構件庫重用軟件情況,并加以分析。如圖4所示,通過統計數據表明,2018年,航天軟件構件重用次數前5名為穩定系統數據處理計算機軟件、裝訂數據轉換軟件、監控測試軟件、裝訂程序轉換軟件、捷聯地測數據解析軟件。經分析這5類構件為型號通用軟件,各個型號均會重用該類軟件,故重用次數較多。由此亦說明,構件庫的功能得到有效發揮,從而進一步保證了產品質量。
四、結束語
軟件構件庫是最有用的組織級資產,是組織提升產品開發效率和質量的重要支撐,隨著組織軟件構件庫的累積和成熟,組織軟件研發的能力將逐步提升。本文所述的軟件構件庫管理行之有效,后面可通過分類分析軟件構件的使用情況,進一步補充完善構件庫,加大重用粒度,提高軟件的研發能力。
參 ?考 ?文 ?獻
[1] 毛洪川,韓潔,胡豪,王芳.軟件構件庫技術研究[J].科技傳播,2018(11).