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