嵌入式軟件界面設(shè)計(jì)_第1頁
嵌入式軟件界面設(shè)計(jì)_第2頁
嵌入式軟件界面設(shè)計(jì)_第3頁
嵌入式軟件界面設(shè)計(jì)_第4頁
嵌入式軟件界面設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、程序界面設(shè)計(jì)1.1主界面設(shè)計(jì)圖1界面:把項(xiàng)目導(dǎo)入平臺(tái),在編輯區(qū)域左邊顯示一個(gè)項(xiàng)目清單列表、右上部分顯示與項(xiàng)目清單 列表下.xml .doc文件相對應(yīng)的圖形化結(jié)構(gòu)(圖1)、把測試用例下的測試函數(shù)用編程文本顯 示出來且能夠?qū)ζ溥M(jìn)行編輯、把源代碼文件下的源程序顯示出來并且提供源代碼和結(jié)構(gòu)圖(見圖2)兩種顯示方式(見下圖3)。右下部分顯示控制臺(tái)信息、運(yùn)行信息、屬性信息和其 他相關(guān)信息。默認(rèn)的顯示:左邊是項(xiàng)目清單列表,右上是源代碼中文檔的源代碼和結(jié)構(gòu)圖, 右下是控制臺(tái),和運(yùn)行信息。功能:在對項(xiàng)目清單上的文件進(jìn)行操作時(shí)要觸發(fā)對其文件相應(yīng)的顯示界面,這里涉及到事件 的分發(fā)和接受。例如項(xiàng)目清單下打開測試用例文

2、件夾下的函數(shù)時(shí),在右上顯示這個(gè)函數(shù),同 時(shí)允許對其進(jìn)行編輯,修改;還能夠顯示這個(gè)函數(shù)的圖形結(jié)構(gòu)。要保持函數(shù)和圖形的一致性, 當(dāng)對函數(shù)修改后,進(jìn)行刷新,其圖形結(jié)構(gòu)也進(jìn)行重新生成新的圖形。源代碼下的文件也是如 此。這里主要涉及到各種關(guān)系的同步問題。在現(xiàn)有軟件中界面出現(xiàn)的問題有:對操作步驟提供撤銷和返回,以方便在出現(xiàn)錯(cuò)誤或要 返回到以前的位置時(shí)提供方便。嵌入式軟件關(guān)聯(lián)追遍平臺(tái)支件日源代碼刃支檔洌試用例舶告I鈞改:H圖9F 垸魚 硝項(xiàng)目活單列表液interface, c interface.h圖醫(yī)i 2$器軟件需求說明書(GB856T8 I|電式簡單計(jì)算器軟件揖要設(shè)計(jì)說明二I|電嵌入式簡單計(jì)算器軟件揖

3、要設(shè)計(jì)說目I|電計(jì)食器軟件需求說明書(GB856T I!電計(jì)食器軟件需求說明書(GB856T +蹬刑試用例 -償源代碼09-06-11 callbacks, c09-06-12callbacks.ccallbacks, c callbacks, h callbacks. I5LFsupport, c=dr美聯(lián)吼 窗口也 幫助田 編輯器菜單 宜1由|凰朋1回fl 21文件日 源代碼為 文檔田 刑試用例程序運(yùn)行田 美聯(lián)兇 窗口也 幫助田 編輯器菜單 金|娼蔚部I昭swl鸛存勒 盾藥I勒目凰解|回fl盼 j )項(xiàng)目活單列表洋.avaExprLexer.java11-使廁試用例:嶇Activator

4、Java駒 callbacks.xmlColurPlanager.java?,蛔 Expr.g?蛔 Expr.tokens,.電 ExprAnnotatiun.java土 ExprCLinFiguatiuri.java,.電 ExprCunteritAssistProcessLir.!,岫 ExprDoubleClickStrategy.javc 昭ExprParser.java|陷:蛔 ExprTcikeriScanner.java:電 ExprTripleClickStrategy.java:蛔 ExprViewer JaYa:,蛔 Expr.g:蛔 ICcilurCunstants.ja

5、vai,蛔 lExprTukens.iava?山己 lExprViewerCorifiguration. jax-:,電 ImageHelper Java:,電 Images.java昭 ITextTripleClickStrategy.java:珀 JTFAction.iava1.2項(xiàng)目清單樹形結(jié)構(gòu)在左邊的項(xiàng)目清單透視圖的樹形結(jié)構(gòu)中單擊右鍵出現(xiàn)的靜態(tài)代碼分析、源程序插樁、結(jié) 構(gòu)流程圖、函數(shù)關(guān)聯(lián)圖、文件關(guān)聯(lián)圖、折疊全部、展開全部、更新等操作時(shí),要實(shí)現(xiàn)其功能。 同時(shí)在右上部分要顯示其相應(yīng)的圖形等。例如在項(xiàng)目清單的樹形結(jié)構(gòu)中右擊源代碼文件夾下 的函數(shù)時(shí),可以對其函數(shù)進(jìn)行上述靜態(tài)代碼分析、源程序插樁

6、、結(jié)構(gòu)流程圖等操作,在界面 的右上方應(yīng)該做出相應(yīng)的編輯區(qū),或結(jié)構(gòu)流程圖等結(jié)果顯示;當(dāng)單擊靜態(tài)代碼分析時(shí),要能 夠?qū)υ撛春瘮?shù)做DD圖結(jié)構(gòu)分析,找出函數(shù)的支配樹、蘊(yùn)含樹、控制流關(guān)系。根據(jù)先前的論 文(陳恩慧師兄的論文:程序分支覆蓋方法的研究)中的理論找出函數(shù)中的關(guān)鍵分支,然后 進(jìn)行標(biāo)記。當(dāng)點(diǎn)擊源程序插樁時(shí),要把插樁庫的插樁函數(shù)(參照于全喜師兄的論文:在這里 要建插樁函數(shù)庫,定義插樁規(guī)則)插到關(guān)鍵分支點(diǎn)上;當(dāng)單擊結(jié)構(gòu)流程圖時(shí)要把函數(shù)的結(jié)構(gòu) 如調(diào)用關(guān)系等顯示出來;當(dāng)單擊函數(shù)關(guān)聯(lián)圖時(shí)要把這個(gè)函數(shù)和項(xiàng)目中的其他函數(shù)的關(guān)系顯示 出來如被其他函數(shù)調(diào)用或調(diào)用其他函數(shù);文件關(guān)聯(lián)圖是把各個(gè)文件之間的關(guān)系表示出來如頭

