模型覆蓋率在嵌入式軟件開發(fā)中的應用_圖文_第1頁
模型覆蓋率在嵌入式軟件開發(fā)中的應用_圖文_第2頁
模型覆蓋率在嵌入式軟件開發(fā)中的應用_圖文_第3頁
模型覆蓋率在嵌入式軟件開發(fā)中的應用_圖文_第4頁
模型覆蓋率在嵌入式軟件開發(fā)中的應用_圖文_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 84計算機技術與發(fā)展第16卷*開發(fā)效率低下。由于代碼的抽象程度高、不直觀、與軟件需求完全脫節(jié)(編碼工作基于軟件設計文檔而不足軟件需求,因此開發(fā)人員不得不花大量的時間在技術細節(jié)上,代碼的修改也很耗時。另外,文檔的編寫和維護、代碼測試也需要花費大量的時間。*質量沒有保證。由于軟件代碼由程序員手工編寫,程序員的能力、態(tài)度及狀態(tài)制約了軟件的質量。而且隨著軟件規(guī)模、復雜度的不斷增加,團隊開發(fā)情況的出現,代碼集成也變得越來越困難。出現這些缺點的主要原因在于,在基于代碼開發(fā)方式下。開發(fā)工作的早期(需求分析、軟件設計完全依賴于人工工作,其成果以有歧義的自然語言或圖表方式描述.無法進行有效的交流和驗證,從而成

2、為錯誤引入的重災區(qū);而當具有動態(tài)行為的代碼出現后,對代碼的測試是一種事后監(jiān)督的、費時費力的做法,只能盡可能地發(fā)現錯誤,麗無法有效地避免或者是排除錯誤。1.2基于模型開發(fā)隨著人們對軟件認識的逐漸加深及實踐中的探索,模型取代代碼成為了軟件開發(fā)流程的中心。直觀的模型符號被用于需求分析以及軟件設計過程,表達分析人員對需求的理解及細化。由于模型遠比程序語言的抽象程度低,更易于理解和交流,減少了需求分析和軟件設計過程中錯誤引入的機率,尤為重要的是,模型還可用于模擬仿真,表達其動態(tài)特性,從而使開發(fā)人員在開發(fā)的早期能確定性地發(fā)現并排除錯誤。一般來說,基于模型的開發(fā)方式具有以下幾個特征:*形式化的圖形符號。直觀

3、易懂的圖形符號是模型的主要特征,也是模型優(yōu)于代碼的主要原因。借助于圖形化的符號組成的模型,閱讀者不僅能快速獲取模型所表達的含義,而且不會因知識背景的不同產生歧義。*模型可運行??蛇\行的模型為開發(fā)人員了解模型的動態(tài)行為提供了方便,可以驗證設計與需求是否一致。*代碼自動生成。利用代碼生成器,模型可以直接轉換成相應的程序語言代碼,無需手工編碼工作。在嵌入式軟件開發(fā)領域,由于有成熟的理論支持以及大量的經驗總結,基于模型開發(fā)在嵌入式領域中的應用遠比其它領域成熟,文檔自動生成、模型覆蓋率分析、形式驗證等或強大的功能都引八到開發(fā)過程中,極大地提高了開發(fā)活動的質量。2模型覆蓋率2.1代碼覆蓋率基于代碼開發(fā)方式

4、中,在編碼工作完成以前,開發(fā)工作的成果以自然語言及圖表方式表達,對其驗證完全依賴人工的走查、分析,不僅效率低、效果差,而且無法定量評價驗證工作完成得是否足夠。在編碼工作完成后,通過單元測試驗證手工編碼工作.代碼運行的結果可以用于確認代碼在相應測斌用例的驅動下動態(tài)行為正確與否,從而找出編碼過程中引入的錯誤。在絕大多數情況下,無法通過遍歷所有的測斌用例對代碼進行完全地測試,只能挑選部分有意義的測試用例進行測試。一般根據對特定代碼結構的覆蓋來判定測試用例是否合適或足夠。常見的覆蓋率準則有語句覆蓋、分支覆蓋或判定覆蓋。在一些高安全性應用開發(fā)中,如航空軟件中,采用MC/DC(修正條件制定覆蓋準則。通過代

5、碼的測試可以發(fā)現編碼中引入的錯誤,經代碼覆蓋率分析可以評估測試是否達到某種完備程度,因此代碼覆蓋率分析在基于代碼開發(fā)方式中是最主要的軟件質量保證手段。但由于代碼出現已經是開發(fā)的中后期,此時發(fā)現錯誤,糾正錯誤的成本高,而且主要是找出手工編碼階段引人的錯誤,對發(fā)現開發(fā)早期引人的錯誤貢獻有限。2.2模型覆蓋率對應于基于代碼開發(fā)方式,模型為嵌入式軟件的驗證工作帶來了巨大的革新。模型直接來自于需求的細化和具體化,可以認為模型是需求的另一種無歧義的表達形式。由于模型能運行,利用來自于需求的測試用例驅動模型,可以通過測試的方式驗證模型的正確性,即與需求是否相符。與代碼的測試類似,測試工作無法窮盡所有測試用例

6、,因此需要借助模型覆蓋率來評價測試工作的質量。模型不同于代碼,模型描述的是功能,而代碼則是描述功能的實現。在定義模型的覆蓋率準則時,除了要考慮模型的結構,捕獲模型的動作(在運行過程中激活與否外,還應考慮模型功能的覆蓋。最基本的模型覆蓋率準則可參考代碼的覆蓋率準則,定義模型分支覆蓋、模型判定覆蓋、模型MC/DC覆蓋等,通過分析測試用例是否覆蓋不同的模型結構,從而評價測試工作的完備程度。針對特定應用下的模型,用戶可以根據其經驗及對應用的理解,將某些功能特征或它們的組臺定義為覆蓋率準則,實現更為高效的測試。2.3模型覆蓋率的作用模型覆蓋率在基于模型開發(fā)方式中的地位與代碼覆蓋率在傳統(tǒng)開發(fā)方式中的地位類

7、似.都是主要的質量保證手段。但模型覆蓋率還有著更重要的意義,它的引入,從根本上改變了傳統(tǒng)開發(fā)方式中測試工作太晚的弊端,從而為軟件質量提供了保障。模型覆蓋率分析帶來的一系列好處有:*發(fā)現需求分析和軟件設計工作中引入的錯誤。借助于模型覆蓋率分析,可以對模型按照覆蓋率準則進行充分的測試。盡可能地發(fā)現模型中的錯誤,即在需求 86計算機技術與發(fā)展第16卷圖2模型覆蓋率數據采集囤3模型覆蓋率敷據分析模型覆蓋率分析完成后,還可生成自定義格式覆蓋率分析文檔。4總結基于模型開發(fā)是軟件開發(fā)技術的重大進步,是未來軟件開發(fā)技術的趨勢。在采用模型的基礎上,涌現了一批新的軟件開發(fā)技術,模型覆蓋率分析就是其中最重要的技術之

8、一,它改變了傳統(tǒng)開發(fā)方式中早期工作不能有效驗證的弊端,從開發(fā)流程、開發(fā)手段等多方面為改善軟件質量,提高開發(fā)效率提供了保證。參考文獻:1Douglass B P嵌入式與實時系統(tǒng)開發(fā)M柳翔,等譯北京:機械工業(yè)出版社.2005:6061.2林寧,盂慶余.軟件測試實用指南M】.北京:清華大學出版社.20043JeanLoLIis C,Dion B.EfficientDevelopment of Airborne Softwarewith SCADE Suitc2.EsterdTechnolcies,2003.4愛斯特爾技術公司http:wvew esrereltechnologies.,x,m/pmd

9、ucts/seadesuite/modal-h虬一coverage.2006.+-+-+-+斗斗-一葉呻+呻.+斗呻+1+呻斗呻呻+斗-+州+-f呻(上接第82頁收的故障數據經A.r】CI總線傳給輸給GX5658的雙口RAM,進而注人到2個太陽哪中,以回應GNCC的取數命令。調度機上運行用Delphy編寫的故障注入程序,用戶通過調度計算機按屏幕提示格式輸入故障數據族,即每次注入將所有變量打包從調度機通過TcP/IP協(xié)議由調度機經過以太網傳人工控機主控器。3結束語Atmegal28豐富的外圍資源、集成開發(fā)環(huán)境支持在線仿真等特點使系統(tǒng)開發(fā)周期縮短。本設計利用Atmegal28具有的1MIPS/Mt

10、皿高速運行處理和浮點運算能力,解決了系統(tǒng)設計中大量的太陽角度數據的實時運算并實時返回給GNCC的要點問題。本文提出并實現了一種新的注入故障的方法:故障數據通過TCP/IP協(xié)議由佩度機經以太網注入,經GX5658分配給主各太陽模擬器響應GNCC,這使模擬的故障形式靈活多樣,文中闡述了其實現手段。基于AVR雙CPU系統(tǒng)的太陽模擬器及其故障注入系統(tǒng)作為部件,已在某重點型號衛(wèi)星的GNCC室內聯調中實際使用,完成了預期的功能,主要包括:(1在正常情況下,太陽模擬器采集太陽敏感器電信號,根據地面星體運動學和軌道運動學模型計算輸出角度,通過星地接口電路提供給GNtX3構成閉路。無論是邏輯式太陽模擬器、數字式

11、太陽模擬器還是模擬式太陽模擬器都參加了測試得到驗證。(2在部件故障測試中,通過數據注入的辦法,將太陽模擬器輸出的角度和監(jiān)視碼等信息模擬故障狀態(tài),在部件的故障診斷設計驗證試驗中得到驗證。(3在系統(tǒng)故障模式中對三種太陽敏感器的模型都進行了充分的驗證。參考文獻:1馬潮.高檔8位單片機Atraegal28原理與開發(fā)應用指南M北京:北京航空航天大學出版社,2004.2求是科技.V'tsualc+十數據庫開發(fā)技術與工程實踐M】 北京:人民郵電出版社,2004 模型覆蓋率在嵌入式軟件開發(fā)中的應用作者:馬金梭, 張榮華, 席厚金作者單位:愛斯特爾技術公司,上海,201203本文讀者也讀過(7條1.董仁飛.Dong Renfei關于在嵌入式軟件開發(fā)中應用模型驅動開發(fā)技術的探討期刊論文-計算機光盤軟件與應用2010(52.鄧勇基于源碼構件模型的嵌入式軟件生成技術的研究與實現學位論文20073.劉瓔瑛.L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論