當前位置:學問君>學習教育>畢業論文>

電子裝備軟件開發論文

學問君 人氣:1.61W

電子裝備的研製程序,是以硬件的設計爲主線而劃分階段的,現代電子裝備大量地嵌入了軟件開發,但文獻大多是把軟件和硬件研製按照獨立的兩個過程來描述的。本文根據現代電子裝備的研製實際,把包含硬件和軟件的過程以自然結合的方式加以描述,明確在電子裝備研製的各階段需要開展的軟件活動。

電子裝備軟件開發論文

0 引言

現代電子裝備的研製中,始終貫穿了兩個過程:即硬件研製和軟件的開發。這兩個過程其實是交織在一起,有些軟件的設計活動與硬件的設計還是迭代進行的。但又基於軟件設計與硬件設計各自不同的特性和規律,大多研製過程的程序檔案是把軟件和硬件研製按照獨立的兩個過程來描述或界定的。這樣就帶來一個問題,很多設計人員以及管理人員有時就不清楚在研製的各階段中應該開展哪些軟件的設計工作,或者某個軟件開發過程,對應於裝備研製過程的哪個階段,以至於在研製計劃的安排上,軟件與硬件的設計進程不能很好地同步,造成時間上的延誤。目前,還未見相關資料對此加以論述,所以,理清電子裝備在研製各階段的軟件開發工作還是十分必要的。

1 論證階段

論證階段的工作是進行戰術技術指標、總體技術方案的論證及研製經費、保障條件、研製週期的預測,主要進行技術、經濟可行性研究。嵌入式軟件是由於計算機技術的發展應運而生,軟件是硬件功能的更爲便捷高效的實現,所以,在論證階段,只需要論證人員瞭解基於嵌入式CPU、DSP等處理芯片和軟件的發展水平,並無實際具體的軟件開發工作。

2 方案階段

方案階段的主要工作是進行系統方案設計、關鍵技術攻關和新部件、分系統的試製與試驗,根據裝備的特點和需要進行模型樣機或原理性樣機研製與試驗。在此階段,要按照軟件工程化的要求,開展系統需求分析和設計,主要工作是按照GJB 2786A的相關要求分析系統對軟件的需求,確定軟件的實現和執行環境,對研製的軟件項目進行定義,形成軟件研製任務書。其具體工作是:

①透過獲取軟件所從屬的系統(或產品)的有關資料,分析系統的要求及實現環境;分析硬件和軟件的關係,進行可行性研究。②確定硬件環境和軟件環境。分析硬件和軟件的關係,定義硬件和軟件之間的接口;③確定系統的功能和性能要求,明確標識關鍵性要求;④將系統的功能和性能要求分配到軟件和硬件;⑤評估和確定軟件項目的安全關鍵性等級;⑥確定對關鍵計算機資源和資源餘量的要求。例如:處理器、時間、存儲器、I/O通道等資源的約束。

若要進行原理樣機的研製,則還需針對原理樣機的需求,開展軟件需求分析、軟件設計和編碼。

3 工程研製階段

工程研製階段的主要工作是根據批准的《研製任務書》進行武器裝備的設計、試製、試驗工作。在這個階段軟件的開發工作依次是:

3.1 軟件需求分析 軟件需求分析階段的主要目的爲每個計算機軟件配置項(CSCI)分配一組完整的功能、性能要求和一組完整的接口要求,並編制《軟件需求規格說明》和《接口需求規格說明》。主要工作內容有:

①根據《軟件研製任務書》定義的系統要求,建立軟件邏輯模型,自頂向下地把系統對軟件的需求逐層分解;②分配軟件的功能需求、性能需求、接口需求、操作需求、資源需求、確認測試需求、文檔需求、可靠性需求、安全保密需求、質量需求等,確保所有軟件需求分配到CSCI;③進行軟件安全關鍵性分析,提出安全性關鍵CSCI清單;④進行故障模式分析,確定可靠性冗餘設計需求;⑤對資源的需求進行分析;⑥編制《軟件需求規格說明》和《接口需求規格說明》。