7、 文件與源文件的關(guān)系。對這些操作進(jìn)行執(zhí)行時(shí),要及時(shí)更新與之相關(guān)的內(nèi)容如對源代碼修改 后要保證它的結(jié)構(gòu)圖也相應(yīng)得到更新,這里就要對更新操作實(shí)現(xiàn)。見圖41.3右上界面設(shè)計(jì)把在項(xiàng)目清單上的相應(yīng)操作在右上部分表示出來。見下圖-ini xi文件日源代碼刃交檔國廁試用例程序運(yùn)行的美聯(lián)出窗口如幫助E 編輯器菜單項(xiàng)目清單列表w-罅 55:響 perties+ 硝 TEMP-INF-蹌交檔:電2本器軟件需求說明書I i 電式簡單計(jì)篁器軟件f ij 蛇嵌入式簡單計(jì)算器軟*i 電計(jì)食器軟件需求說明彳 : 他計(jì)食器軟件需求說明彳 +瑾?jiǎng)h試用例 + ft源代碼1.4右下部分界面設(shè)計(jì)顯示相

8、應(yīng)操作的控制臺(tái)信息和程序的運(yùn)行信息。這一部分透視圖要固定在下面。2用戶登錄與退出在進(jìn)入平臺(tái)時(shí)先要求輸入用戶名和密碼進(jìn)行驗(yàn)證后,才能進(jìn)行后續(xù)的平臺(tái)運(yùn)行。如果輸入 出現(xiàn)錯(cuò)誤,則提供幫助信息和返回到登錄狀態(tài)。這里選用基于Preferences的用戶登錄。登錄的流程:用戶雙擊圖標(biāo)運(yùn)行程序,在基本配置完后,進(jìn)入主界面之前。要求用戶輸入 用戶名和密碼在實(shí)現(xiàn)時(shí)要對用戶的信息進(jìn)行加密處理,進(jìn)入系統(tǒng)時(shí)要把設(shè)定的主界面顯示出 來;退出系統(tǒng)時(shí),把當(dāng)前打開的各個(gè)對象關(guān)閉后才完全退出程序。同時(shí)在平臺(tái)中要提供用戶的管理。類似登錄界面如下圖53各個(gè)菜單的功能分析3.1文件菜單新建與新建項(xiàng)目重疊,要?jiǎng)h除一個(gè)。打開子菜單項(xiàng)功能

