新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 談GJB5000A二級在中小型嵌入式軟件研發(fā)中的應用

談GJB5000A二級在中小型嵌入式軟件研發(fā)中的應用

作者: 時間:2012-08-18 來源:網絡 收藏

1.4 項目管理信息化手段的
工欲善其事,必先利其器。工程化管理主要通過文檔來反映過程。如果通過傳統(tǒng)的人工撰寫文檔和凡事開會溝通的方式進行項目管理的話,將會大大增加管理人員和設計師人員的工作量,況且這種方式的效率是十分低下的。因此有必要先進的項目管理信息化工具。
目前,關鍵科技公司推出專門針對工程化產品的解決方案,包括KPFLOW、KRFLOW、KCFLOW和KTFLOW四類工具:
(1)KPFLOW:對軟件項目的進度、成本、質量、資源等情況進行集成管理的平臺。其主要功能包括:任務分配與跟蹤、項目估計、項目周報和個人周報記錄、問題與風險管理、項目度量分析。該平臺支持系統(tǒng)建模,即意味著可以針對不同項目設計對應的模板和模塊。該平臺主要體現PP、PMC、MA和PPOA四個過程域的信息化管理;
(2)KRFLOW:需求管理工具,其主要功能包括:需求的獲取和編輯、需求跟蹤和分析、變更建議系統(tǒng)、基線管理。該軟件主要實現REQM過程域的信息化管理工作;
(3)KCFLOW:確保軟件項目生存周期內產品的完整性、一致性和可追溯性。其主要功能包括:配置計劃管理、變更控制、版本管理、產品依賴關系和一致性管理、軟件問題跟蹤管理、軟件配置狀態(tài)審計。該軟件實現了CM過程域的信息化管理,同時也可以管理REQM和PPQA兩個過程域;
(4)KTFLOW:測試過程的管理軟件,其主要功能包括:梳理測試需求、制定測試計劃、設計測試用例、執(zhí)行測試過程、輸出測試報告。該軟件幫助測試人員在短時間內、大批量的完成多個項目的軟件測試。
這四類工具有兩個特色:一是它們相互之間可以進行數據互聯,幫助管理人員從不同角度監(jiān)督研制過程;二是工具支持文檔自動生成,項目組人員只需要按照GJB438B模板,填寫部分軟件研制過程的信息,即可輸出標準化的文檔。
盡管具有功能強大的工具,但是在初期實踐階段,由于丁具普及的程度參差不一,我們先使用KCFLOW配置管理工具,先由組織級配置管理員負責使用,然后逐步對項目級配置管理員以及項目相關成員進行推廣。在這個過程中,項目組成員需要不斷的實踐,逐步提高勞動效率。

2 軟件可靠性的提高
2.1 軟件可靠性
軟件工程化的核心是為了實現好的軟件,而評價軟件好壞的關鍵標準是軟件可靠性。軟件可靠性(Software Reliability)指的是在給定時間和特定環(huán)境要求下,軟件完成規(guī)定功能的能力。針對在雷達系統(tǒng)中使用的軟件中,可靠性指標一般隸屬于分系統(tǒng)或整機的指標,即在初始系統(tǒng)正常的條件下,在規(guī)定時間內,軟件不引起系統(tǒng)故障的能力。
由于嵌入式軟件與硬件結合相當緊密,其可靠性指標具有很大的隨機性,如外界環(huán)境變化、系統(tǒng)輸入出錯、使用不當以及軟硬件設計的固有缺陷等原因都會導致軟件可靠性指標降低,但是不能因為這些困難,使得嵌入式軟件可靠性的保證成為空談。軟件可靠性是可以通過軟件工程化的實踐來提高。
2.2 軟件可靠性的提高
嚴格進行軟件工程化管理是提高軟件可靠性的必經之路。按照軟件工程化要求,需要做好如下五方面工作:
(1)前期項目組針對軟件進行充分的論證和分析,爭取將軟件需求明確體現在軟件研制任務書中;
(2)設計過程中,盡量提高軟件模塊或單元的高內聚性、低耦合性。單元之間的接口盡量明晰,整個系統(tǒng)軟件的復雜度不易過高,該拆分的就需要合理拆分為多個組成部分;
(3)加強軟件文檔的健全性和準確性,按照GJB438B-2009《武器系統(tǒng)軟件開發(fā)文檔》的要求,軟件研制過程中的文檔不能有缺失、描述不清、前后矛盾等情況出現。這些文檔必須經過專業(yè)人士的評審認可,并且問題回歸后才能進行歸檔;
(4)逐步建立軟件標準化工作,包括文檔標準化和代碼模塊標準化,這樣可以有利的縮短研制周期,降低研制風險,提高軟件產品的重用率;
(5)切實加強嵌入式軟件的測試工作。

