欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種降低gui測(cè)試成本的邏輯組織方法

文檔序號(hào):6562834閱讀:216來源:國(guó)知局
專利名稱:一種降低gui測(cè)試成本的邏輯組織方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測(cè)試技術(shù),尤其涉及一種降低軟件測(cè)試中的GUI測(cè)試成本的邏輯組織方法。
背景技術(shù)
GUI (Graphic User Interface,圖形用戶接口)的測(cè)試成本高向來是個(gè)很大的問題,造 成這個(gè)問題的原因主要有以下幾個(gè)方面-
1、 GUI非常易變,GUI作為交互的終端顯示,經(jīng)常會(huì)由于客戶需求的變更和一些交互友 好方面的因素而造成GUI布局和元素的變更,這些變更導(dǎo)致GUI測(cè)試也頻繁地變更,導(dǎo)致測(cè) 試成本增高。
2、 交互邏輯本身和GUI顯示代碼耦合在一起,而界面顯示的代碼無法進(jìn)行有效的邏輯測(cè) 試,只能通過人或者一些ROBOT工具進(jìn)行測(cè)試,這種測(cè)試方法的準(zhǔn)確性以及可回歸性較差。 并且當(dāng)GUI顯示布局發(fā)生變化(但是交互邏輯本身沒有變化)時(shí),通過ROBOT腳本編寫的測(cè) 試代碼需要重新編寫,代價(jià)高。
3、 GUI的測(cè)試往往和它所運(yùn)行的平臺(tái)和操作系統(tǒng)耦合在一起,導(dǎo)致在測(cè)試GUI的交互邏 輯時(shí),往往需要和所依賴的平臺(tái)和操作系統(tǒng)一起來進(jìn)行,導(dǎo)致測(cè)試代價(jià)高。
4、 交互邏輯分散,難以維護(hù)和重用。 正是由于上面這些原因,使得GUI測(cè)試出現(xiàn)了眾多問題
1、回歸測(cè)試問題回歸測(cè)試在軟件開發(fā)中具有重要的作用,它可以盡早地發(fā)現(xiàn)軟件開發(fā) 中的bug,大大降低bug修正的代價(jià)。特別是,如果有了一套可以頻繁自動(dòng)運(yùn)行的回歸測(cè)試 套件,那么我們的軟件產(chǎn)品就有了一個(gè)安全網(wǎng)絡(luò),由于功能增加和修改而引入新bug的可能
性被大大降低。遺憾的是,我們目前的交互開發(fā)模式中沒有考慮GUI顯示部分和交互邏輯本 身的隔離,導(dǎo)致我們無法開發(fā)出一套可以自動(dòng)、頻繁運(yùn)行的回歸測(cè)試套件。目前的回歸測(cè)試 都是靠人工進(jìn)行,可重復(fù)性和有效覆蓋性很差,經(jīng)常存在遺漏。并且人工進(jìn)行回歸測(cè)試的代 價(jià)高昂(基于GUI顯示部件位置的ROBOT腳本方式同樣如此),所以回歸測(cè)試無法頻繁進(jìn)行。 這也是我們目前的回歸測(cè)試效率低下的重要原因。
2、 代碼的復(fù)用問題GUI的顯示和交互邏輯耦合在一起的交互開發(fā)模式使得交互邏輯分 散,混亂,所編寫出來的程序雖然也實(shí)現(xiàn)了想要的功能,但是由于混亂的組織方式導(dǎo)致極難 被有效重用。
3、 代碼的可維護(hù)性問題可維護(hù)性是提高軟件生存周期,降低軟件成本的重要特性。一 段易于維護(hù)的代碼首先必須是一段易于理解的代碼,而職責(zé)明確、組織清晰的代碼正是達(dá)成 易于理解所必須的。GUI顯示和交互邏輯混合在一起的代碼使得想真正理解它還是非常費(fèi)勁
的,也難以維護(hù)。而開發(fā)這些系統(tǒng)的公司和團(tuán)體也不得不耗費(fèi)大量的不必要的資金和精力。

