版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題 目: 電子詞典設(shè)計(jì)與開(kāi)發(fā) </p><p> Development of Electron Dictionary </p><p><b> 摘 要</b></p><p> 二十世紀(jì)后半葉,以電子計(jì)算機(jī)為代表的
2、現(xiàn)代科學(xué)獲得了突飛猛進(jìn)的發(fā)展并迅速和人們的日常生活結(jié)合在一起。計(jì)算機(jī)技術(shù)的發(fā)展和進(jìn)步也使電子語(yǔ)言詞典的誕生成為可能。雖然只有十來(lái)年的歷史,電子詞典卻已經(jīng)迅速發(fā)展壯大,成為詞典家族中具有旺盛生命力的一員。盡管目前它尚不足以取代傳統(tǒng)詞典,但在英語(yǔ)學(xué)習(xí)和教學(xué)中,由于它實(shí)用、快捷、準(zhǔn)確、經(jīng)濟(jì)等特點(diǎn),已經(jīng)成為傳統(tǒng)英漢詞典的有力競(jìng)爭(zhēng)者,并對(duì)傳統(tǒng)的詞典提出了挑戰(zhàn)。</p><p> 本文將要介紹的軟件就是一個(gè)多功能學(xué)單詞軟件
3、,主要介紹了這個(gè)軟件制作環(huán)境,制作流程,對(duì)數(shù)據(jù)庫(kù)的操作以及它的使用方法。用戶可以根據(jù)自己的需要去查詢單詞,添加單詞,刪除單詞,編輯單詞等。另外,它還給單詞學(xué)習(xí)者們提供了一個(gè)背單詞的好方法。每一個(gè)用戶都可以通過(guò)創(chuàng)建一個(gè)用戶名來(lái)背誦單詞,隨時(shí)查看自己的歷史記錄,以便確定自己的背誦進(jìn)度。本文從軟件工程的角度進(jìn)行了詳細(xì)的闡述。該系統(tǒng)的開(kāi)發(fā)工具是powerbuilder 9.0,使用的數(shù)據(jù)庫(kù)為Adapt Server Anywhere 。<
4、/p><p> 關(guān)鍵詞 :電子詞典,powerbuilder,數(shù)據(jù)庫(kù)</p><p><b> Abstract</b></p><p> 20 half after centuries leaf, with computer for representative of the development that modern science
5、acquires to advance by leaps and bounds combine quick combine together with the people's daily life.The calculator technical development and progresses also make the naissance of the electronics language Electron Di
6、ctionary make possible.Although only ten histories of the next years, the electronics Electron Dictionary has already developped quickly strong, become having a member of the prospe</p><p> The software th
7、at this text will introduce is a multi-function learn the single phrase software, mainly introduced this software manufacture environment, the manufacture process, to operation and its operation methods of the database.
8、The customer can search the single phrase according to own demand, increasing the single phrase, deleting the single phrase, editting single phrase etc..Moreover, it returned to provide a good method that carries on the
9、back the single phrase for the single phrase </p><p> Key Words:The Electron Dictionary , powerbuilder 9.0, Adapt Server Anywhere目 錄</p><p><b> 前 言1</b></p><p> 第一
10、章 系統(tǒng)分析2</p><p> 1.1 系統(tǒng)目標(biāo)2</p><p> 1.2 系統(tǒng)需求分析2</p><p> 第二章 系統(tǒng)總體設(shè)計(jì)3</p><p> 2.1 系統(tǒng)設(shè)計(jì)思想3</p><p> 2.2 功能設(shè)計(jì)細(xì)節(jié)問(wèn)題3</p><p> 2.3 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)4
11、</p><p> 2.4 模塊功能說(shuō)明5</p><p> 2.5 開(kāi)發(fā)工具和環(huán)境6</p><p> 2.5.1 總體開(kāi)發(fā)工具及環(huán)境6</p><p> 2.5.2 開(kāi)發(fā)工具簡(jiǎn)介7</p><p> 第三章 數(shù)據(jù)庫(kù)的開(kāi)發(fā)與設(shè)計(jì)9</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析
12、9</p><p> 3.2 系統(tǒng)邏輯分析10</p><p> 3.3 數(shù)據(jù)庫(kù)的連接11</p><p> 3.3.1 程序設(shè)計(jì)時(shí)與數(shù)據(jù)庫(kù)的連接12</p><p> 3.3.2程序運(yùn)行時(shí)與數(shù)據(jù)庫(kù)的連接12</p><p> 第四章 關(guān)鍵模塊頁(yè)面和代碼設(shè)計(jì)14</p><p&
13、gt; 4.1 應(yīng)用程序?qū)ο笤O(shè)計(jì)14</p><p> 4.2 軟件封面設(shè)計(jì)14</p><p> 4.3 軟件主界面設(shè)計(jì)16</p><p> 4.4 查詢功能模塊設(shè)計(jì)18</p><p> 4.5 輕松背單詞模塊設(shè)計(jì)19</p><p> 4.6 詞庫(kù)管理模塊設(shè)計(jì)22</p>
14、<p> 第五章 系統(tǒng)測(cè)試25</p><p> 5.1 系統(tǒng)測(cè)試環(huán)境25</p><p> 5.2功能測(cè)試25</p><p> 第六章 系統(tǒng)發(fā)布28</p><p> 6.1 創(chuàng)建工程對(duì)象28</p><p> 6.2 發(fā)布29</p><p><b
15、> 結(jié) 論30</b></p><p><b> 致 謝31</b></p><p><b> 參考文獻(xiàn)32</b></p><p><b> 附 錄33</b></p><p><b> 前 言</b><
16、/p><p> 電子詞典誕生于80年代末期。如今市場(chǎng)上流行的有幾十個(gè)品牌,數(shù)百個(gè)品種,集成了十幾種甚至百余種功能,容量也從剛開(kāi)始時(shí)的一萬(wàn)左右到現(xiàn)在的幾萬(wàn),十幾萬(wàn),有些品種則包含了幾本不同詞典的全部?jī)?nèi)容?,F(xiàn)在大多數(shù)電子詞典可以自由擴(kuò)充詞庫(kù),或從互聯(lián)網(wǎng)上生產(chǎn)商的網(wǎng)站上下載詞庫(kù),對(duì)詞典進(jìn)行自動(dòng)更新。這對(duì)傳統(tǒng)詞典而言,其修訂周期最少也得5到7年,這種袖珍電子詞典已經(jīng)成為學(xué)生的必備學(xué)習(xí)工具,據(jù)調(diào)查,在廣州,上海,北京等大城市
17、中,電子詞典在高中生中的持有率已經(jīng)接近 50%,在大學(xué)生中持有率也不斷上升。目前市場(chǎng)商的主流電子詞典有:文曲星、快譯通、好易通、名人等系列產(chǎn)品。除了主要用于查詢單詞以外所有掌上電子詞典都或多或少的提供其他的輔助功能。</p><p> 本人作為一個(gè)計(jì)算機(jī)應(yīng)用的本科生,希望根據(jù)英語(yǔ)學(xué)習(xí)者的需求來(lái)設(shè)計(jì)一個(gè)實(shí)用的電子詞典,以幫助英語(yǔ)學(xué)習(xí)者們更方便更快捷地查詢單詞、記憶單詞,有效,自由的對(duì)詞庫(kù)進(jìn)行管理,操作。閑暇之余也
18、可以用猜詞游戲來(lái)鞏固一下單詞。</p><p> 本文主要包含以下內(nèi)容:</p><p> ?。?)系統(tǒng)需求分析和系統(tǒng)功能設(shè)計(jì)</p><p> (2)開(kāi)發(fā)工具的選擇及開(kāi)發(fā)環(huán)境的設(shè)置,介紹了PB9.0及ASA數(shù)據(jù)庫(kù)的基本情況。</p><p> ?。?)數(shù)據(jù)庫(kù)的設(shè)計(jì),介紹了數(shù)據(jù)庫(kù)設(shè)計(jì)理論、系統(tǒng)中所用到的表的邏輯結(jié)構(gòu)設(shè)計(jì)方法和設(shè)計(jì)過(guò)程等。&
19、lt;/p><p> ?。?)功能模塊的設(shè)計(jì),具體介紹了如何實(shí)現(xiàn)各個(gè)功能模塊,介紹了一些核心代碼等。</p><p> ?。?)對(duì)系統(tǒng)進(jìn)行測(cè)試與調(diào)試,對(duì)設(shè)計(jì)過(guò)程中產(chǎn)生的錯(cuò)誤進(jìn)行修正。</p><p><b> 第一章 系統(tǒng)分析</b></p><p><b> 1.1 系統(tǒng)目標(biāo)</b></p&
20、gt;<p> 電子詞典的設(shè)計(jì)主要是用于幫助用戶查找一些不懂的單詞。以確定意思,再加上一些相關(guān)的擴(kuò)展功能。</p><p> 支持用戶查詢需求,能夠?qū)崿F(xiàn)英漢互相翻譯的功能</p><p> 支持用戶自定義詞庫(kù)能夠使用戶對(duì)詞庫(kù)進(jìn)行操作,以便使用戶獲得更多的資料。</p><p> 加入輕松背單詞功能,是用戶對(duì)單詞有一個(gè)及時(shí)全面的復(fù)習(xí)環(huán)境。<
21、/p><p> 1.2 系統(tǒng)需求分析</p><p> 用戶在使用電子詞典的時(shí)候,有可能會(huì)使用電子詞典的查詢功能,也有可能使用電子詞典的輕松背單詞功能。</p><p> 通過(guò)對(duì)用戶需求分析,初步確定該系統(tǒng)的基本需求情況:</p><p> 用戶在打開(kāi)軟件的時(shí)候,應(yīng)該有一個(gè)漂亮的背景和背景音樂(lè)來(lái)舒和用戶的心情。</p>&l
22、t;p> 當(dāng)用戶需要查詢的時(shí)候,軟件必須提供這個(gè)單詞的所有信息。以便與用戶來(lái)獲得所需要的信息。</p><p> 可以自定義單詞,使用戶自己可以擴(kuò)充詞庫(kù)。</p><p> 用戶可以根據(jù)自己的情況來(lái)選擇級(jí)別來(lái)背誦單詞。</p><p> 用戶在背誦單詞的時(shí)候,可以選擇每次背誦單詞的數(shù)量,單詞的范圍。</p><p> 第二章
23、系統(tǒng)總體設(shè)計(jì)</p><p> 2.1 系統(tǒng)設(shè)計(jì)思想</p><p> 電子詞典軟件面向用戶時(shí),重要的是其可靠性,即用戶能準(zhǔn)確且較快速地查詢到詞語(yǔ)的相關(guān)釋義。本文中分析用到的電子詞典外觀可參見(jiàn)Challenges英語(yǔ)教學(xué)軟件中的電子詞典(Challenges是智能型多媒體教學(xué)軟件,電子詞典是其功能之一)。詞典軟件準(zhǔn)確而快速地響應(yīng)來(lái)自于程序結(jié)構(gòu)上的清晰和代碼的優(yōu)化。而電子詞典軟件面向設(shè)計(jì)
24、者時(shí)設(shè)計(jì)者總是希望以盡可能簡(jiǎn)單的結(jié)構(gòu)、盡可能少的代碼構(gòu)造出更為理想的軟件,尤其是快速地、成批地構(gòu)建詞庫(kù),因?yàn)榻◣?kù)的工作往往耗時(shí)長(zhǎng),容易出錯(cuò),需要反復(fù)無(wú)數(shù)次地調(diào)試。這在理論上包含了對(duì)詞庫(kù)的索引方式問(wèn) 題。從全文檢索的角度上來(lái)說(shuō),即是對(duì)關(guān)鍵字的有效選取。</p><p> 由于這類軟件中內(nèi)嵌的電子詞典的外觀比較簡(jiǎn)潔,使用起來(lái)只需用鼠標(biāo)進(jìn)行點(diǎn)選就會(huì)有相應(yīng)的釋義出現(xiàn),如果不深入分
25、析的話,初見(jiàn)到它的人認(rèn)為這是一種簡(jiǎn)單的、對(duì)網(wǎng)頁(yè)進(jìn)行的鏈接設(shè)定。事實(shí)上,對(duì)詞庫(kù)中的詞語(yǔ)和釋義進(jìn)行逐個(gè)鏈接的設(shè)定是比較麻煩的,很多詞典軟件的建庫(kù)工作是建立在大量重復(fù)性的操作的基礎(chǔ)上的,而且無(wú)法進(jìn)行自動(dòng)排序,只能手工逐條排序和添加,對(duì)按首字母進(jìn)行的單詞排序就更無(wú)從說(shuō)起。因此,以此為例,對(duì)實(shí)現(xiàn)電子詞典軟件的探索在于自動(dòng)化、智能化方面的實(shí)現(xiàn),而不是靠手工建庫(kù)來(lái)完成。</p><p> 2.2 功能設(shè)計(jì)細(xì)節(jié)問(wèn)題</p
26、><p> 確定了軟件設(shè)計(jì)結(jié)構(gòu)后,通過(guò)編碼和優(yōu)化實(shí)現(xiàn)這一結(jié)構(gòu)是不太復(fù)雜的。但是涉及到相關(guān)的細(xì)節(jié)問(wèn)題相當(dāng)多,例如,程序的初始界面是怎樣的,一開(kāi)始運(yùn)行程序,首先應(yīng)該有字母表,否則用戶無(wú)法選取;此外,單詞預(yù)覽窗口里應(yīng)總是有一些單詞(即使在初始狀態(tài)下),這表現(xiàn)了友好的設(shè)計(jì)風(fēng)范。所以,當(dāng)程序一旦加載,就應(yīng)該出現(xiàn)字母表和以A字母開(kāi)頭的單詞。</p><p> 隨著用戶的使用,界面上的單詞和釋義不斷做出
27、變化,這一過(guò)程是交互的。還可以給單詞或釋義配音,甚至用動(dòng)畫(huà)等方式帶來(lái)更易接受的效果;合理的引導(dǎo)信息,當(dāng)用戶直接點(diǎn)擊查詢時(shí)時(shí),智能型的軟件可以給用戶做出自動(dòng)提示,例如告知:“請(qǐng)?zhí)顚?xiě)您需要查找的單詞”等等。但這種引導(dǎo)信息不應(yīng)成為冗余信息。如果用戶沒(méi)有點(diǎn)準(zhǔn)位置,而系統(tǒng)彈出一個(gè)提示框,要求用戶選擇是再試一次還是放棄,這就很不合理了。因此對(duì)于智能化的設(shè)計(jì)一定要站在用戶的角度上考慮,而不是一味炫耀設(shè)計(jì)者具有怎樣的想法和水平。</p>
28、<p> 如果軟件的邏輯關(guān)系比較復(fù)雜,為便于用戶的使用,可以加上“刷新”的功能,這樣能更迅速地回到主界面,甚至可直接關(guān)閉電子詞典功能,直接轉(zhuǎn)到別的功能上去,實(shí)現(xiàn)軟件間的相互調(diào)用;進(jìn)一步的設(shè)想是,對(duì)軟件做出一部分的開(kāi)放式設(shè)計(jì),讓用戶直接參與到設(shè)計(jì)中來(lái)例如加掛一個(gè)模塊讓用戶進(jìn)行軟件DIY,用戶可以隨心所欲的添加自己的詞庫(kù)。</p><p> 2.3 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) </p><p
29、> 電子詞典作為一個(gè)大眾應(yīng)用軟件來(lái)說(shuō),她的誕生無(wú)疑是給人們更多的權(quán)利去遨游在浩瀚的互聯(lián)網(wǎng)。所以一個(gè)好的電子詞典軟件應(yīng)該使用起來(lái)更加方便,更加貼心,更符合用戶的需求。</p><p> 本電子詞典主要包括以下幾個(gè)功能模塊。</p><p> 系統(tǒng)功能模塊圖如下:</p><p> 圖 2.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 2
30、.4 模塊功能說(shuō)明</p><p> 漢譯英功能模塊說(shuō)明:可以實(shí)現(xiàn)對(duì)英文單詞對(duì)中文單詞的查詢功能。當(dāng)用戶在輸入第一個(gè)字符的時(shí)候,以這個(gè)字符作為開(kāi)頭的單詞會(huì)顯示在下邊的數(shù)據(jù)窗口中,用戶可以直接雙擊該單詞以便顯示這個(gè)單詞的中文解釋。也就是說(shuō),不需要完全輸入用戶想要找的單詞。只要用戶有一點(diǎn)單詞的印象,那么,他就可以憑記憶來(lái)雙擊他想要的單詞來(lái)顯示該單詞的意思。 </p><p> 在單詞解釋
31、窗口里,用戶可以看到自己所需要的信息。可以找到于之相關(guān)的經(jīng)典例句。以便用戶以后能對(duì)該單詞更加熟悉。同時(shí)還包括了近義詞,反義詞,音標(biāo),等于單詞想關(guān)聯(lián)的信息。</p><p><b> 英譯漢功能模塊說(shuō)明</b></p><p> 可以實(shí)現(xiàn)中文對(duì)英文的翻譯,通漢譯英一樣。在左下數(shù)據(jù)窗口里面也可以直接雙擊該單詞來(lái)獲得用戶想要的相關(guān)信息</p><p&
32、gt; 輕松背單詞功能模塊說(shuō)明</p><p> 用戶管理模塊:這個(gè)模塊的意義并不在于限制非法用戶的登陸問(wèn)題。</p><p> 只是當(dāng)不同的用戶來(lái)使用不同的單詞測(cè)驗(yàn)的時(shí)候,會(huì)產(chǎn)生不同的歷史記錄。使用用戶管理功能模塊以后。會(huì)使個(gè)人對(duì)自己的情況有非常深刻的了解。</p><p> 新用戶注冊(cè)模塊:可以注冊(cè)新的用戶,條件是不能用已經(jīng)存在的用 戶名來(lái)注冊(cè)
33、,另外,這里加入了用戶密碼驗(yàn)證體系,假如注冊(cè)用戶 兩次密碼的輸入不一致,也不能通過(guò)合法性驗(yàn)證</p><p> 用戶登陸模塊:這里就是用戶的驗(yàn)證界面了。假如正確的用戶登陸了,進(jìn)入功能選擇窗口。而且歷史記錄這個(gè)數(shù)據(jù)窗口里就會(huì)顯示相應(yīng)的歷史記錄。假如用戶不能正確的登陸的話。則關(guān)閉窗口。增加惡意用戶猜測(cè)密碼的難度。</p><
34、;p> 單詞瀏覽功能:當(dāng)用戶執(zhí)行這個(gè)功能的時(shí)候,會(huì)跳出一個(gè)向?qū)Э虺鰜?lái)。會(huì)提示用戶瀏覽單詞的速度。假如用戶選擇手動(dòng)的話。那么用戶只要單擊下一條就可以了。當(dāng)用戶背完他所選組的所有單詞以后,結(jié)束這次背誦。返回功能選擇界面。</p><p> 單詞測(cè)試功能:在這個(gè)功能模塊里,可以對(duì)用戶所選擇的組進(jìn)行測(cè)試,如果用戶是剛瀏覽過(guò)的一組單詞,那么,在單詞測(cè)試的詞庫(kù)設(shè)置會(huì)默認(rèn)為剛才瀏覽的一組單詞。假如用戶正確了或者錯(cuò)誤了
35、,那么將會(huì)彈出提示。假如用戶背誦的單詞錯(cuò)誤的總數(shù)高于總單詞數(shù)量的10%的時(shí)候,那么這組單詞就不會(huì)通過(guò)。無(wú)論通過(guò)于否,都會(huì)存進(jìn)歷史記錄里。供用戶查看。</p><p> 歷史記錄:在這個(gè)模塊里,用戶可以很輕松的看見(jiàn)自己背誦單詞的情況。用戶可以看見(jiàn)自己沒(méi)有通過(guò)的組號(hào),以及單詞背誦的日期。雙擊未通過(guò)的組可以進(jìn)入單詞測(cè)試模塊,繼續(xù)進(jìn)行一次測(cè)試。</p><p> 詞庫(kù)設(shè)置:用戶可以在這個(gè)里面設(shè)
36、置這個(gè)詞庫(kù)。注意:用戶剛登陸的時(shí)候詞庫(kù)設(shè)置的默認(rèn)值都是空的。必須在詞庫(kù)設(shè)置里先設(shè)置好詞庫(kù)范圍才能進(jìn)行單詞瀏覽,單詞測(cè)試。</p><p> 猜詞游戲:供用戶在休息的時(shí)間里放松一下自己的功能模塊。用戶可以根據(jù)自己的要求和實(shí)力來(lái)自定義猜詞的難度。猜詞的字母數(shù)越少,難度越低,失誤的機(jī)會(huì)數(shù)越多,難度也越低。</p><p> 2.5 開(kāi)發(fā)工具和環(huán)境</p><p>
37、2.5.1 總體開(kāi)發(fā)工具及環(huán)境</p><p> 本系統(tǒng)采用的軟件開(kāi)發(fā)工具及環(huán)境如下:</p><p> 操作系統(tǒng): WINDOWS xp</p><p> 編程工具: PowerBuilder9.0</p><p> 數(shù)據(jù)庫(kù):Adaptive Server Anywhere數(shù)據(jù)庫(kù)</p><p> 開(kāi)發(fā)用機(jī)
38、器的硬件配置:</p><p> Pentium Ⅳ 1.70GHz、256MB內(nèi)存、30GB硬盤(pán)等。</p><p><b> 運(yùn)行要求的配置:</b></p><p> 硬件環(huán)境:英特爾奔騰處理器,166MHZ或更高的處理器、 32M RAM-ROM驅(qū)動(dòng)器、256色、1024*768分辨率顯示器(推薦使用更高的分辨率和顏色深度)<
39、;/p><p> 軟件環(huán)境:WINDOWS98/2000/XP</p><p> 2.5.2 開(kāi)發(fā)工具簡(jiǎn)介</p><p> PowerBuilder是一個(gè)圖形化的應(yīng)用程序開(kāi)發(fā)環(huán)境。使用PowerBuilder開(kāi)發(fā)的應(yīng)用軟件由窗口構(gòu)成,窗口中不僅可以包含按鈕、下拉列表框及單選按紐等標(biāo)準(zhǔn)的Windows控件,還可以有PowerBuilder提供的特殊控件。這些特殊控
40、件可以使應(yīng)用軟件更容易使用,使應(yīng)用軟件的開(kāi)發(fā)效率更高。</p><p> 例如,數(shù)據(jù)窗口就是PowerBuilder提供的一個(gè)集成度很高的控件,使用該控件可以很方便地從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),很簡(jiǎn)單地檢索數(shù)據(jù),提供圖形化的數(shù)據(jù)顯示方式,創(chuàng)建統(tǒng)計(jì)功能非常強(qiáng)大的數(shù)據(jù)統(tǒng)計(jì)表。由于數(shù)據(jù)窗口對(duì)數(shù)據(jù)的操作是通過(guò)事務(wù)進(jìn)行的,所以對(duì)數(shù)據(jù)的操作有很強(qiáng)的可靠性。這些都為開(kāi)發(fā)功能強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用軟件提供了可靠的保證。</p>
41、<p> 商業(yè)化的軟件開(kāi)發(fā)要求有很好的移植性。PowerBuilder既可以跨平臺(tái)開(kāi)發(fā),也可以發(fā)行跨平臺(tái)軟件。例如,在Windows 95下開(kāi)發(fā)的程序,可以不修改源程序而形成UNIX下的執(zhí)行文件或Macintosh下的執(zhí)行文件。在開(kāi)發(fā)小組中,不同成員可以使用不同的開(kāi)發(fā)環(huán)境,但由于PowerBuilder的支持,在不同的開(kāi)發(fā)環(huán)境下看到的共享PowerBuilder對(duì)象是相同的,所以仍可以同時(shí)開(kāi)發(fā)同一個(gè)應(yīng)用程序。</p&
42、gt;<p> 隨著軟件技術(shù)的不斷發(fā)展,PowerBuilder 8.0及時(shí)地強(qiáng)化了開(kāi)發(fā)功能,并提供了一些配套的開(kāi)發(fā)工具,成為一種易于使用的、可伸縮的并經(jīng)實(shí)踐證明的快速集成開(kāi)發(fā)環(huán)境。它在給用戶提供一條轉(zhuǎn)移到下一代平臺(tái)的途徑的同時(shí),使用戶仍能夠保護(hù)和擴(kuò)展現(xiàn)有的技術(shù)和應(yīng)用上的投資。</p><p> Adaptive Server Anywhere是PowerBuilder自帶的數(shù)據(jù)庫(kù)管理系統(tǒng),Ad
43、aptive Server Anywhere數(shù)據(jù)庫(kù)可以與PowerBuilder運(yùn)行在同一臺(tái)機(jī)器上,作為PowerBuilder的數(shù)據(jù)庫(kù)服務(wù)器,與PowerBuilder構(gòu)成客戶/服務(wù)器體系結(jié)構(gòu)。由于Adaptive Server Anywhere在功能上已具備了大型數(shù)據(jù)庫(kù)的特點(diǎn),因此使用Adaptive Server Anywhere有如下好處:</p><p> ?、庞捎贏daptive Server Any
44、where本身已經(jīng)是一個(gè)完整的數(shù)據(jù)庫(kù)管理系統(tǒng),所以在項(xiàng)目的開(kāi)發(fā)階段,單機(jī)即可開(kāi)發(fā)大型數(shù)據(jù)庫(kù)應(yīng)用,而不必在網(wǎng)絡(luò)狀態(tài)下與大型數(shù)據(jù)庫(kù)管理系統(tǒng)連接起來(lái)開(kāi)發(fā);</p><p> ⑵開(kāi)發(fā)完成后,幾乎不用更改,把開(kāi)發(fā)出的應(yīng)用系統(tǒng)拿到網(wǎng)絡(luò)下即可運(yùn)行在其他數(shù)據(jù)庫(kù)上。</p><p> 第三章 數(shù)據(jù)庫(kù)的開(kāi)發(fā)與設(shè)計(jì)</p><p> 電子詞典的應(yīng)用前景是很廣闊的,許多諸如英語(yǔ)教學(xué)一
45、類的軟件中都會(huì)掛一個(gè)小型的英文詞典。這類詞典詞庫(kù)的設(shè)計(jì)方法多種多樣,大多是針對(duì)軟件自身的特點(diǎn)進(jìn)行特殊的考慮和設(shè)計(jì),目的是方便用戶的使用,取得較好的效果。在電子辭典的設(shè)計(jì)過(guò)程中,設(shè)計(jì)者要考慮多方面的問(wèn)題</p><p> 因此,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響,好的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)會(huì)減少數(shù)據(jù)庫(kù)的存儲(chǔ)量,資料的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡(jiǎn)化基于此數(shù)據(jù)庫(kù)的應(yīng)用程序的實(shí)
46、現(xiàn)等等。由于數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,人們提出了許多數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的技術(shù)。但這些技術(shù)方法與數(shù)據(jù)庫(kù)系統(tǒng)并沒(méi)有統(tǒng)一的相對(duì)應(yīng)的模式,而是要根據(jù)應(yīng)用系統(tǒng)對(duì)數(shù)據(jù)庫(kù)不同的需求來(lái)選擇不同的技術(shù)方法,甚至是幾種不同的方法的融合</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析</p><p> 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的第一階段,也是非常重要的一個(gè)階段是數(shù)據(jù)庫(kù)需求分析。在這個(gè)階段主要是收集基本資料以及數(shù)據(jù)處理的流程,為進(jìn)一步
47、設(shè)計(jì)打下基礎(chǔ)。根據(jù)以上的功能分析,系統(tǒng)主要需要建立的數(shù)據(jù)流圖如下:</p><p> 圖 3-1 系統(tǒng)數(shù)據(jù)流程圖</p><p> 通過(guò)對(duì)用戶需求和數(shù)據(jù)流程的分析,設(shè)計(jì)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 用戶名和密碼表:用戶名,密碼(主碼為用戶名)</p><p> 用戶歷史記錄表:用戶名,背誦時(shí)間,起始組,結(jié)束組,通過(guò)與否,
48、背誦級(jí)別 (其中用戶名和背誦時(shí)間為主碼)</p><p> 單詞表:?jiǎn)卧~號(hào),中文單詞,英文單詞,音標(biāo),詞性,例句,翻譯,是否屬于cet4級(jí)別,是否屬于cet6級(jí)別,是否屬于tofel級(jí)別的,是否屬于gre級(jí)別的。</p><p> 3.2 系統(tǒng)邏輯分析</p><p> 概念結(jié)構(gòu)是獨(dú)立于實(shí)際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)。
49、也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為ASA數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)庫(kù)模型。</p><p> 該數(shù)據(jù)庫(kù)系統(tǒng)要求具有以下方面的特點(diǎn):</p><p> ● 結(jié)構(gòu)合理,所建立的數(shù)據(jù)冗余度小,獨(dú)立性強(qiáng)。</p><p> ● 建檔、修改、查詢、統(tǒng)計(jì)快而準(zhǔn)確。</p><p><b> 保密性、可靠性好。</b></p&
50、gt;<p> 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)如下:</p><p> 用戶名和密碼表:用戶名(userid),密碼(userpassword)(主碼為用戶名)</p><p> 圖 3-2 用戶名和密碼表</p><p> 用戶歷史記錄表:用戶名(userid),背誦時(shí)間(recitetime),起始組(groupbegin),結(jié)束組(groupend
51、),通過(guò)與否(passornot),背誦級(jí)別(rank) (其中用戶名和背誦時(shí)間為主碼)</p><p> 圖 3-3 用戶歷史記錄表</p><p> 單詞表:?jiǎn)卧~號(hào)(id),中文單詞(cword),英文單詞(eword),音標(biāo)(ps),詞性(kind),例句(example),翻譯(translation),是否屬于cet4級(jí)別(cet4),是否屬于cet6級(jí)別(cet6),是否屬
52、于tofel(tofel)級(jí)別的,是否屬于gre級(jí)別的(gre)。(單詞號(hào)為主碼)</p><p> 圖 3-4 單詞信息表</p><p> 3.3 數(shù)據(jù)庫(kù)的連接</p><p> 在PowerBuilder開(kāi)發(fā)環(huán)境和應(yīng)用程序能夠操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)之前,必須首先與數(shù)據(jù)庫(kù)建立聯(lián)系,也就是連接到數(shù)據(jù)庫(kù)上。PowerBuilder與數(shù)據(jù)庫(kù)的連接建立在驅(qū)動(dòng)程序之上
53、。PowerBuilder通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序接口實(shí)現(xiàn)與各種類型數(shù)據(jù)庫(kù)的連接。接口的參數(shù)可以通過(guò)一個(gè)Database Profile來(lái)完成。對(duì)于每一個(gè)可能要用到的數(shù)據(jù)庫(kù),均可以建立一個(gè)Database Profile。在此Database Profile中所記錄的是建立到數(shù)據(jù)庫(kù)的一些連接信息,如數(shù)據(jù)庫(kù)管理信息(DBMS)的類型、用戶賬號(hào)、口令、數(shù)據(jù)庫(kù)以及其他的連接參數(shù)。</p><p> 當(dāng)開(kāi)發(fā)環(huán)境通過(guò)Datab
54、ase Profile連接到數(shù)據(jù)庫(kù)上之后,在PowerBuilder中使用數(shù)據(jù)庫(kù)畫(huà)筆可實(shí)現(xiàn)對(duì)該數(shù)據(jù)庫(kù)中表格、視圖等的操作,如創(chuàng)建表、修改表、刪除表、增加/刪除記錄。</p><p> PowerBuilder中設(shè)計(jì)數(shù)據(jù)窗口的時(shí)候,通過(guò)“Database Profile”對(duì)話框?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)的連接。在應(yīng)用程序中則一般是在應(yīng)用程序?qū)ο笾袑?xiě)連接數(shù)據(jù)庫(kù)的程序代碼,使得應(yīng)用程序開(kāi)始運(yùn)行并實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。</p&g
55、t;<p> 3.3.1 程序設(shè)計(jì)時(shí)與數(shù)據(jù)庫(kù)的連接</p><p> 在程序設(shè)計(jì)中可以使用“Database Profile”對(duì)話框完成配置和連接。如果已經(jīng)定義了所需數(shù)據(jù)庫(kù)的配置,那么就可以通過(guò)單擊選中該配置,然后單擊“Connect”按鈕,將系統(tǒng)連接到相應(yīng)的數(shù)據(jù)庫(kù)上。如果沒(méi)有定義數(shù)據(jù)庫(kù)配置,需要?jiǎng)?chuàng)建新的數(shù)據(jù)庫(kù)配置。</p><p> 首先選擇Tool菜單中的Datab
56、ase Profile子菜單,或者單擊圖標(biāo),出現(xiàn)“Database Profile”對(duì)話框。在其中選擇要配置的數(shù)據(jù)庫(kù)使用的數(shù)據(jù)庫(kù)接口,“ODB ODBC”節(jié)點(diǎn)。然后,單擊“New”按鈕,打開(kāi)“Database Profile Setup-ODBC”對(duì)話框,并設(shè)置所要連接數(shù)據(jù)庫(kù)的配置信息。完成設(shè)置后,單擊“Preview”標(biāo)簽頁(yè),在該標(biāo)簽頁(yè)中列出了數(shù)據(jù)庫(kù)剛剛配置的語(yǔ)句。單擊“OK”按鈕,返回到“Database Profile”對(duì)話框。這
57、時(shí)“ODB ODBC”節(jié)點(diǎn)下面就多了剛剛配置好的Database Profile。選中該配置,單擊該對(duì)話框中的“Connect”按鈕,系統(tǒng)即通過(guò)專用接口連接到數(shù)據(jù)庫(kù)上。</p><p> 當(dāng)PowerBuilder 8.0通過(guò)Database Profile 連接到數(shù)據(jù)庫(kù)上之后,在程序上之后,在程序設(shè)計(jì)的創(chuàng)建數(shù)據(jù)窗口對(duì)象時(shí),可以直接顯示該用戶在數(shù)據(jù)庫(kù)中可以修改的表,通過(guò)選擇某個(gè)(或者多個(gè))表可以將它們和數(shù)據(jù)窗口
58、對(duì)象連接起來(lái)。</p><p> 3.3.2程序運(yùn)行時(shí)與數(shù)據(jù)庫(kù)的連接</p><p> 在程序設(shè)計(jì)是和數(shù)據(jù)庫(kù)的連接Database Profile對(duì)話框來(lái)實(shí)現(xiàn)的,在程序運(yùn)行時(shí),則需要通過(guò)應(yīng)用程序?qū)ο髞?lái)實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的連接。在應(yīng)用程序?qū)ο笾袑?shí)現(xiàn)與數(shù)據(jù)庫(kù)連接,不在通過(guò)“Database Profile”對(duì)話框,而是使用Transaction事物對(duì)象。</p><p>
59、 一般數(shù)據(jù)庫(kù)的連接是在應(yīng)用程序開(kāi)始運(yùn)行是建立起來(lái)的。PowerBuilder9.0開(kāi)發(fā)的應(yīng)用程序的入口點(diǎn)是PowerBuilder9.0的應(yīng)用程序?qū)ο?。每個(gè)PowerBuilder應(yīng)用程序都必須有一個(gè)、而且只能有一個(gè)應(yīng)用程序?qū)ο?,在該?yīng)用程序?qū)ο笾袑?xiě)入與數(shù)據(jù)庫(kù)連接的程序代碼,從而使得應(yīng)用程序一開(kāi)始變實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。</p><p> 在“Database Profile”對(duì)話框完成設(shè)置后,單擊“Previ
60、ew”標(biāo)簽頁(yè),在該標(biāo)簽頁(yè)中列出了配置的語(yǔ)句。將連接數(shù)據(jù)庫(kù)的代碼復(fù)制到應(yīng)用程序?qū)ο笾校纯赏瓿纱a的編寫(xiě)。</p><p> 第四章 關(guān)鍵模塊頁(yè)面和代碼設(shè)計(jì)</p><p> 4.1 應(yīng)用程序?qū)ο笤O(shè)計(jì)</p><p> PowerBuilder9.0開(kāi)發(fā)的應(yīng)用程序的入口點(diǎn)是PowerBuilder9.0的應(yīng)用程序?qū)ο?,運(yùn)行是程序從這個(gè)入口點(diǎn)啟動(dòng),所以應(yīng)用程序?qū)ο?/p>
61、的設(shè)計(jì)是應(yīng)用程序設(shè)計(jì)的開(kāi)始。</p><p> 應(yīng)用程序?qū)ο蟮氖录欢啵还仓挥?個(gè),分別是Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd事件。</p><p> 本應(yīng)用程序?qū)ο笾兄挥玫絆pen事件,輸入如下程序代碼:</p><p> // Profile voc</p>&l
62、t;p> SQLCA.DBMS = "ODBC"</p><p> SQLCA.AutoCommit = False</p><p> SQLCA.DBParm = "ConnectString='DSN=voc;UID=dba;PWD=sql'"</p><p><b> connec
63、t;</b></p><p> open(w_open) //打開(kāi)啟動(dòng)窗口; </p><p> 4.2 軟件封面設(shè)計(jì)</p><p> 現(xiàn)在,一般的軟件在啟動(dòng)都會(huì)出現(xiàn)軟件封面,這樣的做法不是沒(méi)有必要的,因?yàn)椋浖饷婵梢允褂脩舾臃判?,讓他們知道程序還在繼續(xù)著,并沒(méi)有死掉。</p><p> 如果有的程序在開(kāi)始的時(shí)候需要
64、執(zhí)行連接數(shù)據(jù)庫(kù)的請(qǐng)求,那么,軟件啟動(dòng)界面就非常有必要了,它可以使用戶在軟件啟動(dòng)的時(shí)候會(huì)更耐心一點(diǎn)的等待軟件啟動(dòng)完畢。所以,在這個(gè)軟件里,我設(shè)計(jì)了一個(gè)封面。如下圖所示:</p><p> 圖 4 – 1 軟件啟動(dòng)界面</p><p> 在軟件啟動(dòng)的時(shí)候需要對(duì)單詞庫(kù)進(jìn)行分配,整理。所以代碼如下:</p><p> 在open事件里,主要代碼如下:</p&
65、gt;<p><b> timer(2)</b></p><p> int n, i = 0, m = 0 , a </p><p><b> a = 0</b></p><p> DECLARE c5 CURSOR FOR </p><p> SELECT "v
66、oc"."id" </p><p> FROM "voc" where cet4 = 1 ;</p><p><b> open c5;</b></p><p> do while true </p><p><b> fetch c5</b&g
67、t;</p><p><b> into :n;</b></p><p> a = a + 1;</p><p> if sqlca.sqlcode <> 0 then</p><p><b> exit </b></p><p><b> e
68、nd if</b></p><p><b> loop</b></p><p><b> close c5;</b></p><p> DECLARE c1 CURSOR FOR </p><p> SELECT "voc"."id"
69、</p><p> FROM "voc" where cet4 = 1 ;</p><p><b> open c1;</b></p><p> do while m <> a - 1</p><p><b> fetch c1 </b></p>
70、<p><b> into :n; </b></p><p> UPDATE "voc" </p><p> SET "cet4group" = :m / 3 + 1 where id = :n;</p><p><b> m = m + 1</b></p
71、><p><b> loop</b></p><p><b> close c1;</b></p><p><b> m = 0</b></p><p><b> a = 0</b></p><p> DECLARE c6 C
72、URSOR FOR </p><p> SELECT "voc"."id" </p><p> FROM "voc" where cet6 = 1 ;</p><p><b> open c6;</b></p><p> do while true
73、</p><p><b> fetch c6</b></p><p><b> into :n;</b></p><p> a = a + 1;</p><p> if sqlca.sqlcode <> 0 then</p><p><b>
74、exit </b></p><p><b> end if</b></p><p><b> loop</b></p><p><b> close c6;</b></p><p> DECLARE c2 CURSOR FOR </p>&l
75、t;p> SELECT "voc"."id" </p><p> FROM "voc" where cet6 = 1 ;</p><p><b> open c2;</b></p><p> do while m <> a - 1</p>&l
76、t;p><b> fetch c2</b></p><p><b> into :n; </b></p><p> UPDATE "voc" </p><p> SET "cet6group" = :m / 3 + 1 where id = :n;</p>
77、<p><b> m = m + 1</b></p><p><b> loop</b></p><p><b> close c2;</b></p><p><b> m = 0</b></p><p><b> a =
78、 0</b></p><p> DECLARE c7 CURSOR FOR </p><p> SELECT "voc"."id" </p><p> FROM "voc" where tofel = 1 ;</p><p><b> open c7
79、;</b></p><p> do while true </p><p><b> fetch c7</b></p><p><b> into :n;</b></p><p> a = a + 1;</p><p> if sqlca.sqlcode
80、 <> 0 then</p><p><b> exit </b></p><p><b> end if</b></p><p><b> loop</b></p><p><b> close c7;</b></p>
81、<p> DECLARE c3 CURSOR FOR </p><p> SELECT "voc"."id" </p><p> FROM "voc" where tofel = 1 ;</p><p><b> open c3;</b></p>&
82、lt;p> do while m <> a - 1</p><p><b> fetch c3 </b></p><p><b> into :n; </b></p><p> UPDATE "voc" </p><p> SET "tof
83、elgroup" = :m / 3 + 1 where id = :n;</p><p><b> m = m + 1</b></p><p><b> loop</b></p><p><b> close c3;</b></p><p><b>
84、 m = 0</b></p><p><b> a = 0</b></p><p> DECLARE c8 CURSOR FOR </p><p> SELECT "voc"."id" </p><p> FROM "voc" where
85、 gre = 1 ;</p><p><b> open c8;</b></p><p> do while true </p><p><b> fetch c8</b></p><p><b> into :n;</b></p><p>
86、a = a + 1;</p><p> if sqlca.sqlcode <> 0 then</p><p><b> exit </b></p><p><b> end if</b></p><p><b> loop</b></p>&l
87、t;p><b> close c8;</b></p><p> DECLARE c4 CURSOR FOR </p><p> SELECT "voc"."id" </p><p> FROM "voc" where gre = 1 ;</p><
88、p><b> open c4;</b></p><p> do while m <> a - 1</p><p><b> fetch c4 </b></p><p><b> into :n; </b></p><p> UPDATE "
89、voc" </p><p> SET "gregroup" = :m / 3 + 1 where id = :n;</p><p><b> m = m + 1</b></p><p><b> loop</b></p><p><b> close
90、 c4;</b></p><p> Timer (2) //兩秒鐘后關(guān)閉</p><p> 另外,還要實(shí)現(xiàn)timer事件:</p><p> close (parent)</p><p> 4.3 軟件主界面設(shè)計(jì)</p><p> 本應(yīng)用程序的主要功能都是在主窗口w_main及在其下打開(kāi)的眾多窗口
91、中完成的。采用的是多文檔界面。另外還加入了背景圖片和背景音樂(lè),使面目煥然一新,讓用戶使用起來(lái)不會(huì)覺(jué)得太枯燥。如下圖所示:</p><p> 圖 4-2 軟件主要界面</p><p> 在w_main中的設(shè)計(jì)里面 open () 事件里的代碼:</p><p> opensheet(w_layout,w_main,4,Layered!)</p>&
92、lt;p> boolean snd</p><p> snd = sndPlaySoundA("PY.WAV",1)</p><p> 其中,sndPlaySoundA(),是一個(gè)自定義的外部函數(shù),用來(lái)播放聲音文件的。</p><p> 還有一點(diǎn)需要說(shuō)明的是對(duì)于菜單的設(shè)計(jì)。由于采用了多文檔。所以每一個(gè)按鈕都用來(lái)打開(kāi)一個(gè)窗口。<
93、/p><p><b> ⑴查詢功能:</b></p><p><b> 1)漢譯英:</b></p><p> Clicked事件程序代碼:opensheet(w_c_to_e,w_main,4)</p><p><b> 2)英譯漢:</b></p><
94、;p> Clicked事件程序代碼:opensheet(w_e_to_c,w_main,4)</p><p> (2)輕松背單詞功能:</p><p><b> 1)新用戶注冊(cè):</b></p><p> Clicked事件程序代碼:opensheet(w_register,w_main,4)</p><p&g
95、t;<b> 2)用戶登陸:</b></p><p> Clicked事件程序代碼:opensheet(w_login,w_main,4)</p><p><b> (1)詞庫(kù)管理:</b></p><p><b> 1)添加單詞:</b></p><p> Clic
96、ked事件程序代碼:opensheet(w_addword,w_main,4)</p><p><b> 2)修改單詞:</b></p><p> Clicked事件程序代碼:opensheet(w_alterword,w_main,4)</p><p> 4.4 查詢功能模塊設(shè)計(jì)</p><p> 用戶在查詢單
97、詞的時(shí)候總是想用自己手中最少的信息,去查一個(gè)完全陌生的單詞。那么,電子詞典就必須包含一切用戶所能掌握單詞信息的可能性。有可能這個(gè)用戶只知道這個(gè)單詞的前兩個(gè)字母。那么,他仍舊能找到這個(gè)單詞并且獲得他所想要的東西。</p><p> 因此,單詞查詢模塊中,最重點(diǎn)的還是盡可能多的給出有用的單詞信息來(lái)。添加了一個(gè)發(fā)音功能。使用戶更加快速的了解到自己需要的單詞信息。</p><p> 當(dāng)用戶單擊
98、查詢功能漢譯英時(shí)界面如下:</p><p> 圖 4-3 查詢單詞圖</p><p> 如果用戶沒(méi)有輸入字符的時(shí)候,按下查詢按鈕時(shí)會(huì)報(bào)警:“填如字符不能為空” 假如用戶輸入的第一個(gè)字母的時(shí)候,在單詞樹(shù)中就會(huì)顯示以該字母為首的所有單詞。用戶可以通過(guò)雙擊該單詞來(lái)直接獲得在右邊窗口的單詞信息。(代碼見(jiàn)附錄程序 5)</p><p> 4.5 輕松背單詞模塊設(shè)計(jì)<
99、;/p><p> 輕松背單詞主要是用于提供給用戶一個(gè)背誦單詞的新方法,它可以使用戶更方便的去記憶單詞其中包括了5個(gè)子模塊,分別為:</p><p> 1.用戶管理模塊:這個(gè)模塊的意義并不在于限制非法用戶的登陸問(wèn)題。</p><p> 只是當(dāng)不同的用戶來(lái)使用不同的單詞測(cè)驗(yàn)的時(shí)候,會(huì)產(chǎn)生不同的歷史記錄。使用用戶管理功能模塊以后。會(huì)使個(gè)人對(duì)自己的情況有非常深刻的了解。(
100、程序代碼見(jiàn)附錄1) 登錄界面如下圖所示:</p><p> 圖 4-4 輕松背單詞登錄窗口</p><p> 2.新用戶注冊(cè)模塊:可以注冊(cè)新的用戶,條件是不能用已經(jīng)存在的用 戶名來(lái)注冊(cè),另外,這里加入了用戶密碼驗(yàn)證體系,假如注冊(cè)用戶 兩次密碼的輸入不一致,也不能通過(guò)合法性驗(yàn)證,如下圖所表示:</p
101、><p> 圖 4-5 用戶注冊(cè)框</p><p> 3.用戶登陸模塊:這里就是用戶的驗(yàn)證界面了。假如正確的用戶登陸了,進(jìn)入功能選擇窗口。而且歷史記錄這個(gè)數(shù)據(jù)窗口里就會(huì)顯示相應(yīng)的歷史記錄。假如用戶不能正確的登陸的話。則關(guān)閉窗口。增加惡意用戶猜測(cè)密碼的難度。</p><p> 4.單詞瀏覽功能:當(dāng)用戶執(zhí)行這個(gè)功能的時(shí)候,會(huì)跳出一個(gè)向?qū)Э虺鰜?lái)。會(huì)提示用戶瀏覽單詞的速
102、度。假如用戶選擇手動(dòng)的話。那么用戶只要單擊下一條就可以了。當(dāng)用戶背完他所選組的所有單詞以后,結(jié)束這次背誦。返回功能選擇界面。</p><p> 5.單詞測(cè)試功能:在這個(gè)功能模塊里,可以對(duì)用戶所選擇的組進(jìn)行測(cè)試,如果用戶是剛瀏覽過(guò)的一組單詞,那么,在單詞測(cè)試的詞庫(kù)設(shè)置會(huì)默認(rèn)為剛才瀏覽的一組單詞。假如用戶正確了或者錯(cuò)誤了,那么將會(huì)彈出提示。假如用戶背誦的單詞錯(cuò)誤的總數(shù)高于總單詞數(shù)量的10%的時(shí)候,那么這組單詞就不會(huì)
103、通過(guò)。無(wú)論通過(guò)于否,都會(huì)存進(jìn)歷史記錄里。供用戶查看。(代碼見(jiàn)附錄程序 4)</p><p> 6.歷史記錄:在這個(gè)模塊里,用戶可以很輕松的看見(jiàn)自己背誦單詞的情況。用戶可以看見(jiàn)自己沒(méi)有通過(guò)的組號(hào),以及單詞背誦的日期。雙擊未通過(guò)的組可以進(jìn)入單詞測(cè)試模塊,繼續(xù)進(jìn)行一次測(cè)試。</p><p> 7.詞庫(kù)設(shè)置:用戶可以在這個(gè)里面設(shè)置這個(gè)詞庫(kù)。注意:用戶剛登陸的時(shí)候詞庫(kù)設(shè)置的默認(rèn)值都是空的。必須在
104、詞庫(kù)設(shè)置里先設(shè)置好詞庫(kù)范圍才能進(jìn)行單詞瀏覽,單詞測(cè)試。</p><p> 8.猜詞游戲:供用戶在休息的時(shí)間里放松一下自己的功能模塊。用戶可以根據(jù)自己的要求和實(shí)力來(lái)自定義猜詞的難度。猜詞的字母數(shù)越少,難度越低,失誤的機(jī)會(huì)數(shù)越多,難度也越低。</p><p> 圖 4-6 功能選擇界面4.6 詞庫(kù)管理模塊設(shè)計(jì)</p><p> 詞庫(kù)管理模塊主要是用與使用戶更方便的
105、管理單詞庫(kù)。</p><p><b> 主要包括三個(gè)模塊:</b></p><p> 添加單詞:使用戶能夠添加單詞。</p><p> 修改單詞:使用戶能夠?qū)?kù)里的詞匯進(jìn)行修改</p><p> 刪除單詞:當(dāng)用戶需要?jiǎng)h除某個(gè)單詞時(shí)來(lái)使用</p><p><b> 添加單詞界面如
106、下:</b></p><p> 圖 4-7 用戶添加單詞界面</p><p> 添加單詞的時(shí)候,必須去查尋數(shù)據(jù)庫(kù)中有沒(méi)有這個(gè)單詞,假如有該單詞的話要提示給用戶:“該單詞已經(jīng)存在”。另外就是根據(jù)用戶的需求來(lái)輸入單詞。</p><p><b> 修改單詞窗口如下:</b></p><p> 圖 4- 8
107、 修改單詞窗口</p><p> 修改單詞的時(shí)候首先要把用戶需要修改的單詞顯示出來(lái),然后用戶根據(jù)自己的需要來(lái)修改該單詞并確認(rèn)以存到數(shù)據(jù)庫(kù)中。</p><p><b> 刪除單詞界面如下:</b></p><p> 圖 4- 9 刪除單詞界面</p><p> 刪除單詞的時(shí)候首先要確認(rèn)用戶的要求,看看用戶是不是要?jiǎng)h
108、除的單詞,刪除前要求用戶做最后的確認(rèn)。如果真的要求刪除單詞則執(zhí)行該操作</p><p><b> 第五章 系統(tǒng)測(cè)試</b></p><p> 系統(tǒng)測(cè)試是軟件工程中的一個(gè)必要的,而且是一個(gè)很重要的環(huán)節(jié),在這里,對(duì)我所做的軟件進(jìn)行全面,全方位的測(cè)試。盡可能在發(fā)布之前找到更多的BUG。以及一些功能上的缺陷。</p><p> 5.1 系統(tǒng)測(cè)試環(huán)
109、境</p><p> 本系統(tǒng)采用的軟件測(cè)試環(huán)境如下:</p><p> 操作系統(tǒng): WINDOWS xp</p><p> 數(shù)據(jù)庫(kù):Adaptive Server Anywhere數(shù)據(jù)庫(kù)</p><p> 開(kāi)發(fā)用機(jī)器的硬件配置:</p><p> Pentium Ⅳ 1.70GHz、256MB內(nèi)存、30GB硬
110、盤(pán)等。</p><p><b> 運(yùn)行要求的配置:</b></p><p> 硬件環(huán)境:英特爾奔騰處理器,166MHZ或更高的處理器、 32M RAM-ROM驅(qū)動(dòng)器、256色、1024*768分辨率顯示器(推薦使用更高的分辨率和顏色深度)</p><p> 軟件環(huán)境:WINDOWS98/2000/XP</p><p&g
111、t;<b> 5.2功能測(cè)試</b></p><p> 由于時(shí)間上的限制,所以不能對(duì)所有的功能模塊進(jìn)行測(cè)試,只寫(xiě)出一部分的功能測(cè)試來(lái)。在這里,對(duì)單詞查詢功能進(jìn)行測(cè)試。</p><p> 測(cè)試目的:驗(yàn)證單詞查詢的自動(dòng)跟隨功能</p><p><b> 測(cè)試步驟:</b></p><p> 1
112、. 基本功能實(shí)現(xiàn)測(cè)試</p><p> 輸入一個(gè)字母,看能否將該字母開(kāi)頭的單詞顯示在下邊。比如輸入“a”.</p><p><b> 結(jié)果如下圖所示:</b></p><p><b> 5-1 測(cè)試圖1</b></p><p> 從圖上可以看見(jiàn)以a開(kāi)頭的字母已經(jīng)全部出來(lái)了。并且單詞“a”已經(jīng)
113、用反色顯示了出來(lái)。單詞信息窗口已經(jīng)把這個(gè)單詞的意思顯現(xiàn)出來(lái)了。這表明了這個(gè)功能已經(jīng)實(shí)現(xiàn)。在此不再贅述。</p><p> 2. 出錯(cuò)處理測(cè)試 </p><p> 假如用戶在沒(méi)有輸入任何單詞的情況下,不能查詢到任何的單詞。所以,我們?cè)诓惠斎肴魏螁卧~的情況下做一次測(cè)試。結(jié)果如下圖:</p><p> 圖 5-2 系統(tǒng)測(cè)試圖2</p><p>
114、; 從圖上可以看見(jiàn),系統(tǒng)彈出了對(duì)話框,表示這個(gè)操作不能繼續(xù)。這表明該功能模塊具備了相關(guān)的出錯(cuò)處理功能。</p><p> 其他的一些測(cè)試,比如雙擊該單詞顯示詞義,聲音文件的播放,由于篇幅和時(shí)間的問(wèn)題就不一一給出了。</p><p><b> 第六章 系統(tǒng)發(fā)布</b></p><p> 6.1 創(chuàng)建工程對(duì)象</p><
115、p> 使用Project中的Application Wizard建立工程的基本步驟如下:</p><p> ?。?)在工具欄上單擊New圖標(biāo),選擇Project頁(yè)中的Application Wizard向?qū)А?lt;/p><p> ?。?)在About the Application Project Wizard 對(duì)話框中單擊Next按鈕。</p><p>
116、(3)在Specify Destination Library對(duì)話框中選擇存儲(chǔ)工程的應(yīng)用庫(kù),本系統(tǒng)只有一個(gè)應(yīng)用庫(kù),即.pbl,單擊Next按鈕。</p><p> (4)在Specify Project Object 對(duì)話框中給工程命名為voc.exe,單擊Next按鈕。</p><p> ?。?)在Specify Executable and Resource Files 對(duì)話框給可執(zhí)
117、行文件命名為D:\畢業(yè)設(shè)計(jì)相關(guān)\voc.exe,單擊Next。</p><p> ?。?)在Specify Build Optuibs 對(duì)話框中選擇編譯類型Incremental Build(只重新編譯新增部分),并且選中Prompt for OverWrite 選中,表示當(dāng)覆蓋文件是出現(xiàn)提示,單擊Next按鈕。</p><p> (7)在Generate Machine Code 對(duì)話
118、框中選擇生成機(jī)器代碼,單擊Next按鈕。</p><p> ?。?)在Specify Dynamic Library Options 對(duì)話框中選擇應(yīng)用程序生成動(dòng)態(tài)庫(kù),單擊Next按鈕。</p><p> ?。?)在Specify Version Information 對(duì)話框中填寫(xiě)版本信息,單擊Next按鈕。</p><p> ?。?0)Ready to Creat
119、e Application 對(duì)話框中單擊Finish按鈕,即生成了一個(gè)工程對(duì)象。</p><p><b> 編譯步驟如下:</b></p><p> ⑴在PowerBuiler的環(huán)境下,打開(kāi)該工程對(duì)象。</p><p> 如圖5-1所示在該對(duì)話框中列出了前面所設(shè)置的工程對(duì)象屬性。可以在此處直接修改工作對(duì)象的各個(gè)屬性。</p>
120、<p> 圖 5-1 打開(kāi)工程對(duì)象</p><p> ?、茊螕艄こ坍?huà)筆工具欄上的Build圖標(biāo)進(jìn)行工程編譯。PowerBuilder將會(huì)彈出一個(gè)窗口,顯示編譯的過(guò)程信息??梢詥螕粼摯翱谏系摹癝top”按鈕來(lái)終止編譯過(guò)程。編譯完畢后,即生成了相應(yīng)的可執(zhí)行文件和動(dòng)態(tài)庫(kù)文件。</p><p> 編譯通過(guò)后,生成可執(zhí)行文件voc.exe。在測(cè)試。發(fā)布前還要對(duì)生成的可執(zhí)行文件進(jìn)行測(cè)試
121、,測(cè)試的步驟如下:</p><p> ?、烹x開(kāi)PowerBuilder開(kāi)發(fā)環(huán)境,返回到操作系統(tǒng)環(huán)境下。</p><p> ?、茖⒕幾g好的文件拷貝到PowerBuilder庫(kù)文件放置的路徑下。</p><p><b> ?、沁\(yùn)行可執(zhí)行文件。</b></p><p><b> 6.2 發(fā)布</b>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- pb008電子詞典設(shè)計(jì)與開(kāi)發(fā)
- 畢業(yè)論文---基于vb的電子詞典設(shè)計(jì)與開(kāi)發(fā)
- 畢業(yè)設(shè)計(jì)論文終稿 多功能電子詞典的設(shè)計(jì)與實(shí)現(xiàn)
- 漢蒙電子詞典開(kāi)發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 電子詞典
- 畢業(yè)設(shè)計(jì)--基于android的電子詞典軟件的設(shè)計(jì)與實(shí)現(xiàn) (含外文翻譯)
- c語(yǔ)言課程設(shè)計(jì)--電子詞典
- java課程設(shè)計(jì)---英漢電子詞典
- 電子詞典.docx
- 質(zhì)檢專業(yè)電子詞典的設(shè)計(jì)與研究.pdf
- 基于wince的電子詞典的設(shè)計(jì)與實(shí)現(xiàn)
- 一種電子詞典的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于WinCE的電子詞典的設(shè)計(jì)與實(shí)現(xiàn).pdf
- java課程設(shè)計(jì)-英漢電子詞典系統(tǒng)
- java課程設(shè)計(jì)-英漢電子詞典系統(tǒng)
- 電子詞典卡通大賽
- 電子詞典中文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 維漢電子詞典構(gòu)建技術(shù)研究與設(shè)計(jì).pdf
- 維漢電子詞典構(gòu)建技術(shù)研究與設(shè)計(jì)(1)
- c++多功能電子詞典課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論