3 軟件測試
3.1 軟件測試的重要性
盡管軟件工程化管理工作對軟件質量的保證起到至關重要的作用,但是技術人員依然心存質疑,是否好的管理就能夠確保高可靠性的軟件。答案就在于軟件測試。軟件測試是將軟件可靠性指標具體化的手段。從廣義上講,軟件測試是為了盡快盡早地、不斷地發(fā)現各種軟件缺陷而開展的對軟件及過程產品的驗證和確認活動。從狹義上講,軟件測試包括4類測試:
(1)針對軟件源代碼的靜態(tài)測試和代碼審查,確保軟件源碼符合GJB5369《航天型號C語言安全子集》或其他開發(fā)語言標準的要求;
(2)針對《軟件設計說明》對應的軟件模塊的單元測試和動態(tài)測試,確保軟件模塊的代碼覆蓋率達到100%;
(3)針對《需求規(guī)格說明》對應的軟件功能性能的集成測試,確保軟件功能、性能、外部和內部接口等符合要求;
(4)針對《軟件研制任務書》對應的軟件需求的系統(tǒng)測試或驗收測試,確保軟硬件各項指標符合用戶的驗收要求。
在這個測試過程中,測試問題及問題數目、測試問題的歸零情況、測試問題中文檔問題和軟件問題的比例、階段測試的缺陷率、軟件故障等級、軟件失效概率等度量數據可以直觀地反映出軟件的可靠性狀況。因此軟件測試工作對于軟件研制起到關鍵的保障作用。
3.2 軟件測試工具的
軟件測試是一項有難度的專業(yè)技術工作,除了人工代碼走查、問題記錄分析工作之外,大部分工作需要專業(yè)的軟件測試工具完成。
英國LDRA公司的LDRA Testbed測試軟件是目前針對嵌入式軟件測試最有效的丁具之一。該軟件主要可以實現代碼評審、質量評審、設計評審、單元測試、測試確認以及整個過程的測試管理功能。代碼評審考察了軟件源代碼對編程規(guī)則的適應以及代碼結構的合理性;質量評審分析了代碼的圈復雜度、循環(huán)嵌套和不可達性,反映出代碼的清晰性、可維護性和可測試性;設計評審包含接口分析、數據流分析、數據對象分析,確保了代碼與《需求規(guī)格說明》的一致性;單元測試包含動態(tài)測試,主要測試代碼的語句覆蓋和分支覆蓋程度;測試確認采用自動化的方法對于測試產生的問題進行回歸和記錄,自動輸出測試用例集和軟件測試報告。
對于該丁具的具體使用上,需要注意兩點,一是該軟件還不能有針對性的自動生成測試用例,也就意味著我們需要針對前文提到的三類軟件進行人工設計和輸入測試用例,并將這些測試用例標準化后存入測試庫中作為范例;二是該軟件主要面對的是軟件源碼,因此如果遇到需要軟硬件結合測試的情況,還需要使用實時在線測試工具,如RTInsight軟件或半實物仿真測試平臺等。
軟件測試工具可以極大的解放開發(fā)和編碼人員,我們必須建立專業(yè)化的測試標準、測試平臺、測試隊伍,這樣才可有效的保證軟件產品的質量。

4 結束語
軟件工程化的實踐在整個軟件研制過程中是一個逐步深化,不斷提升的過程。因此不能抱有“一勞永逸”的麻痹思想,而是應該加強實踐,建立愈加完善的軟件項目管理體系,同時切實做好軟件測試工作,確保軟件的高可靠性。相信只要通過科研工作者和管理者的努力,一定會使我們的軟件工程化水平得到很大的提高!

本文引用地址:http://2s4d.com/article/148572.htm
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