發(fā)明內(nèi)容
因此本發(fā)明所要解決的技術(shù)問題是提供一種降低GUI測(cè)試成本的邏輯組織方法,該方法 能夠有效地分離GUI的顯示代碼和交互邏輯,并且方便地在GUI中組裝這些交互職責(zé),從而 提高代碼的可重用性和可維護(hù)性。
本發(fā)明具體是這樣實(shí)現(xiàn)的
1、 一種降低GUI測(cè)試成本的邏輯組織方法,包括如下步驟
1-1、定義交互職責(zé)通用接口定義一個(gè)抽象的、 一致的接口用來模型化這個(gè)交互職責(zé); 1-2、定義通用GUI接口這個(gè)接口用來作為所有GUI交互邏輯的一個(gè)頂層的、 一致的抽
象;
1-3、識(shí)別具體的交互職責(zé)通過對(duì)具體GUI所需要實(shí)現(xiàn)的功能進(jìn)行劃分,將他們劃分成 更加內(nèi)聚的原子交互職責(zé);
1-4、定義具體GUI接口該接口用來定義某個(gè)具體GUI的交互邏輯,具體GL)I接口要繼
承在步驟1-2中定義的通用GUI接口;
1-5、實(shí)現(xiàn)具體交互職責(zé)根據(jù)該交互職責(zé)中需要完成的交互邏輯來實(shí)現(xiàn),具體交互職責(zé) 在實(shí)現(xiàn)時(shí)要繼承在步驟1-1中定義的交互職責(zé)通用接口;
1-6、實(shí)現(xiàn)具體GUI;
1-7、定義GUI和交互職責(zé)的裝配將GUI的名稱、GUI的實(shí)現(xiàn)組件、交互職責(zé)的名稱、 交互職責(zé)的實(shí)現(xiàn)組件以及它們之間的組合關(guān)系定義在交互職責(zé)組裝描述文件中;
l-8、實(shí)現(xiàn)分發(fā)器分發(fā)器主要用來保存GUI和其包含的交互職責(zé)之間的對(duì)應(yīng)關(guān)系,并且 負(fù)責(zé)接收GUI發(fā)來的關(guān)于分發(fā)的請(qǐng)求以執(zhí)行相應(yīng)功能;
1-9、交互職責(zé)加載、裝配將交互職責(zé)和具體GUI之間的關(guān)系保存到分發(fā)器中。
2、 如l所述的邏輯組織方法,步驟1-1中接口定義包括兩個(gè)方法 一個(gè)用來從GUI獲取
操作參數(shù), 一個(gè)用來將操作結(jié)果通知給GUI。
3、 如2所述的邏輯組織方法,步驟l-4針對(duì)步驟l-3識(shí)別出來的每個(gè)交互職責(zé),重復(fù)下
面兩個(gè)步驟來定義出具體GUI接口中需要提供的方法
3-1、分析出該交互職責(zé)從GUI獲取操作參數(shù)時(shí),GUI接口需要提供的方法; 3-2、分析出該交互職責(zé)將操作結(jié)果通知給GUI時(shí),GUI接口需要提供的方法。
4、 如2所述的邏輯組織方法,步驟卜8中的分發(fā)器通過具體的交互職責(zé)的獲取操作參數(shù) 方法獲取操作所需要的參數(shù),并且執(zhí)行操作,然后將結(jié)果通過交互職責(zé)的結(jié)果通知方法將操 作結(jié)果返回給GUI。
5、 如1所述的邏輯組織方法,步驟1-2中通用GUI接口可以是一個(gè)空接口,也可以是含 有所有GUI交互邏輯中的公共部分。
6、 如1所述的邏輯組織方法,步驟1-6包括如下步驟 6-1、采用具體的GUI控件來實(shí)現(xiàn)可視化圖形界面;
6-2、該具體GUI實(shí)現(xiàn)必須要繼承具體的GUI接口,該GUI接口就是在步驟l-4中定義出 來的具體GUI接口;
6-3、實(shí)現(xiàn)GUI接口中的方法,就是完成交互職責(zé)中定義出來的GUI交互邏輯,將對(duì)具體
控件的控制和這些方法的實(shí)現(xiàn)聯(lián)系起來;
6- 4、存有對(duì)分發(fā)器的引用完成對(duì)具體交互職責(zé)的分發(fā),對(duì)分發(fā)器引用的存取可以通過實(shí) 現(xiàn)通用GUI接口中的設(shè)置分發(fā)器方法來實(shí)現(xiàn)。
7、 如1所述的邏輯組織方法,步驟1-9包括如下步驟
7- 1、讀取并解析交互職責(zé)組裝描述文件;
7-2、采用動(dòng)態(tài)加載技術(shù)來完成具體交互職責(zé)實(shí)現(xiàn)的加載; 7-3、建立GUI、交互職責(zé)名以及交互職責(zé)實(shí)現(xiàn)的對(duì)應(yīng)關(guān)系; 7-4、根據(jù)配置將這種關(guān)系保存到分發(fā)器中。
8、 如1至7中任意一項(xiàng)所述的邏輯組織方法,所述交互職責(zé)組裝描述文件采用XML格
式,描述格式如下-
〈ViewCo誦and〉
<View name="sales" imp=〃salesViewImpl〃>
<C〇mmand name=,,addtochart" imp = 、、addtochartlmpl〃 /> <Commancl name="range" imp = 、、rangeimpl" />
</View>
</ViewC〇mmand>。
由于采用了上述處理過程,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)
本發(fā)明通過將需要測(cè)試的交互邏輯與GUI的顯示分離開來,并且提供了一個(gè)模型用來刻 畫這種交互邏輯,以及提供了一種獨(dú)有的方法用來組織這些交互邏輯,使得這些交互邏輯做 到高內(nèi)聚,從而大大降低了 GUI的測(cè)試成本。更具體地說,本發(fā)明可以用來構(gòu)建我們絕大多 數(shù)的交互系統(tǒng),例如網(wǎng)管系統(tǒng),并且使得這些系統(tǒng)在GUI上的測(cè)試成本大大降低。
本發(fā)明所提供的邏輯組織方法,具有高效、便捷、 一致的特點(diǎn),并且易于擴(kuò)展;使用交 互職責(zé)的概念來表示GUI上原子的、內(nèi)聚的交互功能點(diǎn),采用獨(dú)有的配置文件的方式方便表 示GUI和交互職責(zé)之間的組裝關(guān)系,使得交互職責(zé)可在多個(gè)GUI之間復(fù)用,采用配置文件而 不是硬編碼的方式也使得組裝變得更加靈活。使用GUI (視圖)接口的方式使得GUI的顯示 和所需要表示的交互邏輯分離開來,這樣可以采用Mock (模擬)的方式通過模擬出符合GUI 視圖接口的對(duì)象來測(cè)試交互邏輯,不需要通過對(duì)具體GUI的控件點(diǎn)擊來測(cè)試交互邏輯。不需
耗費(fèi)巨大的人力來手工測(cè)試GUI,也不需要通過ROBOT編寫腳本測(cè)試代碼來測(cè)試GUI,使得測(cè) 試成本大大降低。本發(fā)明提供的交互職責(zé)組裝文件方式還可以根據(jù)實(shí)際需要去進(jìn)行擴(kuò)展,應(yīng) 用范圍更廣。


