軟件工程化實施問題與對策

前言:尋找寫作靈感?中文期刊網用心挑選的軟件工程化實施問題與對策,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

軟件工程化實施問題與對策

摘要:在調研航空制導武器系統軟件開發現狀的基礎上,對軟件工程化實施中的問題進行分析,并提出相應的對策與改進建議,期望提高軟件工程化水平和軟件產品質量。

關鍵詞:軟件工程;軟件質量;正向設計;軟件過程改進

軟件在航空制導武器系統中的應用日益廣泛,軟件質量對系統成敗的影響不斷增加,因此軟件工程化管理得到用戶和系統承制單位的高度重視;用戶在軟件計價、軟件貫標、軟件定型和軟件工程化檢查等方面的要求不斷提高,系統承制單位也根據產品研制的實際需要持續開展軟件工程化管理工作。為了進一步提高航空制導武器系統的軟件工程化水平,不斷提升軟件產品質量,經過內部調研和同行交流,本文針對航空制導武器系統在軟件工程化實施中的問題進行分析并提出相應的對策與改進建議。

1軟件工程化實施現狀

系統承制單位結合GJB5000A的實施,通過標準本地化建立了比較完整的軟件工程管理體系,從方針、過程、規范、模板等多個層次明確軟件工程化要求。在具體的型號研制過程中實施工程化管理:制定型號軟件工程化大綱明確本型號的軟件工程化要求;通過軟件研制進展跟蹤、軟件工程專項審查、進場軟件狀態清查、外協軟件管理等措施促進軟件工程化要求的落地;通過分析、整改型號軟件工程化實施過程中的問題,不斷優化軟件工程體系文件;通過“P-D-C-A”循環實施軟件工程業務的持續改進。

2主要問題與原因分析

經過持續改進,系統承制單位的軟件工程化管理取得了一定成效,但在軟件正向設計、軟件文檔質量、軟件測試效果、算法設計管理等方面依然存在諸多有待解決的問題。

2.1軟件正向設計未有效開展

按照軟件工程化要求,軟件編碼必須依照軟件需求分析和軟件設計的結果進行;但目前先編軟件代碼、后補設計文檔的現象仍然普遍存在,軟件研制沒有按照先設計后驗證的正向過程開展,而是通過編碼調試、不斷試錯來明確需求完成設計。究其原因,主要包括以下幾點:(1)系統級的正向設計未有效開展,系統分配給軟件完成的功能不明確,軟件研制缺少明確輸入;(2)型號線重結果、輕過程,關注軟件交付而忽視軟件研制過程;(3)軟件研制的人員“三分離”原則未落實,需求分析、軟件設計、軟件編碼工作經常由同一個人完成,軟件研制人員能夠跳過分析設計環節直接編碼隨后再補相關文檔;(4)進度安排不合理,軟件分析與設計的周期短、相關工作難以深入開展;五,軟件重用不規范,借鑒其他型號進行軟件研制時直接修改代碼而忽略分析與設計環節。

2.2軟件文檔質量普遍不高

軟件文檔記載了軟件需求分析和軟件設計的結果,是軟件開發、軟件測試以及軟件升級維護的重要依據,是定型審查時重點關注的內容,但目前系統承制單位的軟件文檔質量普遍不高。軟件內部測試和三方測試完成后,提出的文檔問題在所有問題中比重最高,大約占到65%的比例。軟件需求和軟件設計描述的不完整、不細致,嚴重影響軟件產品質量和軟件測試效果,并且在定型審查時需要花費大量精力完善軟件文檔;軟件文檔粗糙、軟件產品文實不一致為將來的軟件升級維護帶來隱患。軟件文檔質量不高的主要原因包括:(1)型號線重代碼、輕文檔,更關注文檔有無而忽視文檔質量,對需求粒度、文檔頁數等相關指標不關注;(2)軟件研制人員兼顧代碼編寫、調試試驗和文檔編制,精力不足;(3)評審把關不嚴格,集中表現為評審前未提前發放被評文檔、一次性突擊評審多個文檔、評審未對照檢查單有針對性開展。