9、:能夠打開word,txt等格式的文件。有一個(gè)向?qū)Т翱趤韺ふ倚枰蜷_ 文件的位置。導(dǎo)入項(xiàng)目子菜單功能:是導(dǎo)入一個(gè)已經(jīng)存在的項(xiàng)目(在項(xiàng)目文件夾內(nèi)會(huì)有一個(gè).properties 格式的文件,選擇這個(gè)文件即可)導(dǎo)出項(xiàng)目子菜單功能:是對新建的項(xiàng)目經(jīng)過下圖的處理后,生成一個(gè)獨(dú)立的文件以便于 $3 ss:“岫 per-疆 TEMP-INFI二進(jìn)制文件動(dòng)態(tài)插樁執(zhí)行結(jié)果靜態(tài)分析+1砧+ &交檔+砧測試用例+砧源代碼保存 屬性子菜單功能:顯示整個(gè)系統(tǒng)的配置情況,可以參見Eclipse平臺(tái)的屬性菜單項(xiàng)。3.2源代碼菜單源代碼加載子菜單:源程序經(jīng)過c編譯器編譯后會(huì)產(chǎn)生相應(yīng)的源文件,把

10、此處所有的源 代碼加載到平臺(tái)中。并以樹型方式將其呈現(xiàn),并提供對這些文件的操作功能,主要操作功能 可以包括:在平臺(tái)上打開文件、靜態(tài)分析文件、查看文件的結(jié)構(gòu)流圖、查看文件函數(shù)、查看 與其它代碼文件的靜態(tài)關(guān)聯(lián)關(guān)系等等。靜態(tài)代碼分析子菜單:是指對被測源代碼進(jìn)行詞法語法分析,對關(guān)鍵路徑節(jié)點(diǎn)進(jìn)行標(biāo) 識(shí),已完成下一步對其插樁的過程。靜態(tài)分析要從源程序中提取必要的數(shù)據(jù)(比如函數(shù)名、 用面向?qū)ο笳Z言編寫的類名、行號(hào)等信息),對源程序的控制流進(jìn)行分析,為源程序劃分塊, 然后把得到的數(shù)據(jù)都保存到以XML格式的數(shù)據(jù)文件中。這些數(shù)據(jù)文件為實(shí)現(xiàn)圖形化呈現(xiàn)作好 了準(zhǔn)備。這一步主要是生成程序的DD圖。以便后續(xù)進(jìn)行尋找關(guān)鍵分支

11、。源代碼插樁子菜單:是在源程序的適當(dāng)位置插上編碼人員需要知道的信息,由于編碼人 員需要的信息千變?nèi)f化,要想完全做到自動(dòng)化是不現(xiàn)實(shí)的。插裝模塊主要是根據(jù)用戶的需要, 把用戶的需要變成模板化的插裝代碼,通過預(yù)編譯條件控制語句來控制調(diào)試版本和發(fā)行版本 間的切換。用戶需要告知程序插裝模塊需要做什么樣的服務(wù),比如需要知道某個(gè)變量在運(yùn)行 中的值的變化,某個(gè)函數(shù)在某處被調(diào)用時(shí)的返回值和傳入值等,程序插裝模塊在相應(yīng)的位置 上插入相應(yīng)的代碼,并通過相關(guān)的機(jī)制把用戶所需要的功能信息通知給用戶。程序插裝就是 要往源程序的特定位置中插入自己的代碼,當(dāng)插裝后的可執(zhí)行程序運(yùn)行時(shí)就可以獲取動(dòng)態(tài)數(shù) 據(jù)。插裝后的可執(zhí)行程序?yàn)閷?shí)