圖l是本發(fā)明總步驟的流程圖2是本發(fā)明中交互職責(zé)分析的流程圖3是本發(fā)明中具體GUI實(shí)現(xiàn)的流程圖4是本發(fā)明中交互職責(zé)組裝和加載的流程圖。
具體實(shí)施例方式
以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施作進(jìn)一步的說明
為了克服目前GUI中交互邏輯測(cè)試成本高的缺點(diǎn),在本發(fā)明中采用了對(duì)交互邏輯進(jìn)行分
析并且劃分成更具內(nèi)聚性的交互職責(zé)和為交互職責(zé)建模的思想,以及獨(dú)有的交互職責(zé)組裝文
件的組織和加載方式,解決了現(xiàn)有技術(shù)中的交互邏輯和GUI混雜,導(dǎo)致測(cè)試?yán)щy、交互邏輯 不內(nèi)聚、難以重用、難以維護(hù)、難以擴(kuò)展等諸多問題。
如圖1所示,本發(fā)明包括如下步驟-
步驟l,定義交互職責(zé)通用接口;
步驟2,定義通用GUI接口;
步驟3,識(shí)別具體的交互職責(zé);
步驟4,定義具體GUI接口;
步驟5,實(shí)現(xiàn)具體交互職責(zé);
其中針對(duì)每個(gè)具體的GUI重復(fù)執(zhí)行步驟3、 4、 5。
步驟6,實(shí)現(xiàn)具體GUI;
步驟7,定義GUI和交互職責(zé)的裝配; 步驟8,實(shí)現(xiàn)分發(fā)器;
步驟9,交互職責(zé)加載、裝配。
以下分別對(duì)本發(fā)明涉及的關(guān)鍵步驟詳細(xì)進(jìn)行說明
1、 定義交互職責(zé)通用接口
該步驟用來定義交互職責(zé)通用接口,每個(gè)交互職責(zé)可看成是構(gòu)成GUI最終交互邏輯(功 能)的原子功能,映射到GUI上,可以簡(jiǎn)單地說是某個(gè)控件所要完成的操作。比如, 一個(gè)GUI
上的save (保存)按鈕所對(duì)應(yīng)的操作。每個(gè)交互職責(zé)都可以分成兩個(gè)部分, 一個(gè)是從GUI獲 取完成操作所需要的參數(shù), 一個(gè)是將操作的結(jié)果通知給GUI以供顯示。所以可以定義一個(gè)抽 象的、 一致的接口用來模型化這個(gè)交互職責(zé)。該接口定義中可以包括兩個(gè)方法, 一個(gè)用來從 GUI獲取操作參數(shù), 一個(gè)用來將操作結(jié)果通知給GUI。
2、 定義通用GUI接口
這個(gè)接口用來作為所有GUI交互邏輯的一個(gè)頂層的、 一致的抽象。該通用GUI接口可以 是一個(gè)空接口,也可以含有所有GUI交互邏輯中的公共部分,例如,可以含有方法用來設(shè)置 GUI使用的分發(fā)器,使得對(duì)分發(fā)器的引用可以使用(IOC) Inversion of Control的方式引入。
3、 交互職責(zé)分析流程
圖2是交互職責(zé)分析的流程圖,包含了本發(fā)明的步驟3、 4、 5、 7,交互職責(zé)分析包括如 下幾個(gè)小步驟
第一步,分解具體GUI功能到原子的交互職責(zé),根據(jù)具體的GUI功能解析出更加內(nèi)聚的、 可完成單獨(dú)功能的交互職責(zé)。
第二步,創(chuàng)建出具體GUI接口,該接口用來定義某個(gè)具體GUI的交互邏輯。具體的GUI 接口必須要繼承在步驟2中定義的通用GUI接口,這是本發(fā)明所要求的一種契約。
針對(duì)上一步識(shí)別出來的每個(gè)交互職責(zé),重復(fù)第三步和第四步以及第五步來定義出具體GUI
接口中需要提供的方法
第三步,分析出該交互職責(zé)從GUI獲取操作參數(shù)時(shí),GUI接口需要提供的方法。 第四步,分析出該交互職責(zé)將結(jié)果通知給GUI時(shí),GUI接口需要提供的方法。
第五步,實(shí)現(xiàn)具體交互職責(zé),根據(jù)該交互職責(zé)中需要完成的交互邏輯來實(shí)現(xiàn)。這些交互 職責(zé)在實(shí)現(xiàn)時(shí)必須要繼承在步驟1中定義的交互職責(zé)通用接口,這是本發(fā)明所要求的一種契約。
第六步,定義交互職責(zé)組裝描述文件,將上面分析出的交互職責(zé)的名稱、交互職責(zé)的實(shí) 現(xiàn)組件以及GUI的名稱、GUI的實(shí)現(xiàn)組件和它們之間的組合關(guān)系定義在交互職責(zé)組裝描述文 件中。本發(fā)明中涉及的交互職責(zé)組裝描述文件采用XML格式,其中涉及具體GUI的名稱, 具體GUI的實(shí)現(xiàn)組件,交互職責(zé)的名稱,交互職責(zé)的實(shí)現(xiàn)組件。使用交互職責(zé)組裝描述文件, 系統(tǒng)可以在運(yùn)行時(shí)根據(jù)配置文件動(dòng)態(tài)地將原子的交互職責(zé)進(jìn)行組裝來完成整個(gè)GUI所要完成 的功能。
4、 具體GUI實(shí)現(xiàn)
圖3是具體GUI實(shí)現(xiàn)的流程圖,包含了本發(fā)明的步驟6,具體GUI實(shí)現(xiàn)包括如下步驟-第一步,采用具體的GUI控件來實(shí)現(xiàn)可視化圖形界面。
第二步,該具體GUI實(shí)現(xiàn)必須要繼承具體的GUI接口,該GUI接口就是在步驟4中定義 出來的具體GUI接口。
第三步,實(shí)現(xiàn)GUI接口中的方法,就是完成交互職責(zé)中定義出來的GUI交互邏輯,將對(duì) 具體控件的控制和這些方法的實(shí)現(xiàn)聯(lián)系起來。
第四步,存有對(duì)分發(fā)器的引用完成對(duì)具體交互職責(zé)的分發(fā),對(duì)分發(fā)器引用的存取可以通 過實(shí)現(xiàn)通用GUI接口中的設(shè)置分發(fā)器方法來實(shí)現(xiàn)。
5、 實(shí)現(xiàn)分發(fā)器
分發(fā)器主要用來保存GUI和其包含的交互職責(zé)之間的對(duì)應(yīng)關(guān)系,并且負(fù)責(zé)接收GUI發(fā)來 的關(guān)于分發(fā)的請(qǐng)求,可以根據(jù)交互職責(zé)名將GUI的請(qǐng)求分發(fā)到相應(yīng)的交互職責(zé)具體實(shí)現(xiàn)中去。 分發(fā)器通過具體的交互職責(zé)的獲取操作參數(shù)方法獲取操作所需要的參數(shù),并且執(zhí)行操作,然 后將結(jié)果通過交互職責(zé)的結(jié)果通知方法將操作結(jié)果返回給GUI。
6、 交互職責(zé)組裝和加載
圖4是交互職責(zé)組裝和加載的流程圖,包含了本發(fā)明的步驟9,交互職責(zé)組裝和加載包
括如下步驟
第一步,可以在系統(tǒng)啟動(dòng)時(shí),讀取并解析交互職責(zé)組裝描述文件。 第二步,采用動(dòng)態(tài)加載技術(shù)來完成具體交互職責(zé)實(shí)現(xiàn)的加載。 第三步,建立GUI、交互職責(zé)名以及交互職責(zé)實(shí)現(xiàn)的對(duì)應(yīng)關(guān)系。 第四步,根據(jù)配置將這種關(guān)系保存到分發(fā)器中。
下面通過用JAVA語言實(shí)現(xiàn)的一個(gè)實(shí)施實(shí)例對(duì)本發(fā)明作進(jìn)一步說明
1、 首先定義一個(gè)交互職責(zé)通用接口 其中包括從視圖獲取參數(shù)以及將結(jié)果返回給視圖。
2、 然后再定義一個(gè)通用GUI接口
其中包括所有具體的GUI接口都要使用的方法,就是設(shè)置分發(fā)器的方法。 這個(gè)方法的參數(shù)就是分發(fā)器對(duì)象的引用,在通用GUI接口中定義一個(gè)方法用來在GUI中
保存一個(gè)對(duì)分發(fā)器的引用。
可以假設(shè)有這樣一個(gè)GUI,它要完成的功能有兩個(gè), 一個(gè)是比較給定兩個(gè)文件是否相同,
另一個(gè)就是用給定的一段內(nèi)容替換掉指定文件中的某一段內(nèi)容。對(duì)這個(gè)簡(jiǎn)單的GUI來說,可
以將它的功能分解成兩個(gè)原子的交互職責(zé),分別代表兩個(gè)功能點(diǎn), 一個(gè)是替換, 一個(gè)是比較。
以比較兩個(gè)文件是否相同為例。
3、 進(jìn)一步,需要實(shí)現(xiàn)一個(gè)具體的交互職責(zé),該職責(zé)就是表示兩個(gè)文件是否相同這個(gè)功能 點(diǎn)的交互,該交互職責(zé)必須繼承交互職責(zé)通用接口。
4、 然后,為該GUI創(chuàng)建一個(gè)具體的GUI接口,該接口必須繼承通用GUI接口。根據(jù)對(duì)交 互職責(zé)中兩個(gè)方法的分析定義出具體的GUI接口中應(yīng)該包含的方法。
因?yàn)樾枰容^兩個(gè)文件,所以需要具體的GUI接口提供兩個(gè)方法分別用來獲取被比較的 文件名和與之比較的文件名,當(dāng)兩個(gè)文件名相同時(shí),需要提示給GUI,所以,具體的GUI接
口需要提供用來處理兩個(gè)文件名相同情況的方法,另外,若兩個(gè)文件名不同,則需要比較文 件,那么比較的結(jié)果還需要具體GUI接口提供一個(gè)方法用來處理這個(gè)比較結(jié)果,所以,針對(duì) 這么一個(gè)交互職責(zé)的分析,具體GUI接口中將會(huì)定義出四個(gè)接口方法。 5、 再進(jìn)一步,實(shí)現(xiàn)具體的GUI,該具體GUI實(shí)現(xiàn)要繼承定義出來的具體的GUI接口。將
接口中的方法實(shí)現(xiàn)和具體的可視化控件聯(lián)系起來,簡(jiǎn)化代碼如下,主要列出了接口方法的實(shí) 現(xiàn)和相應(yīng)控件之間的關(guān)系,以及利用分發(fā)器對(duì)具體交互職責(zé)的分發(fā)。
用一個(gè)具體的GUI類(例如界面)來實(shí)現(xiàn)定義出來的具體的GUI接口,在得到比較結(jié)果 時(shí),例如可以通過彈出提示框來提示比較結(jié)果等諸多實(shí)現(xiàn)方式。
6、 接著,定義交互職責(zé)組裝描述文件,該交互職責(zé)組裝描述文件采用XML格式,描述
格式如下
<ViewCommand>
<View name=" SwingFileEditView" imp=〃 SwingFileEditView〃〉 <C〇mmand name=" fileCompare "
imp = 、、CompareTwoFilesMsgProc〃 />
</View> </ViewCommand>
系統(tǒng)啟動(dòng)時(shí),會(huì)讀取并分析交互職責(zé)組裝描述文件。首先加載GUI的主實(shí)現(xiàn)(實(shí)際的界 面實(shí)現(xiàn)類),然后分析并加載該視圖需要組裝的各個(gè)交互職責(zé)的具體實(shí)現(xiàn),并且根據(jù)配置文件 中的GUI名稱、交互職責(zé)的名稱以及交互職責(zé)的具體實(shí)現(xiàn)建立起它們之間的對(duì)應(yīng)關(guān)系,并且 將這種對(duì)應(yīng)關(guān)系保存在分發(fā)器中,再利用GUI接口中的設(shè)置分發(fā)器的方法將分發(fā)器設(shè)置到GUI 中,以供GUI使用。
權(quán)利要求
1、一種降低GUI測(cè)試成本的邏輯組織方法,包括如下步驟1-1、定義交互職責(zé)通用接口定義一個(gè)抽象的、一致的接口用來模型化這個(gè)交互職責(zé);1-2、定義通用GUI接口這個(gè)接口用來作為所有GUI交互邏輯的一個(gè)頂層的、一致的抽象;1-3、識(shí)別具體的交互職責(zé)通過對(duì)具體GUI所需要實(shí)現(xiàn)的功能進(jìn)行劃分,將他們劃分成更加內(nèi)聚的原子交互職責(zé);1-4、定義具體GUI接口該接口用來定義某個(gè)具體GUI的交互邏輯,具體GUI接口要繼承在步驟1-2中定義的通用GUI接口;1-5、實(shí)現(xiàn)具體交互職責(zé)根據(jù)該交互職責(zé)中需要完成的交互邏輯來實(shí)現(xiàn),具體交互職責(zé)在實(shí)現(xiàn)時(shí)要繼承在步驟1-1中定義的交互職責(zé)通用接口;1-6、實(shí)現(xiàn)具體GUI;1-7、定義GUI和交互職責(zé)的裝配將GUI的名稱、GUI的實(shí)現(xiàn)組件、交互職責(zé)的名稱、交互職責(zé)的實(shí)現(xiàn)組件以及它們之間的組合關(guān)系定義在交互職責(zé)組裝描述文件中;1-8、實(shí)現(xiàn)分發(fā)器分發(fā)器主要用來保存GUI和其包含的交互職責(zé)之間的對(duì)應(yīng)關(guān)系,并且負(fù)責(zé)接收GUI發(fā)來的關(guān)于分發(fā)的請(qǐng)求以執(zhí)行相應(yīng)功能;1-9、交互職責(zé)加載、裝配將交互職責(zé)和具體GUI之間的關(guān)系保存到分發(fā)器中。
2、 如權(quán)利要求1所述的邏輯組織方法,其特征在于,步驟1-1中接口定義包括兩個(gè)方法一個(gè)用來從GUI獲取操作參數(shù), 一個(gè)用來將操作結(jié)果通知給GUI。
3、 如權(quán)利要求2所述的邏輯組織方法,其特征在于,步驟1-4針對(duì)步驟1-3識(shí)別出來的每個(gè)交互職責(zé),重復(fù)下面兩個(gè)步驟來定義出具體GUI接口中需要提供的方法3-1、分析出該交互職責(zé)從GUI獲取操作參數(shù)時(shí),GUI接口需要提供的方法; 3-2、分析出該交互職責(zé)將操作結(jié)果通知給GUI時(shí),GUI接口需要提供的方法。
4、 如權(quán)利要求2所述的邏輯組織方法,其特征在于,步驟1-8中的分發(fā)器通過具體的交 互職責(zé)的獲取操作參數(shù)方法獲取操作所需要的參數(shù),并且執(zhí)行操作,然后將結(jié)果通過交互職 責(zé)的結(jié)果通知方法將操作結(jié)果返回給GUI。
5、 如權(quán)利要求1所述的邏輯組織方法,其特征在于,步驟1-2中通用GUI接口可以是一 個(gè)空接口,也可以是含有所有GUI交互邏輯中的公共部分。
6、 如權(quán)利要求1所述的邏輯組織方法,其特征在于,步驟1-6包括如下步驟6-1、采用具體的GUI控件來實(shí)現(xiàn)可視化圖形界面;6-2、該具體GUI實(shí)現(xiàn)必須要繼承具體的GUI接口,該GUI接口就是在步驟l-4中定義出來的具體GUI接口;6-3、實(shí)現(xiàn)GUI接口中的方法,就是完成交互職責(zé)中定義出來的GUI交互邏輯,將對(duì)具體 控件的控制和這些方法的實(shí)現(xiàn)聯(lián)系起來;6- 4、存有對(duì)分發(fā)器的引用完成對(duì)具體交互職責(zé)的分發(fā),對(duì)分發(fā)器引用的存取可以通過實(shí) 現(xiàn)通用GUI接口中的設(shè)置分發(fā)器方法來實(shí)現(xiàn)。
7、 如權(quán)利要求1所述的邏輯組織方法,其特征在于,步驟l-9包括如下步驟7- 1、讀取并解析交互職責(zé)組裝描述文件;7-2、采用動(dòng)態(tài)加載技術(shù)來完成具體交互職責(zé)實(shí)現(xiàn)的加載;7-3、建立GUI、交互職責(zé)名以及交互職責(zé)實(shí)現(xiàn)的對(duì)應(yīng)關(guān)系; 7-4、根據(jù)配置將這種關(guān)系保存到分發(fā)器中。
8、 如權(quán)利要求1至7中任意一項(xiàng)所述的邏輯組織方法,其特征在于,所述交互職責(zé)組裝 描述文件采用XML格式,描述格式如下<ViewC〇mmand><View name="sales" imp=〃salesViewImpl〃><Command name="addt〇chart,' imp = 、、addtochartlmpl〃 /〉 <C〇mmand name="range" imp = 、、rangeimpl〃 /〉</View></ViewCommand>。
全文摘要
本發(fā)明公開了一種降低GUI測(cè)試成本的邏輯組織方法,包括如下步驟定義交互職責(zé)通用接口;定義通用GUI接口;識(shí)別具體的交互職責(zé);定義具體GUI接口;實(shí)現(xiàn)具體交互職責(zé);實(shí)現(xiàn)具體GUI;定義GUI和交互職責(zé)的裝配;實(shí)現(xiàn)分發(fā)器;交互職責(zé)加載、裝配。本發(fā)明使得交互邏輯做到高內(nèi)聚,大大降低了GUI的測(cè)試成本,本發(fā)明具有高效、便捷、一致的特點(diǎn),并且易于擴(kuò)展。
文檔編號(hào)G06F11/36GK101192191SQ20061014557
公開日2008年6月4日 申請(qǐng)日期2006年11月23日 優(yōu)先權(quán)日2006年11月23日
發(fā)明者鳴 孫 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄂温| 淮南市| 崇明县| 林芝县| 上栗县| 马关县| 蒙山县| 武乡县| 东方市| 城市| 大邑县| 莆田市| 盐源县| 行唐县| 运城市| 福安市| 沂南县| 城市| 屯门区| 定边县| 阿图什市| 德安县| 手游| 青田县| 嘉黎县| 清徐县| 綦江县| 三河市| 河源市| 扶绥县| 沁水县| 江华| 城固县| 道真| 通渭县| 抚松县| 泰安市| 锡林郭勒盟| 沿河| 塔河县| 黄浦区|