2.3軟件內部測試效果不理想

軟件測試部門開展了單元、部件、配置項以及系統級的軟件內部測試,大幅提升了軟件質量。但內部測試完成后,三方測試和定型測評機構依然能夠提出較多問題,說明系統承制單位的軟件內部測試效果仍有較大提升空間。內部測試效果不理想的主要原因包括:(1)測試人員的能力有待提高:測試人員多數為計算機相關專業,缺少武器系統和嵌入式軟件的設計經驗,對被測產品的設計原理認識不夠深刻,對新的測試理念測試方法學習不及時;(2)軟件測試部門承擔的測試項目多、測試類型多,測試人員的精力嚴重不足;(3)型號線為軟件測試提供的工作時間極短,測試時間不充分,測試工作難以全面深入開展。

2.4算法設計管理不規范

目前,軟件設計部門都有專門的算法設計人員負責算法研究,軟件對算法的依賴性強,軟件研制后期的更改多數與算法相關。但目前算法設計在產品研制流程中的定位不明確,算法設計報告缺少規范和模板并且未納入技術狀態管理,算法設計的思想在軟件文檔中難以充分體現,軟件研制和軟件測試人員對算法設計思想理解不透徹,并因此對軟件質量和軟件測試效果帶來不利因素。

3應對措施與改進建議

針對上述問題,建議在后續的軟件工程化實施過程中,從如下幾方面采取措施、逐步改進。

3.1推進軟件正向設計

3.1.1在系統研制過程推行正向設計

建議在型號研制過程中推行基于模型的系統工程,提高武器系統的正向設計能力,為軟件正向設計奠定基礎。建議合理分配各階段的研制周期,在方案階段更多地通過數字樣機開展系統需求分析和架構設計,明確系統功能、性能指標,明確系統架構和各組件的功能、性能、接口關系,確定由軟件實現的功能以及不同軟件之間的接口關系,扭轉通過編碼調試、不斷試錯來獲取軟件需求的研發模式,為軟件正向設計創造有利條件。

3.1.2大力推進GJB5000A三級全面貫標

GJB5000A三級過程文件規定了軟件研制的流程規范,同時明確由軟件質量保證人員對軟件研制過程的規范性進行監督檢查。通過全面貫徹GJB5000A三級標準,落實軟件研制人員的“三分離”原則并合理分配軟件研制時間,保障軟件需求獲取、軟件需求分析和軟件設計工作充分開展,促使軟件研制人員按照標準規定的正向設計流程開展軟件研制工作,提升軟件產品質量。

3.1.3不斷充實軟件重用庫、規范軟件重用

軟件重用可以減少軟件開發活動中的重復性工作,提高軟件生產率,縮短軟件研制周期。結合GJB5000A三級貫標,系統承制單位已建立了軟件重用庫及其管理規范,各軟件研制部門應按要求對可重用模塊的需求、設計、代碼進行梳理,保證重用模塊的要素完整;通過軟件重用進行軟件開發時,應按正向設計流程對需求、設計和代碼進行完整地重用。

3.2提升軟件文檔質量

應嚴格落實設計評審要求,通過提升評審質量提高軟件文檔質量。評審會應邀請同行專家參與,評審前應提前發放被評文檔,評審必須對照檢查單開展,應充分保障評審時間、杜絕一次性突擊評審多份文檔的現象,評審發現的問題應如實記錄并逐一糾正,評審組長應嚴把評審質量關,軟件質量保證人員應對評審的規范性和有效性進行監督檢查。

3.3提升軟件測試效果

3.3.1測試融入設計過程、提前開展可測性分析

結合GJB5000A貫標,以V模型為規范開展軟件研制,將軟件測試融入設計過程,將可測性分析、測試策劃、測試用例設計工作與軟件設計工作并行開展;將軟件測試工作由原來的事后檢驗改為事前預防分析,提前發現軟件需求和軟件設計方案中的問題,提前開展測試策劃和測試用例設計工作,盡早發現軟件缺陷,縮短測試準備時間,提升測試效率和效果。