12、現(xiàn)覆蓋分析自動(dòng)化和動(dòng)態(tài)跟蹤自動(dòng)化作好了準(zhǔn)備。此模塊主要 實(shí)現(xiàn)對源代碼在標(biāo)記分析的基礎(chǔ)上進(jìn)行對關(guān)鍵路徑,關(guān)鍵程序結(jié)點(diǎn)的插樁,完成程序在運(yùn)行 過程中對動(dòng)態(tài)測試數(shù)據(jù)的獲取和監(jiān)控,生成測試結(jié)果數(shù)據(jù)。對程序的關(guān)鍵路徑的計(jì)算(參考陳恩慧大論文):由源程序生成的DD圖,找出圖形中的 支配樹DT,蘊(yùn)含樹IT。通過UE(G)=DTL(G)DITL(G),KB(G)= KB(G) U UE(G)找出非 約束關(guān)鍵分支,通過算法for (each eWDTL(G)-UE(G)if (e在支配樹中與父結(jié)點(diǎn)非連續(xù))continue; /*排除與父結(jié)點(diǎn)非連續(xù)的葉子結(jié)點(diǎn)*/獲取e在DT(G)中祖先集合DTAncestor(e

13、);if (DTAncestor(e)HITL(G) )KB(G)=KB(G)Ue;找出圖形中約束分支中的關(guān)鍵分支。所以通過上述的計(jì)算可以找到要測試程序的關(guān)鍵分支為:KB(G)。找到關(guān)鍵分支后,根據(jù)關(guān)鍵分支的不同特點(diǎn),利用插樁庫函數(shù)對關(guān)鍵分支進(jìn) 行標(biāo)記。(參考于全喜插樁方法)這里還關(guān)系到要建立一個(gè)基于C語言的插樁庫(參見 20090527嵌入式軟件雙向關(guān)聯(lián)追溯可視化平臺(tái)設(shè)計(jì)說明書.doc: 5.2.2測試核心業(yè)務(wù)實(shí)現(xiàn)策 略)。3.3文檔菜單文檔加載子菜單:指將被測軟件項(xiàng)目所包含的文檔(需求文檔、概要設(shè)計(jì)文檔、設(shè)計(jì)文檔) 引用到平臺(tái)上。文檔結(jié)構(gòu)化子菜單:是指提取、標(biāo)記軟件文檔的結(jié)構(gòu)信息,并將其結(jié)

14、構(gòu)信息以XML方式存 儲(chǔ)起來,提取文檔的結(jié)構(gòu)信息并以樹型方式將其呈現(xiàn),并提供對這些文檔的操作功能,例如: 文檔的打開方式、關(guān)閉、保存、修改。文檔索引庫子菜單:對加載的文檔能夠根據(jù)關(guān)鍵詞檢索其內(nèi)容所在的相關(guān)文件,提供顯示出 來。3.4測試用例測試用例輔助設(shè)計(jì)子菜單:根據(jù)需求文檔中的功能需求結(jié)合概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、源代碼來 設(shè)計(jì)測試用例。在設(shè)計(jì)測試用例是應(yīng)該根據(jù)關(guān)鍵分支、語句覆蓋、分支覆蓋、數(shù)據(jù)流覆蓋信 息設(shè)計(jì)測試用例,以便達(dá)到較高的覆蓋準(zhǔn)則。測試用例自動(dòng)生成子菜單:把從測試用例輔助設(shè)計(jì)子菜單中設(shè)計(jì)好的測試用例,進(jìn)行自動(dòng)生 成測試腳本。測試用例腳本加載子菜單:把生成的測試用例腳本加載到源程序中,并

15、進(jìn)行運(yùn)行。3.5程序運(yùn)行編譯器設(shè)置:對被測項(xiàng)目所需的編譯器參數(shù)進(jìn)行設(shè)置源代碼編譯:對進(jìn)行關(guān)鍵分支插樁后的代碼進(jìn)行編譯(這里的編譯環(huán)境由于是在linux系統(tǒng) 中進(jìn)行的,所以考慮把gcc編譯器集成到平臺(tái)中)代碼下載執(zhí)行:源代碼進(jìn)行編譯后下載到目標(biāo)機(jī)上,執(zhí)行測試用例。執(zhí)行結(jié)果收集:運(yùn)行測試用例后,收集程序在目標(biāo)機(jī)上運(yùn)行后的信息,然后傳輸?shù)杰浖脚_(tái)。 這里主要涉及到的對收集到的結(jié)果信息進(jìn)行分析。由于主機(jī)收集到的是一定格式的二進(jìn)制信息。在此要對這些二進(jìn)制信息進(jìn)行分析,以便獲得測試信息。其數(shù)據(jù)處理過程如下:有效數(shù)據(jù)提取:數(shù)據(jù)解析處理從分離只讀形式保存的*.out文件開始,解析處理中間 過程及規(guī)范結(jié)果的數(shù)據(jù)