在軟件需求分析中,軟件的功能需求、性能需求、接口需求、操作需求等都對軟件的`執行環境和資源提出了需求,所以,軟件需求分析須在《軟件研製任務書》下達後即可進行,以便給硬件的設計提供依據。

3.2 軟件設計 《軟件需求規格說明》透過評審後,即可進入軟件設計。其主要的工作有:

①將需求分析階段建立的邏輯模型轉化爲能實現軟件需求的實現模型;②進行CSCI體系結構設計。設計軟件的總體層次結構,採用自頂向下的方法,把《軟件需求規格說明》和《接口需求規格說明》的要求逐項分解到計算機軟件配置項的計算機軟件部件(CSC);③設計各CSC接口相關的數據結構(或數據庫)、數據流和控制流;④進行安全性設計,使關鍵、重要部件符合軟件安全性要求;⑤如果軟件研製合同/研製任務書中對交付軟件的編程語言有明確規定,則軟件項目組應遵循其要求。否則應按照軟件繼承性、通用化和標準化的要求選取編程語言;⑥軟件項目組應確定所遵循的軟件編碼標準;⑦針對資源的要求進行設計,包括運算能力、時間、存儲、I/O通道、數據庫等資源;⑧進行CSCI詳細設計。將構成軟件系統的各個軟件部件(CSC)逐步細化,形成若干軟件單元(CSU);⑨採用程序流程圖或其它表示方法對各個軟件單元進行過程描述,包括算法和數據結構;⑩設計各軟件單元間的接口資訊。

3.3 編碼和單元測試 軟件設計(含接口和數據庫設計)說明透過了評審,即可進入編碼和單元測試階段。其主要的工作有:

①根據軟件設計說明對各軟件單元進行編碼,確保軟件代碼正確實現了設計的邏輯並滿足相關的約束和要求;②軟件原始碼的編寫應遵循軟件編碼標準的要求;③對編碼完成的軟件單元進行編譯,採用合適的調試技術查找和糾正其中的錯誤;④採用靜態分析工具對軟件所有單元的原始碼進行靜態分析,找出其中的缺陷、錯誤、違背編碼標準之處,並加以分析和糾正;⑤按照GJB/Z 141《軍用軟件測試指南》的要求,對所有軟件單元進行動態測試;⑥使用單元測試工具,編制測試用例、開發單元測試輔助程序;⑦按照軟件文檔編制與管理指南的格式要求編制《軟件單元測試計劃》、《軟件單元測試說明》文檔;⑧執行單元測試用例和輔助程序,填寫單元測試記錄單;⑨確認和糾正單元測試中發現的問題,並進行單元迴歸測試。

3.4 軟件集成和部件測試階段 軟件單元測試達到測試要求,透過評審後,即可進入軟件集成和部件測試階段。其主要的工作有:

①採用增量式的集成方法,將軟件單元逐步集成爲軟件部件、構件直至軟件配置項;②按照GJB/Z 141《軍用軟件測試指南》的要求,對所有軟件部件進行測試;③編制《軟件部件測試計劃》;④按測試計劃建立部件集成測試環境,編寫測試用例和測試輔助程序;⑤編制《軟件部件測試說明》;⑥確認和糾正軟件部件測試中發現的問題,對文檔和代碼進行必要的修改,並透過迴歸測試;⑦軟件部件測試需求覆蓋率和調用對覆蓋率均應達到100%,未達到測試覆蓋率指標的,應給出合理的說明。

3.5 軟件配置項(CSCI)測試 軟件部件測試報告透過了評審後即可進入軟件配置項(CSCI)測試。軟件配置項(CSCI)測試工作可以由研製單位軟件測試專門機構完成,也可以由用戶指定的第三方軟件測評機構完成。其主要內容有:

①根據軟件需求規格說明和軟件設計說明文檔,識別軟件測試需求;②編寫《軟件配置項測試計劃》和《軟件配置項測試說明》;③建立軟件配置項的測試環境;④按照軟件研製任務書中規定的測試類別,對識別出來的每個測試項分別編制測試用例和測試輔助程序。

3.6 軟件系統測試 軟件配置項測試報告透過了評審後即可進入軟件系統測試。由用戶指定的第三方軟件測評機構完成。其主要內容有:

①根據《軟件研製任務書》、《軟件需求規格說明》和《軟件設計說明》文檔,識別軟件測試需求;②建立系統測試環境;③編寫《系統測試計劃》和《系統測試說明》;④按照《軟件研製任務書》中規定的測試類別,對識別出來的每個測試項分別編制測試用例和測試輔助程序;⑤根據測試結果對設計文檔和代碼進行修改,並實施所有必需的迴歸測試。

軟件單元測試和軟件集成和部件測試,可在搭建的仿真環境中進行,但對性能方面的測試,最好在真實的目標環境中進行,這就要求,硬件的組件(模組)設計、組合或分系統設計在時間安排上與之相匹配。

軟件配置項(CSCI)測試和軟件系統測試,屬合格性測試,按照軟件工程的要求,嚴格地講,應該在正樣機鑑定之前進行。軟件配置項測試可在承製單位內部的軟件測試專門機構進行測試,如使用方有要求,需在由用戶指定的第三方軟件測評機構進行。軟件系統測試,一般在由用戶指定的第三方軟件測評機構進行。

在實際工作中,由於時間、經費等方面原因,經過使用方和承製方協商達成共識,也可在正樣機鑑定時不進行合格性測試,而在設計定型階段由定委指定軟件測評機構進行軟件測評即可。

4 設計定型階段

設計定型階段軟件工作主要是進行軟件測評。軟件測評,是透過軟件測試,來評價軟件是否滿足研製要求。軟件測評由定委指定的軟件測評機構完成。軟件測評和基地試驗、部隊試驗同步進行。

5 結束語

電子裝備的研製程序,是以傳統的硬件研製過程爲主線進行的,而現代電子裝備,嵌入了軟件的研製過程,這是一個有別於硬件研製模式、又分屬於兩個團隊的研製過程,深入瞭解硬件研製和軟件研製過程各階段關聯性,對於科學合理安排研製計劃,有效管理研製進程,提高研製效率,都具有重要的作用。