3.3.2優化軟件測試流程、提升團隊測試效果

將軟件單元、部件測試工作前移,由軟件研制人員在編碼完成后及時開展軟件單元、部件測試,以便盡早發現和修改軟件問題,并通過快速迭代減少出入庫次數來降低后期發現問題時的糾正成本、縮短軟件研制周期;軟件測試部門在軟件研制人員的單元、部件級自測試完成后,集中精力開展配置項和系統級測試,重點關注軟件功能、軟件架構、軟件設計方面的深層問題。

3.3.3優化人員知識結構、提升軟件測試能力

通過開展專題培訓,使軟件研制部門的單元、部件測試人員充分掌握軟件測試原理、測試方法和測試工具;通過人員輪崗、吸納產品設計人員加入軟件測試部門等方法,使配置項/系統測試人員進一步熟悉被測產品;組織測試人員對軟件測試的新理論新方法進行跟蹤學習,并與同行專家進行定期交流,不斷提高軟件測試能力;通過專家評審、抽查互檢等方式對軟件測試質量進行審查,促進測試能力與測試效果的提升。

3.4規范算法設計管理

由各軟件研制部門梳理產品研制流程,明確算法設計工作在產品研制流程中的定位,明確算法設計與軟件研制的關系,明確算法設計報告的編寫規范和模板樣例,并將算法設計報告納入技術狀態控制;上述內容確定后,以企業標準的形式予以明確,在軟件研制過程中予以落實。建議由算法設計人員編寫詳細的算法設計報告,軟件研制人員根據算法設計報告開展軟件需求分析和軟件設計工作,邀請算法設計人員參加軟件文檔評審,確保算法設計思想在軟件文檔中充分體現,保障軟件代碼質量和軟件測試效果。

3.5優化人力資源配置

為了推行正向設計、保證軟件質量,在軟件工程領域存在人員“三分離”原則,用戶和有關機構反復強調“應將分析設計隊伍與編程隊伍分開、編程隊伍與測試隊伍分開”。但目前人員“三分離”原則在系統承制單位未有效落實,由一兩個人完成整個軟件研制的情況十分普遍,經調研人力不足是“三分離”原則未落實的主要原因。此外,軟件工程化要求的落地需要開展大量細致深入的工作,軟件文檔質量不高、軟件測試效果不好、全面貫標實施困難等問題均與人力資源不足有重大關系。因此建議企業人力資源部門對軟件從業人員現狀進行調查分析,根據需要補充軟件研制人員。近幾年,軍工行業許多單位結合GJB5000A全面實施,將分散的軟件研制人員集中管理,設立專門的軟件需求分析、軟件設計、軟件編碼和軟件測試團隊,在實現人員“三分離”、促進軟件正向設計、推進軟件工程化實施方面取得了良好的效果。

3.6加強外協軟件工程化管理

由于軟件外協越來越多,加強對外協軟件的工程化管理十分必要。型號線應全面梳理外協軟件清單、明確管理對象,按要求選擇通過GJB5000A評價、具備軟件承制資格的外協單位,在簽訂外協合同時應在技術附件中明確軟件工程化管理要求,必要時在技術附件中對外協單位提出軟件三方測試要求,型號線應對外協軟件技術協議進行審查,在軟件研制過程中應定期開展外協軟件的工程化檢查,并參加任務書、需求等重要階段的文檔評審,在外協軟件交付前型號線應組織軟件驗收審查,確保承制單位將軟件工程化要求落在實處,確保外協軟件質量滿足需求。

4結論

軟件已經深入到人類生活的各個領域,軟件的功能日益復雜和強大,軟件失效所產生的影響也越來越大,在武器裝備領域更是如此。航空制導武器系統在軟件工程化實施過程中存在的諸多問題,應盡快設法解決,促進軟件工程化水平和軟件產品質量快速提高。

作者:王勇 單位:中國空空導彈研究院

亚洲精品一二三区-久久