常克武 賈衛(wèi)松
(1 中國衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室,北京 100054)(2 北京空間飛行器總體設(shè)計部,北京 100094)
北斗導(dǎo)航試驗衛(wèi)星綜合電子軟件研制管理經(jīng)驗與啟示
??宋?賈衛(wèi)松2
(1 中國衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室,北京 100054)(2 北京空間飛行器總體設(shè)計部,北京 100094)
從軟件管理、研制流程、溝通機制、開發(fā)模式、配置管理、產(chǎn)品質(zhì)量6個方面總結(jié)了北斗全球衛(wèi)星導(dǎo)航系統(tǒng)試驗衛(wèi)星綜合電子軟件研制工作管理實踐的主要措施,通過研制成果驗證了管理實踐措施的有效性,并概括了對北斗全球衛(wèi)星導(dǎo)航系統(tǒng)組網(wǎng)建設(shè)及其他后續(xù)衛(wèi)星的軟件研制的啟示。
北斗全球衛(wèi)星導(dǎo)航系統(tǒng)試驗衛(wèi)星;綜合電子軟件;管理;啟示
北斗全球衛(wèi)星導(dǎo)航系統(tǒng)試驗衛(wèi)星(以下簡稱試驗衛(wèi)星)目的是完成總體方案和技術(shù)體制、關(guān)鍵技術(shù)、系統(tǒng)間接口和運行管理的在軌試驗與驗證,確定全球系統(tǒng)技術(shù)狀態(tài),為北斗全球?qū)Ш叫l(wèi)星系統(tǒng)組網(wǎng)建設(shè)提供支持。綜合電子系統(tǒng)是衛(wèi)星信息處理中樞核心,是對衛(wèi)星進行高效可靠的管理和控制,在整星甚至星座內(nèi)進行信息統(tǒng)一處理和共享,實現(xiàn)多航天器、航天器內(nèi)多應(yīng)用過程與多用戶之間任務(wù)協(xié)同[1]的一體化電子系統(tǒng)。試驗衛(wèi)星綜合電子系統(tǒng)軟件(以下簡稱綜合電子軟件)裝載于綜合電子系統(tǒng)設(shè)備中,是實現(xiàn)系統(tǒng)能力的核心。由于綜合電子軟件技術(shù)狀態(tài)新、要求自主運行、需求迭代次數(shù)多、測試驗證復(fù)雜、多系統(tǒng)配合、資源緊張等難點,因此,綜合電子軟件研制管理工作過程中采取了多項新措施。
綜合電子軟件交付后,經(jīng)歷了整星電測、力學(xué)試驗、熱真空試驗及發(fā)射場測試等階段,技術(shù)狀態(tài)嚴(yán)格受控;在衛(wèi)星發(fā)射后,各項在軌驗證與技術(shù)試驗中綜合電子軟件功能及性能均滿足需求,并健康穩(wěn)定運行。這些都充分說明了綜合電子軟件質(zhì)量保證充分,過程管理有效。綜合電子軟件研制工作的管理實踐,為后續(xù)正樣組網(wǎng)衛(wèi)星的批量化生產(chǎn)奠定了技術(shù)、生產(chǎn)與組織管理等方面的堅實基礎(chǔ)。
本文分析了綜合電子軟件研制的任務(wù)特點,從軟件管理、研制流程等6個方面詳細闡述了管理實踐的主要新措施,根據(jù)實踐效果為后續(xù)衛(wèi)星的軟件研制提出了建議。
1)技術(shù)狀態(tài)新
試驗衛(wèi)星的新環(huán)境、新模式、新技術(shù)、新狀態(tài)較多,同時整星研制進度緊張。為支持整星快速測試驗證,綜合電子軟件需要在整星構(gòu)建初期便提供先期驗證版本,并在之后不斷根據(jù)設(shè)計狀態(tài)的變更及需求的增加而升級。而整星諸多設(shè)備的信息需求及接口變化,均需要迅速在綜合電子軟件中得到服務(wù)響應(yīng),并進行版本維護。
2)信息流復(fù)雜
試驗衛(wèi)星信息傳輸通道接口多,信息類型豐富,信息路徑關(guān)系復(fù)雜,涉及地面測控、地面運控、星間通信各大系統(tǒng)接口。綜合電子系統(tǒng)是信息樞紐,其軟件承擔(dān)了信息處理及協(xié)議轉(zhuǎn)換的核心業(yè)務(wù)。測控/運控/星間三條鏈路相互備份,使信息的梳理及測試驗證工作更加復(fù)雜。
3)研制單位交叉
綜合電子軟件采用全新的配套開發(fā)模式,各單位的配置項通過聯(lián)合編譯形成最終的目標(biāo)碼。配置項之間交互的匹配性直接影響產(chǎn)品運行的正確性和穩(wěn)定性。不同單位并行研制并進行交叉交付與驗證,給工程管理帶來了新的特點。
4)多星并行研制
試驗衛(wèi)星由多顆中高度地球軌道(MEO)衛(wèi)星和傾斜地球同步軌道(IGSO)衛(wèi)星組成。MEO衛(wèi)星發(fā)射采用多星發(fā)射,每兩次發(fā)射時間僅間隔3個月。多星并行研制涉及人員、設(shè)備資源、地面測試環(huán)境等關(guān)鍵生產(chǎn)要素的協(xié)調(diào),給整個研制進度帶來較大風(fēng)險。多星項目進度的緊迫性又使軟件測試周期縮至最短,測試完備性較難保證。星間鏈路對接、測控對接和運控對接等試驗多線并舉,使軟件研制時間更加緊迫。
1)理論實踐結(jié)合,規(guī)范軟件管理
《軍用軟件研制能力成熟度模型》(GJB 5000A)借用了美國卡內(nèi)基-梅隆大學(xué)的軟件工程研究所(SEI)為美國國防部研究制訂的一種評估軟件承包商能力的辦法,強調(diào)通過“過程管理”能力的提高,最終實現(xiàn)軟件研制質(zhì)量由組織的過程管理而非研發(fā)團隊的能力來決定[2]。
在研制、管理難度大的背景下,綜合電子軟件研制工作將GJB 5000A理論與項目實踐相結(jié)合,按照GJB 5000A三級的18個“過程域”的要求,將軟件的研制過程細分為配置管理、測量與分析、項目監(jiān)控、項目策劃、過程和產(chǎn)品質(zhì)量保證、需求管理、供方協(xié)議管理、決策分析和決定、集成項目管理、組織過程定義、組織過程焦點、組織培訓(xùn)、產(chǎn)品集成、需求開發(fā)、風(fēng)險管理、技術(shù)解決方案、確認和驗證等,并分別制定了管理要求。
項目策劃過程中,依照“集成項目管理、風(fēng)險管理、確認與驗證”等過程域的要求,對軟件研制的工作量、進度進行了估計,制訂了詳細的進度表及風(fēng)險管理計劃、利益相關(guān)方參與計劃、資源管理計劃、測試與驗證計劃、配置管理計劃,并對需重點決策的事件進行評估,規(guī)范了軟件管理過程。
2)優(yōu)化研制流程,分步策劃實施
綜合電子技術(shù)狀態(tài)新,當(dāng)單機硬件研制結(jié)束時整星電測節(jié)點也很臨近,造成軟件研制時間緊張。此外,軟件研制流程同時受到地面測試設(shè)備及需求確定性的制約,任何一個環(huán)節(jié)控制不好,都有可能導(dǎo)致生產(chǎn)計劃后延。按照識別優(yōu)化項目、確定優(yōu)化目標(biāo)、制定優(yōu)化方案、實施優(yōu)化策略的步驟[3],軟件項目組在策劃中對全生命周期的工作進行細致全面分解,準(zhǔn)確分析短板和風(fēng)險點,并對優(yōu)化后的方案分步實施,圖1為綜合電子分系統(tǒng)軟件研制的主要歷程。一方面將軟件研制啟動時間提前,充分利用軟仿真形成初始版本,當(dāng)硬件到位時第一時間加載調(diào)試成型軟件;另一方面明確關(guān)鍵短線并重點監(jiān)控,對難點和風(fēng)險點制定相應(yīng)的措施;為確保多套正樣產(chǎn)品同時測試,增加關(guān)鍵單機的配套數(shù)量,提前啟動測試設(shè)備的研制,保證測試環(huán)境的完整性建設(shè)。
圖1 綜合電子軟件研制歷程Fig.1 Development of integrated electronic subsystem software
3)多單位交叉協(xié)作,建立溝通機制
綜合電子軟件中的核心是由多單位的軟件聯(lián)合編譯而成,多方協(xié)同的關(guān)鍵在于軟件接口界面。為保證風(fēng)險可控,在任務(wù)分解的基礎(chǔ)上,首先明確多方軟件的功能和職責(zé),進而劃定軟件接口的數(shù)據(jù)流向、責(zé)任控制主體,確保接口定義清晰嚴(yán)密;為保證各方軟件故障隔離,對資源分配、編碼規(guī)則、數(shù)據(jù)交互、任務(wù)模式進行統(tǒng)一約定, 規(guī)避內(nèi)存訪問越界、時序死鎖等軟件間的安全性影響;在軟件交付中采用交叉交付模式,創(chuàng)建聯(lián)合開發(fā)框架,由A單位先行將程序交付B單位,B單位對軟件進行合版編譯后,交付A單位進行后續(xù)開發(fā),采用分時聯(lián)試的方法進行驗證,從流程上避免交叉協(xié)作對研制主線的影響。形成接口控制協(xié)議及接口程序復(fù)查報告,并由專家審查把關(guān)。建立溝通機制,加強項目辦公室與設(shè)計師對科研進度匹配的溝通;加強分系統(tǒng)間軟件接口及聯(lián)試溝通,加強芯片及單機生產(chǎn)方溝通,消除多單位間可能存在的責(zé)任不落實項目,避免模糊區(qū)域存在。
4)敏捷開發(fā),嚴(yán)控技術(shù)狀態(tài)
為保證在需求變化,尤其是自主運行技術(shù)狀態(tài)不確定情形下的軟件質(zhì)量控制,綜合電子軟件采用敏捷開發(fā)與傳統(tǒng)瀑布模型結(jié)合的方式。敏捷軟件開發(fā)是一種應(yīng)對變化需求,以人為核心、迭代、循序漸進的開發(fā)方法,可以持續(xù)、快速交付高質(zhì)量軟件[4]。在敏捷開發(fā)中,把綜合電子軟件項目切分為多個相互聯(lián)系,但也可獨立運行的子項目。各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征,由不同設(shè)計師分別完成。在開發(fā)過程中集成軟件一直處于可使用狀態(tài),隨時可以交付整星配合各分系統(tǒng)及單機的驗證。同時,為保證敏捷開發(fā)中軟件功能擴展更改的技術(shù)狀態(tài)控制,從項目有效性、影響分析完整性、試驗驗證充分性及更改落實全面性等多方面進行[5]。指定專人跟蹤技術(shù)狀態(tài)的確定與科研協(xié)調(diào),并由設(shè)計師分別負責(zé)追蹤子項目的更動影響分析、試驗驗證及更改落實情況,確保全研制生命周期的質(zhì)量可控。
5)優(yōu)化配置管理,主體與變體控制
為了規(guī)范多星軟件并行研制流程,統(tǒng)一研制管理和實施要求,保證軟件工程化工作有序開展,綜合電子軟件采用主體與變體配置管理模式。將僅通過修改參數(shù)或者完全不修改即可滿足型號多顆衛(wèi)星使用需求的軟件配置項作為主體;以每顆衛(wèi)星根據(jù)本身固有的需求,在主體基礎(chǔ)上進行參數(shù)修改,而形成的可裝載于某顆衛(wèi)星上的軟件配置項作為變體。通過記錄主體的研制和演進歷程及相應(yīng)配置狀態(tài)形成主線,通過記錄變體在主體基礎(chǔ)上經(jīng)過的研制和演進歷程及相應(yīng)配置狀態(tài)形成分支。試驗衛(wèi)星以全球衛(wèi)星導(dǎo)航系統(tǒng)衛(wèi)星的綜合電子軟件配置項為主體,形成MEO軌道雙星和IGSO軌道衛(wèi)星3個分支的變體,在確保軟件質(zhì)量的前提下剔除重復(fù)的開發(fā)步驟,提高軟件研制效率。圖2為主體、變體、主線和分支的演進圖。
圖2 主體、變體、主線和分支的演進Fig.2 Evolution of subject,variant,main line and branch
6)強化可靠性設(shè)計,規(guī)范分析測試
在信息流復(fù)雜、進度緊張的前提下,任何疏忽都可能對研制工作造成顛覆性影響,規(guī)范產(chǎn)品的可靠性設(shè)計、分析、試驗和驗證過程成為重中之重[6]。可靠性工作圍繞軟件工程化、輸入條件梳理及接口復(fù)查、分系統(tǒng)軟件測試的覆蓋性檢查3個方面展開。嚴(yán)格按照軟件工程化流程[7],首先形成設(shè)計文檔,在文檔經(jīng)過評審、仔細推敲、覆蓋所有需求及故障響應(yīng)后,方進行代碼升級或?qū)崿F(xiàn),避免由于分析不深入導(dǎo)致重復(fù)開發(fā)。對輸入條件進行清理,對星內(nèi)、星地、星間數(shù)據(jù)流進行清理并進行專家把關(guān)審查,形成準(zhǔn)確的技術(shù)狀態(tài)基線。提前策劃及投產(chǎn)測試設(shè)備,專人負責(zé)清理測試細則,并通過評審確定用例的測試覆蓋性;大力推進自動化測試設(shè)備研制,以期在縮短軟件產(chǎn)品測試周期的同時保證交付質(zhì)量。
通過研制過程的合理管控,綜合電子軟件在各研制階段技術(shù)狀態(tài)嚴(yán)格受控,并按計劃交付用戶。在各階段測試及試驗過程中,軟件可靠性指標(biāo)、數(shù)據(jù)存儲余量、總線負載余量、處理器機時裕度均滿足指標(biāo)要求,軟件落焊后故障率為0%,星間-星地信息流等專項復(fù)查項目都無隱患,軟件出廠后無質(zhì)量問題發(fā)生。試驗衛(wèi)星綜合電子軟件研制工作管理實踐為組網(wǎng)星的批量生產(chǎn)積累了經(jīng)驗,也為其他衛(wèi)星的軟件研制提供了借鑒,并得到如下啟示。
1)以GJB 5000A理論指導(dǎo)過程管理
過程管理是保證軟件產(chǎn)品質(zhì)量穩(wěn)定的重要手段,GJB 5000A及軟件能力成熟度模型(CMM)理論已是國內(nèi)外軍、民公認的管理理論基礎(chǔ),并在綜合電子軟件研制中起到了重要作用。組網(wǎng)星軟件產(chǎn)品研制有試驗衛(wèi)星軟件研制的基礎(chǔ),但也面臨著批量大、研制人員少和進度緊張等新風(fēng)險。在組網(wǎng)星軟件研制中,首先要堅持以先進的GJB 5000A來進行項目管理,確定軟件管理的理論基礎(chǔ)。只有這樣,才能確保軟件研制的各個方面都得到有效管理,指導(dǎo)資源的分配和保證項目各個階段的狀態(tài)得到控制,才能最終保證軟件產(chǎn)品研制的效率和質(zhì)量。
2)以瀑布模型為基礎(chǔ)開展敏捷開發(fā)
傳統(tǒng)軟件開發(fā)采用瀑布模型,強制開發(fā)人員采用規(guī)范的方法,嚴(yán)格規(guī)定每個階段必須提交的文檔,要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證,以保證軟件的質(zhì)量。但是瀑布模型存在缺點:在軟件正式交付之前,總體僅能通過文檔了解產(chǎn)品狀態(tài),而且由于衛(wèi)星軟件研制周期較長[8]、技術(shù)狀態(tài)新,期間軟件的需求必然會發(fā)生變化。試驗衛(wèi)星綜合電子軟件在以瀑布模型基礎(chǔ)上融合敏捷開發(fā)模式,使軟件研制進度快速推進,在保證控制技術(shù)狀態(tài)的基礎(chǔ)上為衛(wèi)星提供了最優(yōu)的功能解決方案。組網(wǎng)星研制時間更加緊張,綜合電子軟件的敏捷迭代開發(fā)的優(yōu)勢將更加明顯。敏捷開發(fā)與瀑布模型結(jié)合的關(guān)鍵是:迭代過程應(yīng)盡量避免更動已經(jīng)完成的模塊,否則會導(dǎo)致重復(fù)測試,反而使進度拖延。
3)以主體與變體配置管理嚴(yán)控技術(shù)狀態(tài)
綜合電子軟件經(jīng)歷開發(fā)及回歸測試等多階段版本升級,軟件技術(shù)狀態(tài)嚴(yán)格受控,主線及多星分支演進層次清晰,主體及變體之間差異明確,主體確定后變體研制速度提升80%,充分證明基于主體和變體的配置管理模式對全球衛(wèi)星導(dǎo)航系統(tǒng)衛(wèi)星的組網(wǎng)建設(shè)有效適用。在配置管理操作方法上,由于變體需求的提出來源于主體基礎(chǔ)上的修改,而其研制及演進歷程分支與主體獨立存在,因而在制定主體需求時,應(yīng)全面覆蓋且明確變體修改部分,簡化流程并提高研制效率。
試驗衛(wèi)星綜合電子軟件研制工作的管理經(jīng)驗,為后續(xù)組網(wǎng)衛(wèi)星的批量化生產(chǎn)奠定了技術(shù)、生產(chǎn)與組織管理等方面的堅實基礎(chǔ)。研制團隊在規(guī)定的時間內(nèi),以嚴(yán)格受控的技術(shù)狀態(tài),安全可靠的軟件質(zhì)量,緊密匹配的整星技術(shù)流程,圓滿完成了研制任務(wù),實現(xiàn)了軟件在軌穩(wěn)定運行。其在軟件過程管理、質(zhì)量保證、風(fēng)險控制、流程優(yōu)化、配置管理等方面的探索與實踐的經(jīng)驗,對導(dǎo)航衛(wèi)星及其他后續(xù)衛(wèi)星軟件研制有重要參考價值。
References)
[1] 趙和平. 以綜合電子技術(shù)構(gòu)筑航天器智能化的坦途[J]. 航天器工程,2015,24(6): 1-6
Zhao Heping. To build a highway to spacecraft intelligentization with avionics technology[J]. Spacecraft Engineering,2015,24(6): 1-6 (in Chinese)
[2]中國人民解放軍總裝備部. GJB 5000A-2008 軍用軟件研制能力成熟度模型[S]. 北京:總裝備部軍標(biāo)出版發(fā)行部,2008
General Armament Department of the Chinese People’s Liberation Army. GJB 5000A-2008 Capability maturity model for military software development [S]. Beijing: Army Standards Press of General Armament Department,2008 (in Chinese)
[3]陳濤,李琦,王鑫,等. 宇航型號研制流程優(yōu)化管理實踐[J].航天工業(yè)管理,2013(9):64-67
Chen Tao,Li Qi,Wang Xin,et al. Management practice of aerospace model development process optimization[J]. Aerospace Industry Management,2013(9):64-67 (in Chinese)
[4]范洪濤. 敏捷軟件開發(fā)應(yīng)用研究[D]. 成都: 西南交通大學(xué),2009
Fan Hongtao. Research on the application of agile software development[D]. Chendu: Southwest Jiaotong University,2009 (in Chinese)
[5]尚志,于瀟. 神舟七號飛船技術(shù)狀態(tài)控制管理探討[J]. 航天器工程,2008,17(6):1-3
Shang Zhi,Yu Xiao. Discussion of Shenzhou-7 manned spaceship configuration control and management[J]. Spacecraft Engineering,2008,17(6):1-3 (in Chinese)
[6]袁家軍. 航天工程精細化質(zhì)量管理[J].中國工程科學(xué),2011,13(8):38-44
Yuan Jiajun. Meticulous quality management in aerospace project[J]. Engineering Science,2011,13(8):38-44 (in Chinese)
[7]張曉龍. 現(xiàn)代軟件工程[M]. 北京:清華大學(xué)出版社,2011
Zhang Xiaolong. Modern software engineering[M]. Beijing: Tsinghua University Press,2001 (in Chinese)
[8]楊松,潘騰,羅繼強,等.高分二號衛(wèi)星研制工作管理實踐與思考[J].航天器工程,2015,24(z2):13-18
Yang Song,Pan Teng,Luo Jiqiang,et al. Practice and exploration in development of Gaofen-2 satellite[J]. Spacecraft Engineering,2015,24(z2):13-18 (in Chinese)
(編輯:張小琳)
Practice and Inspiration in Development of Integrated Electronic Subsystem Software for Test Satellite of Beidou Navigation Satellite System
CHANG Kewu1JIA Weisong2
(1 China Satellite Navigation Office,Beijing 100054,China) (2 Beijing Institute of Spacecraft System Engineering,Beijing 100094,China)
New technologies, such as complex information flow, cooperation of department and concurrent development of multi-satellite, bring about great challenge to the management of integrated electronic subsystem software.This paper summarizes the main measures of management in six respects: GJB 5000A, technological process, communication mechanism, development model, configuration management and product quality, verifies effectiveness of the measures by the development achievements and outlines the inspiration for the management of software deve-lopment in the construction of Beidou global navigation satellite system and other satellites.
test satellite of Beidou global navigation satellite system; integrated electronic subsystem software; management; inspiration
2016-06-30;
2016-07-12
國家重大科技專項工程
常克武,男,碩士研究生,工程師,從事導(dǎo)航衛(wèi)星總體設(shè)計與研制管理工作。Email:changkewu@163.com。
V57
A
10.3969/j.issn.1673-8748.2016.04.017