16、全部存儲(chǔ)為利于連續(xù)的提取分析的XML數(shù)據(jù)文檔。首先逐行讀取動(dòng) 態(tài)跟蹤數(shù)據(jù)記錄,分離出數(shù)據(jù)接收時(shí)間及isl ;因?yàn)榍度胧较到y(tǒng)一般集成了秒級的時(shí)鐘芯片, 無法提取出準(zhǔn)確的探針函數(shù)動(dòng)態(tài)執(zhí)行,系統(tǒng)設(shè)計(jì)采用數(shù)據(jù)接收時(shí)間模擬探針函數(shù)動(dòng)態(tài)執(zhí)行時(shí) 間,實(shí)現(xiàn)近似的性能測試。然后就要根據(jù)isl編碼結(jié)構(gòu)分離出以下結(jié)構(gòu)體信息:基礎(chǔ)數(shù)據(jù)存 儲(chǔ)文件信息、測試用例信息、測試函數(shù)信息、探針定位及返回?cái)?shù)據(jù)信息等。對每條記錄結(jié)構(gòu) 體信息為XML元素值,分離出的具體內(nèi)容為各元素的屬性值。格式規(guī)范處理:測試數(shù)據(jù)的規(guī)范化處理是降低成本的必然措施,得到的測試結(jié)果數(shù)據(jù) 表示要有利于測試平臺(tái)中各個(gè)子系統(tǒng)調(diào)用測試結(jié)果數(shù)據(jù)完成各自的分析功能。有

17、效數(shù)據(jù)提取 過程僅得到的簡單XML數(shù)據(jù)文檔,只能說是對測試數(shù)據(jù)的簡單的、非規(guī)范化描述,且屬性 或元素信息全是用塊劃分編碼表示,可讀性和易分析性及差。格式規(guī)范處理的目的就是采用 dom4j技術(shù)規(guī)范測試結(jié)果,把提取的有效測試數(shù)據(jù)寫入靜態(tài)分析所的XML文檔中,為測試 與維護(hù)平臺(tái)提供標(biāo)準(zhǔn)的數(shù)據(jù)支持。對取得的信息進(jìn)行分析,產(chǎn)生測試報(bào)告:報(bào)告中包含分析出的被測程序容易存在缺 陷的位置點(diǎn)、影響級別,指導(dǎo)糾正缺陷,同時(shí)指明進(jìn)一步測試的方向。報(bào)告包含如下三點(diǎn)信 息:錯(cuò)誤定位分析采用隨機(jī)均勻路徑生成法,構(gòu)造實(shí)際執(zhí)行路徑。從測試數(shù)據(jù)文檔中選取同條測試用例t 執(zhí)行采集的測試數(shù)據(jù),定位數(shù)據(jù)中代表實(shí)際經(jīng)過(數(shù)據(jù)不為零)的

18、各個(gè)插樁位置,在BCFG圖 鄰接表中更改以上插樁位置點(diǎn)后一個(gè)程序塊的節(jié)點(diǎn)元素信息域?yàn)?;然后深度搜索鄰接表信 息域?yàn)?的節(jié)點(diǎn)程序塊,按公式(2)要求構(gòu)造實(shí)際執(zhí)行路徑p(t)。理論路徑p(t)與p(t)分析 比較可定位軟件缺陷:如果路徑相同程序運(yùn)行正常,如果不同采用如圖3-5的操作定位軟件 缺陷:測試覆蓋率分析由于全面的軟件插樁采集測試數(shù)據(jù)、計(jì)算分析軟件缺陷是不現(xiàn)實(shí)的,即使對所有的理論 插樁點(diǎn),也難以實(shí)現(xiàn)全面的測試,測試數(shù)據(jù)采集需要至少一個(gè)測試覆蓋策略支持。覆蓋策略 是由測試需求和測試用例的覆蓋或已執(zhí)行代碼的覆蓋表示的,其中路徑覆蓋插樁策略明顯, 能達(dá)到很高的測試覆蓋率。測試報(bào)告制作測試總結(jié)報(bào)告應(yīng)該包括測

溫馨提示

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

最新文檔

評論

0/150

提交評論