2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p>  題 目: 電子詞典設計與開發(fā) </p><p>  Development of Electron Dictionary </p><p><b>  摘 要</b></p><p>  二十世紀后半葉,以電子計算機為代表的

2、現代科學獲得了突飛猛進的發(fā)展并迅速和人們的日常生活結合在一起。計算機技術的發(fā)展和進步也使電子語言詞典的誕生成為可能。雖然只有十來年的歷史,電子詞典卻已經迅速發(fā)展壯大,成為詞典家族中具有旺盛生命力的一員。盡管目前它尚不足以取代傳統(tǒng)詞典,但在英語學習和教學中,由于它實用、快捷、準確、經濟等特點,已經成為傳統(tǒng)英漢詞典的有力競爭者,并對傳統(tǒng)的詞典提出了挑戰(zhàn)。</p><p>  本文將要介紹的軟件就是一個多功能學單詞軟件

3、,主要介紹了這個軟件制作環(huán)境,制作流程,對數據庫的操作以及它的使用方法。用戶可以根據自己的需要去查詢單詞,添加單詞,刪除單詞,編輯單詞等。另外,它還給單詞學習者們提供了一個背單詞的好方法。每一個用戶都可以通過創(chuàng)建一個用戶名來背誦單詞,隨時查看自己的歷史記錄,以便確定自己的背誦進度。本文從軟件工程的角度進行了詳細的闡述。該系統(tǒng)的開發(fā)工具是powerbuilder 9.0,使用的數據庫為Adapt Server Anywhere 。<

4、/p><p>  關鍵詞 :電子詞典,powerbuilder,數據庫</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)目標2</p><p>  1.2 系統(tǒng)需求分析2</p><p>  第二章 系統(tǒng)總體設計3</p><p>  2.1 系統(tǒng)設計思想3</p><p>  2.2 功能設計細節(jié)問題3</p><p>  2.3 系統(tǒng)功能結構設計4

11、</p><p>  2.4 模塊功能說明5</p><p>  2.5 開發(fā)工具和環(huán)境6</p><p>  2.5.1 總體開發(fā)工具及環(huán)境6</p><p>  2.5.2 開發(fā)工具簡介7</p><p>  第三章 數據庫的開發(fā)與設計9</p><p>  3.1 數據庫需求分析

12、9</p><p>  3.2 系統(tǒng)邏輯分析10</p><p>  3.3 數據庫的連接11</p><p>  3.3.1 程序設計時與數據庫的連接12</p><p>  3.3.2程序運行時與數據庫的連接12</p><p>  第四章 關鍵模塊頁面和代碼設計14</p><p&

13、gt;  4.1 應用程序對象設計14</p><p>  4.2 軟件封面設計14</p><p>  4.3 軟件主界面設計16</p><p>  4.4 查詢功能模塊設計18</p><p>  4.5 輕松背單詞模塊設計19</p><p>  4.6 詞庫管理模塊設計22</p>

14、<p>  第五章 系統(tǒng)測試25</p><p>  5.1 系統(tǒng)測試環(huán)境25</p><p>  5.2功能測試25</p><p>  第六章 系統(tǒng)發(fā)布28</p><p>  6.1 創(chuàng)建工程對象28</p><p>  6.2 發(fā)布29</p><p><b

15、>  結 論30</b></p><p><b>  致 謝31</b></p><p><b>  參考文獻32</b></p><p><b>  附 錄33</b></p><p><b>  前 言</b><

16、/p><p>  電子詞典誕生于80年代末期。如今市場上流行的有幾十個品牌,數百個品種,集成了十幾種甚至百余種功能,容量也從剛開始時的一萬左右到現在的幾萬,十幾萬,有些品種則包含了幾本不同詞典的全部內容?,F在大多數電子詞典可以自由擴充詞庫,或從互聯網上生產商的網站上下載詞庫,對詞典進行自動更新。這對傳統(tǒng)詞典而言,其修訂周期最少也得5到7年,這種袖珍電子詞典已經成為學生的必備學習工具,據調查,在廣州,上海,北京等大城市

17、中,電子詞典在高中生中的持有率已經接近 50%,在大學生中持有率也不斷上升。目前市場商的主流電子詞典有:文曲星、快譯通、好易通、名人等系列產品。除了主要用于查詢單詞以外所有掌上電子詞典都或多或少的提供其他的輔助功能。</p><p>  本人作為一個計算機應用的本科生,希望根據英語學習者的需求來設計一個實用的電子詞典,以幫助英語學習者們更方便更快捷地查詢單詞、記憶單詞,有效,自由的對詞庫進行管理,操作。閑暇之余也

18、可以用猜詞游戲來鞏固一下單詞。</p><p>  本文主要包含以下內容:</p><p>  (1)系統(tǒng)需求分析和系統(tǒng)功能設計</p><p> ?。?)開發(fā)工具的選擇及開發(fā)環(huán)境的設置,介紹了PB9.0及ASA數據庫的基本情況。</p><p> ?。?)數據庫的設計,介紹了數據庫設計理論、系統(tǒng)中所用到的表的邏輯結構設計方法和設計過程等。&

19、lt;/p><p>  (4)功能模塊的設計,具體介紹了如何實現各個功能模塊,介紹了一些核心代碼等。</p><p> ?。?)對系統(tǒng)進行測試與調試,對設計過程中產生的錯誤進行修正。</p><p><b>  第一章 系統(tǒng)分析</b></p><p><b>  1.1 系統(tǒng)目標</b></p&

20、gt;<p>  電子詞典的設計主要是用于幫助用戶查找一些不懂的單詞。以確定意思,再加上一些相關的擴展功能。</p><p>  支持用戶查詢需求,能夠實現英漢互相翻譯的功能</p><p>  支持用戶自定義詞庫能夠使用戶對詞庫進行操作,以便使用戶獲得更多的資料。</p><p>  加入輕松背單詞功能,是用戶對單詞有一個及時全面的復習環(huán)境。<

21、/p><p>  1.2 系統(tǒng)需求分析</p><p>  用戶在使用電子詞典的時候,有可能會使用電子詞典的查詢功能,也有可能使用電子詞典的輕松背單詞功能。</p><p>  通過對用戶需求分析,初步確定該系統(tǒng)的基本需求情況:</p><p>  用戶在打開軟件的時候,應該有一個漂亮的背景和背景音樂來舒和用戶的心情。</p>&l

22、t;p>  當用戶需要查詢的時候,軟件必須提供這個單詞的所有信息。以便與用戶來獲得所需要的信息。</p><p>  可以自定義單詞,使用戶自己可以擴充詞庫。</p><p>  用戶可以根據自己的情況來選擇級別來背誦單詞。</p><p>  用戶在背誦單詞的時候,可以選擇每次背誦單詞的數量,單詞的范圍。</p><p>  第二章

23、系統(tǒng)總體設計</p><p>  2.1 系統(tǒng)設計思想</p><p>  電子詞典軟件面向用戶時,重要的是其可靠性,即用戶能準確且較快速地查詢到詞語的相關釋義。本文中分析用到的電子詞典外觀可參見Challenges英語教學軟件中的電子詞典(Challenges是智能型多媒體教學軟件,電子詞典是其功能之一)。詞典軟件準確而快速地響應來自于程序結構上的清晰和代碼的優(yōu)化。而電子詞典軟件面向設計

24、者時設計者總是希望以盡可能簡單的結構、盡可能少的代碼構造出更為理想的軟件,尤其是快速地、成批地構建詞庫,因為建庫的工作往往耗時長,容易出錯,需要反復無數次地調試。這在理論上包含了對詞庫的索引方式問 題。從全文檢索的角度上來說,即是對關鍵字的有效選取。</p><p>  由于這類軟件中內嵌的電子詞典的外觀比較簡潔,使用起來只需用鼠標進行點選就會有相應的釋義出現,如果不深入分

25、析的話,初見到它的人認為這是一種簡單的、對網頁進行的鏈接設定。事實上,對詞庫中的詞語和釋義進行逐個鏈接的設定是比較麻煩的,很多詞典軟件的建庫工作是建立在大量重復性的操作的基礎上的,而且無法進行自動排序,只能手工逐條排序和添加,對按首字母進行的單詞排序就更無從說起。因此,以此為例,對實現電子詞典軟件的探索在于自動化、智能化方面的實現,而不是靠手工建庫來完成。</p><p>  2.2 功能設計細節(jié)問題</p

26、><p>  確定了軟件設計結構后,通過編碼和優(yōu)化實現這一結構是不太復雜的。但是涉及到相關的細節(jié)問題相當多,例如,程序的初始界面是怎樣的,一開始運行程序,首先應該有字母表,否則用戶無法選取;此外,單詞預覽窗口里應總是有一些單詞(即使在初始狀態(tài)下),這表現了友好的設計風范。所以,當程序一旦加載,就應該出現字母表和以A字母開頭的單詞。</p><p>  隨著用戶的使用,界面上的單詞和釋義不斷做出

27、變化,這一過程是交互的。還可以給單詞或釋義配音,甚至用動畫等方式帶來更易接受的效果;合理的引導信息,當用戶直接點擊查詢時時,智能型的軟件可以給用戶做出自動提示,例如告知:“請?zhí)顚懩枰檎业膯卧~”等等。但這種引導信息不應成為冗余信息。如果用戶沒有點準位置,而系統(tǒng)彈出一個提示框,要求用戶選擇是再試一次還是放棄,這就很不合理了。因此對于智能化的設計一定要站在用戶的角度上考慮,而不是一味炫耀設計者具有怎樣的想法和水平。</p>

28、<p>  如果軟件的邏輯關系比較復雜,為便于用戶的使用,可以加上“刷新”的功能,這樣能更迅速地回到主界面,甚至可直接關閉電子詞典功能,直接轉到別的功能上去,實現軟件間的相互調用;進一步的設想是,對軟件做出一部分的開放式設計,讓用戶直接參與到設計中來例如加掛一個模塊讓用戶進行軟件DIY,用戶可以隨心所欲的添加自己的詞庫。</p><p>  2.3 系統(tǒng)功能結構設計 </p><p

29、>  電子詞典作為一個大眾應用軟件來說,她的誕生無疑是給人們更多的權利去遨游在浩瀚的互聯網。所以一個好的電子詞典軟件應該使用起來更加方便,更加貼心,更符合用戶的需求。</p><p>  本電子詞典主要包括以下幾個功能模塊。</p><p>  系統(tǒng)功能模塊圖如下:</p><p>  圖 2.1 系統(tǒng)功能結構圖</p><p>  2

30、.4 模塊功能說明</p><p>  漢譯英功能模塊說明:可以實現對英文單詞對中文單詞的查詢功能。當用戶在輸入第一個字符的時候,以這個字符作為開頭的單詞會顯示在下邊的數據窗口中,用戶可以直接雙擊該單詞以便顯示這個單詞的中文解釋。也就是說,不需要完全輸入用戶想要找的單詞。只要用戶有一點單詞的印象,那么,他就可以憑記憶來雙擊他想要的單詞來顯示該單詞的意思。 </p><p>  在單詞解釋

31、窗口里,用戶可以看到自己所需要的信息??梢哉业接谥嚓P的經典例句。以便用戶以后能對該單詞更加熟悉。同時還包括了近義詞,反義詞,音標,等于單詞想關聯的信息。</p><p><b>  英譯漢功能模塊說明</b></p><p>  可以實現中文對英文的翻譯,通漢譯英一樣。在左下數據窗口里面也可以直接雙擊該單詞來獲得用戶想要的相關信息</p><p&

32、gt;  輕松背單詞功能模塊說明</p><p>  用戶管理模塊:這個模塊的意義并不在于限制非法用戶的登陸問題。</p><p>  只是當不同的用戶來使用不同的單詞測驗的時候,會產生不同的歷史記錄。使用用戶管理功能模塊以后。會使個人對自己的情況有非常深刻的了解。</p><p>  新用戶注冊模塊:可以注冊新的用戶,條件是不能用已經存在的用 戶名來注冊

33、,另外,這里加入了用戶密碼驗證體系,假如注冊用戶 兩次密碼的輸入不一致,也不能通過合法性驗證</p><p>  用戶登陸模塊:這里就是用戶的驗證界面了。假如正確的用戶登陸了,進入功能選擇窗口。而且歷史記錄這個數據窗口里就會顯示相應的歷史記錄。假如用戶不能正確的登陸的話。則關閉窗口。增加惡意用戶猜測密碼的難度。</p><

34、;p>  單詞瀏覽功能:當用戶執(zhí)行這個功能的時候,會跳出一個向導框出來。會提示用戶瀏覽單詞的速度。假如用戶選擇手動的話。那么用戶只要單擊下一條就可以了。當用戶背完他所選組的所有單詞以后,結束這次背誦。返回功能選擇界面。</p><p>  單詞測試功能:在這個功能模塊里,可以對用戶所選擇的組進行測試,如果用戶是剛瀏覽過的一組單詞,那么,在單詞測試的詞庫設置會默認為剛才瀏覽的一組單詞。假如用戶正確了或者錯誤了

35、,那么將會彈出提示。假如用戶背誦的單詞錯誤的總數高于總單詞數量的10%的時候,那么這組單詞就不會通過。無論通過于否,都會存進歷史記錄里。供用戶查看。</p><p>  歷史記錄:在這個模塊里,用戶可以很輕松的看見自己背誦單詞的情況。用戶可以看見自己沒有通過的組號,以及單詞背誦的日期。雙擊未通過的組可以進入單詞測試模塊,繼續(xù)進行一次測試。</p><p>  詞庫設置:用戶可以在這個里面設

36、置這個詞庫。注意:用戶剛登陸的時候詞庫設置的默認值都是空的。必須在詞庫設置里先設置好詞庫范圍才能進行單詞瀏覽,單詞測試。</p><p>  猜詞游戲:供用戶在休息的時間里放松一下自己的功能模塊。用戶可以根據自己的要求和實力來自定義猜詞的難度。猜詞的字母數越少,難度越低,失誤的機會數越多,難度也越低。</p><p>  2.5 開發(fā)工具和環(huán)境</p><p>  

37、2.5.1 總體開發(fā)工具及環(huán)境</p><p>  本系統(tǒng)采用的軟件開發(fā)工具及環(huán)境如下:</p><p>  操作系統(tǒng): WINDOWS xp</p><p>  編程工具: PowerBuilder9.0</p><p>  數據庫:Adaptive Server Anywhere數據庫</p><p>  開發(fā)用機

38、器的硬件配置:</p><p>  Pentium Ⅳ 1.70GHz、256MB內存、30GB硬盤等。</p><p><b>  運行要求的配置:</b></p><p>  硬件環(huán)境:英特爾奔騰處理器,166MHZ或更高的處理器、 32M RAM-ROM驅動器、256色、1024*768分辨率顯示器(推薦使用更高的分辨率和顏色深度)<

39、;/p><p>  軟件環(huán)境:WINDOWS98/2000/XP</p><p>  2.5.2 開發(fā)工具簡介</p><p>  PowerBuilder是一個圖形化的應用程序開發(fā)環(huán)境。使用PowerBuilder開發(fā)的應用軟件由窗口構成,窗口中不僅可以包含按鈕、下拉列表框及單選按紐等標準的Windows控件,還可以有PowerBuilder提供的特殊控件。這些特殊控

40、件可以使應用軟件更容易使用,使應用軟件的開發(fā)效率更高。</p><p>  例如,數據窗口就是PowerBuilder提供的一個集成度很高的控件,使用該控件可以很方便地從數據庫中提取數據,很簡單地檢索數據,提供圖形化的數據顯示方式,創(chuàng)建統(tǒng)計功能非常強大的數據統(tǒng)計表。由于數據窗口對數據的操作是通過事務進行的,所以對數據的操作有很強的可靠性。這些都為開發(fā)功能強大的數據庫應用軟件提供了可靠的保證。</p>

41、<p>  商業(yè)化的軟件開發(fā)要求有很好的移植性。PowerBuilder既可以跨平臺開發(fā),也可以發(fā)行跨平臺軟件。例如,在Windows 95下開發(fā)的程序,可以不修改源程序而形成UNIX下的執(zhí)行文件或Macintosh下的執(zhí)行文件。在開發(fā)小組中,不同成員可以使用不同的開發(fā)環(huán)境,但由于PowerBuilder的支持,在不同的開發(fā)環(huán)境下看到的共享PowerBuilder對象是相同的,所以仍可以同時開發(fā)同一個應用程序。</p&

42、gt;<p>  隨著軟件技術的不斷發(fā)展,PowerBuilder 8.0及時地強化了開發(fā)功能,并提供了一些配套的開發(fā)工具,成為一種易于使用的、可伸縮的并經實踐證明的快速集成開發(fā)環(huán)境。它在給用戶提供一條轉移到下一代平臺的途徑的同時,使用戶仍能夠保護和擴展現有的技術和應用上的投資。</p><p>  Adaptive Server Anywhere是PowerBuilder自帶的數據庫管理系統(tǒng),Ad

43、aptive Server Anywhere數據庫可以與PowerBuilder運行在同一臺機器上,作為PowerBuilder的數據庫服務器,與PowerBuilder構成客戶/服務器體系結構。由于Adaptive Server Anywhere在功能上已具備了大型數據庫的特點,因此使用Adaptive Server Anywhere有如下好處:</p><p> ?、庞捎贏daptive Server Any

44、where本身已經是一個完整的數據庫管理系統(tǒng),所以在項目的開發(fā)階段,單機即可開發(fā)大型數據庫應用,而不必在網絡狀態(tài)下與大型數據庫管理系統(tǒng)連接起來開發(fā);</p><p>  ⑵開發(fā)完成后,幾乎不用更改,把開發(fā)出的應用系統(tǒng)拿到網絡下即可運行在其他數據庫上。</p><p>  第三章 數據庫的開發(fā)與設計</p><p>  電子詞典的應用前景是很廣闊的,許多諸如英語教學一

45、類的軟件中都會掛一個小型的英文詞典。這類詞典詞庫的設計方法多種多樣,大多是針對軟件自身的特點進行特殊的考慮和設計,目的是方便用戶的使用,取得較好的效果。在電子辭典的設計過程中,設計者要考慮多方面的問題</p><p>  因此,數據庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現的效果產生影響,好的數據庫結構設計會減少數據庫的存儲量,資料的完整性和一致性比較高,系統(tǒng)具有較快的響應速度,簡化基于此數據庫的應用程序的實

46、現等等。由于數據庫設計的重要性,人們提出了許多數據庫結構設計的技術。但這些技術方法與數據庫系統(tǒng)并沒有統(tǒng)一的相對應的模式,而是要根據應用系統(tǒng)對數據庫不同的需求來選擇不同的技術方法,甚至是幾種不同的方法的融合</p><p>  3.1 數據庫需求分析</p><p>  數據庫結構設計的第一階段,也是非常重要的一個階段是數據庫需求分析。在這個階段主要是收集基本資料以及數據處理的流程,為進一步

47、設計打下基礎。根據以上的功能分析,系統(tǒng)主要需要建立的數據流圖如下:</p><p>  圖 3-1 系統(tǒng)數據流程圖</p><p>  通過對用戶需求和數據流程的分析,設計的數據項和數據結構如下:</p><p>  用戶名和密碼表:用戶名,密碼(主碼為用戶名)</p><p>  用戶歷史記錄表:用戶名,背誦時間,起始組,結束組,通過與否,

48、背誦級別 (其中用戶名和背誦時間為主碼)</p><p>  單詞表:單詞號,中文單詞,英文單詞,音標,詞性,例句,翻譯,是否屬于cet4級別,是否屬于cet6級別,是否屬于tofel級別的,是否屬于gre級別的。</p><p>  3.2 系統(tǒng)邏輯分析</p><p>  概念結構是獨立于實際數據模型的信息結構,必須將其轉化為邏輯結構后才能進行數據庫應用的設計。

49、也就是要將概念上的結構轉化為ASA數據庫系統(tǒng)所支持的實際數據庫模型。</p><p>  該數據庫系統(tǒng)要求具有以下方面的特點:</p><p>  ● 結構合理,所建立的數據冗余度小,獨立性強。</p><p>  ● 建檔、修改、查詢、統(tǒng)計快而準確。</p><p><b>  保密性、可靠性好。</b></p&

50、gt;<p>  數據庫的邏輯結構設計如下:</p><p>  用戶名和密碼表:用戶名(userid),密碼(userpassword)(主碼為用戶名)</p><p>  圖 3-2 用戶名和密碼表</p><p>  用戶歷史記錄表:用戶名(userid),背誦時間(recitetime),起始組(groupbegin),結束組(groupend

51、),通過與否(passornot),背誦級別(rank) (其中用戶名和背誦時間為主碼)</p><p>  圖 3-3 用戶歷史記錄表</p><p>  單詞表:單詞號(id),中文單詞(cword),英文單詞(eword),音標(ps),詞性(kind),例句(example),翻譯(translation),是否屬于cet4級別(cet4),是否屬于cet6級別(cet6),是否屬

52、于tofel(tofel)級別的,是否屬于gre級別的(gre)。(單詞號為主碼)</p><p>  圖 3-4 單詞信息表</p><p>  3.3 數據庫的連接</p><p>  在PowerBuilder開發(fā)環(huán)境和應用程序能夠操作數據庫中的數據之前,必須首先與數據庫建立聯系,也就是連接到數據庫上。PowerBuilder與數據庫的連接建立在驅動程序之上

53、。PowerBuilder通過數據庫驅動程序接口實現與各種類型數據庫的連接。接口的參數可以通過一個Database Profile來完成。對于每一個可能要用到的數據庫,均可以建立一個Database Profile。在此Database Profile中所記錄的是建立到數據庫的一些連接信息,如數據庫管理信息(DBMS)的類型、用戶賬號、口令、數據庫以及其他的連接參數。</p><p>  當開發(fā)環(huán)境通過Datab

54、ase Profile連接到數據庫上之后,在PowerBuilder中使用數據庫畫筆可實現對該數據庫中表格、視圖等的操作,如創(chuàng)建表、修改表、刪除表、增加/刪除記錄。</p><p>  PowerBuilder中設計數據窗口的時候,通過“Database Profile”對話框實現與數據庫的連接。在應用程序中則一般是在應用程序對象中寫連接數據庫的程序代碼,使得應用程序開始運行并實現與數據庫的連接。</p&g

55、t;<p>  3.3.1 程序設計時與數據庫的連接</p><p>  在程序設計中可以使用“Database Profile”對話框完成配置和連接。如果已經定義了所需數據庫的配置,那么就可以通過單擊選中該配置,然后單擊“Connect”按鈕,將系統(tǒng)連接到相應的數據庫上。如果沒有定義數據庫配置,需要創(chuàng)建新的數據庫配置。</p><p>  首先選擇Tool菜單中的Datab

56、ase Profile子菜單,或者單擊圖標,出現“Database Profile”對話框。在其中選擇要配置的數據庫使用的數據庫接口,“ODB ODBC”節(jié)點。然后,單擊“New”按鈕,打開“Database Profile Setup-ODBC”對話框,并設置所要連接數據庫的配置信息。完成設置后,單擊“Preview”標簽頁,在該標簽頁中列出了數據庫剛剛配置的語句。單擊“OK”按鈕,返回到“Database Profile”對話框。這

57、時“ODB ODBC”節(jié)點下面就多了剛剛配置好的Database Profile。選中該配置,單擊該對話框中的“Connect”按鈕,系統(tǒng)即通過專用接口連接到數據庫上。</p><p>  當PowerBuilder 8.0通過Database Profile 連接到數據庫上之后,在程序上之后,在程序設計的創(chuàng)建數據窗口對象時,可以直接顯示該用戶在數據庫中可以修改的表,通過選擇某個(或者多個)表可以將它們和數據窗口

58、對象連接起來。</p><p>  3.3.2程序運行時與數據庫的連接</p><p>  在程序設計是和數據庫的連接Database Profile對話框來實現的,在程序運行時,則需要通過應用程序對象來實現和數據庫的連接。在應用程序對象中實現與數據庫連接,不在通過“Database Profile”對話框,而是使用Transaction事物對象。</p><p>

59、  一般數據庫的連接是在應用程序開始運行是建立起來的。PowerBuilder9.0開發(fā)的應用程序的入口點是PowerBuilder9.0的應用程序對象。每個PowerBuilder應用程序都必須有一個、而且只能有一個應用程序對象,在該應用程序對象中寫入與數據庫連接的程序代碼,從而使得應用程序一開始變實現與數據庫的連接。</p><p>  在“Database Profile”對話框完成設置后,單擊“Previ

60、ew”標簽頁,在該標簽頁中列出了配置的語句。將連接數據庫的代碼復制到應用程序對象中,即可完成代碼的編寫。</p><p>  第四章 關鍵模塊頁面和代碼設計</p><p>  4.1 應用程序對象設計</p><p>  PowerBuilder9.0開發(fā)的應用程序的入口點是PowerBuilder9.0的應用程序對象,運行是程序從這個入口點啟動,所以應用程序對象

61、的設計是應用程序設計的開始。</p><p>  應用程序對象的事件不多,一共只有6個,分別是Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd事件。</p><p>  本應用程序對象中只用到Open事件,輸入如下程序代碼:</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) //打開啟動窗口; </p><p>  4.2 軟件封面設計</p><p>  現在,一般的軟件在啟動都會出現軟件封面,這樣的做法不是沒有必要的,因為,軟件封面可以使用戶更加放心,讓他們知道程序還在繼續(xù)著,并沒有死掉。</p><p>  如果有的程序在開始的時候需要

64、執(zhí)行連接數據庫的請求,那么,軟件啟動界面就非常有必要了,它可以使用戶在軟件啟動的時候會更耐心一點的等待軟件啟動完畢。所以,在這個軟件里,我設計了一個封面。如下圖所示:</p><p>  圖 4 – 1 軟件啟動界面</p><p>  在軟件啟動的時候需要對單詞庫進行分配,整理。所以代碼如下:</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) //兩秒鐘后關閉</p><p>  另外,還要實現timer事件:</p><p>  close (parent)</p><p>  4.3 軟件主界面設計</p><p>  本應用程序的主要功能都是在主窗口w_main及在其下打開的眾多窗口

91、中完成的。采用的是多文檔界面。另外還加入了背景圖片和背景音樂,使面目煥然一新,讓用戶使用起來不會覺得太枯燥。如下圖所示:</p><p>  圖 4-2 軟件主要界面</p><p>  在w_main中的設計里面 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(),是一個自定義的外部函數,用來播放聲音文件的。</p><p>  還有一點需要說明的是對于菜單的設計。由于采用了多文檔。所以每一個按鈕都用來打開一個窗口。<

93、/p><p><b> ?、挪樵児δ埽?lt;/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)新用戶注冊:</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)詞庫管理:</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 查詢功能模塊設計</p><p>  用戶在查詢單

97、詞的時候總是想用自己手中最少的信息,去查一個完全陌生的單詞。那么,電子詞典就必須包含一切用戶所能掌握單詞信息的可能性。有可能這個用戶只知道這個單詞的前兩個字母。那么,他仍舊能找到這個單詞并且獲得他所想要的東西。</p><p>  因此,單詞查詢模塊中,最重點的還是盡可能多的給出有用的單詞信息來。添加了一個發(fā)音功能。使用戶更加快速的了解到自己需要的單詞信息。</p><p>  當用戶單擊

98、查詢功能漢譯英時界面如下:</p><p>  圖 4-3 查詢單詞圖</p><p>  如果用戶沒有輸入字符的時候,按下查詢按鈕時會報警:“填如字符不能為空” 假如用戶輸入的第一個字母的時候,在單詞樹中就會顯示以該字母為首的所有單詞。用戶可以通過雙擊該單詞來直接獲得在右邊窗口的單詞信息。(代碼見附錄程序 5)</p><p>  4.5 輕松背單詞模塊設計<

99、;/p><p>  輕松背單詞主要是用于提供給用戶一個背誦單詞的新方法,它可以使用戶更方便的去記憶單詞其中包括了5個子模塊,分別為:</p><p>  1.用戶管理模塊:這個模塊的意義并不在于限制非法用戶的登陸問題。</p><p>  只是當不同的用戶來使用不同的單詞測驗的時候,會產生不同的歷史記錄。使用用戶管理功能模塊以后。會使個人對自己的情況有非常深刻的了解。(

100、程序代碼見附錄1) 登錄界面如下圖所示:</p><p>  圖 4-4 輕松背單詞登錄窗口</p><p>  2.新用戶注冊模塊:可以注冊新的用戶,條件是不能用已經存在的用 戶名來注冊,另外,這里加入了用戶密碼驗證體系,假如注冊用戶 兩次密碼的輸入不一致,也不能通過合法性驗證,如下圖所表示:</p

101、><p>  圖 4-5 用戶注冊框</p><p>  3.用戶登陸模塊:這里就是用戶的驗證界面了。假如正確的用戶登陸了,進入功能選擇窗口。而且歷史記錄這個數據窗口里就會顯示相應的歷史記錄。假如用戶不能正確的登陸的話。則關閉窗口。增加惡意用戶猜測密碼的難度。</p><p>  4.單詞瀏覽功能:當用戶執(zhí)行這個功能的時候,會跳出一個向導框出來。會提示用戶瀏覽單詞的速

102、度。假如用戶選擇手動的話。那么用戶只要單擊下一條就可以了。當用戶背完他所選組的所有單詞以后,結束這次背誦。返回功能選擇界面。</p><p>  5.單詞測試功能:在這個功能模塊里,可以對用戶所選擇的組進行測試,如果用戶是剛瀏覽過的一組單詞,那么,在單詞測試的詞庫設置會默認為剛才瀏覽的一組單詞。假如用戶正確了或者錯誤了,那么將會彈出提示。假如用戶背誦的單詞錯誤的總數高于總單詞數量的10%的時候,那么這組單詞就不會

103、通過。無論通過于否,都會存進歷史記錄里。供用戶查看。(代碼見附錄程序 4)</p><p>  6.歷史記錄:在這個模塊里,用戶可以很輕松的看見自己背誦單詞的情況。用戶可以看見自己沒有通過的組號,以及單詞背誦的日期。雙擊未通過的組可以進入單詞測試模塊,繼續(xù)進行一次測試。</p><p>  7.詞庫設置:用戶可以在這個里面設置這個詞庫。注意:用戶剛登陸的時候詞庫設置的默認值都是空的。必須在

104、詞庫設置里先設置好詞庫范圍才能進行單詞瀏覽,單詞測試。</p><p>  8.猜詞游戲:供用戶在休息的時間里放松一下自己的功能模塊。用戶可以根據自己的要求和實力來自定義猜詞的難度。猜詞的字母數越少,難度越低,失誤的機會數越多,難度也越低。</p><p>  圖 4-6 功能選擇界面4.6 詞庫管理模塊設計</p><p>  詞庫管理模塊主要是用與使用戶更方便的

105、管理單詞庫。</p><p><b>  主要包括三個模塊:</b></p><p>  添加單詞:使用戶能夠添加單詞。</p><p>  修改單詞:使用戶能夠對庫里的詞匯進行修改</p><p>  刪除單詞:當用戶需要刪除某個單詞時來使用</p><p><b>  添加單詞界面如

106、下:</b></p><p>  圖 4-7 用戶添加單詞界面</p><p>  添加單詞的時候,必須去查尋數據庫中有沒有這個單詞,假如有該單詞的話要提示給用戶:“該單詞已經存在”。另外就是根據用戶的需求來輸入單詞。</p><p><b>  修改單詞窗口如下:</b></p><p>  圖 4- 8

107、 修改單詞窗口</p><p>  修改單詞的時候首先要把用戶需要修改的單詞顯示出來,然后用戶根據自己的需要來修改該單詞并確認以存到數據庫中。</p><p><b>  刪除單詞界面如下:</b></p><p>  圖 4- 9 刪除單詞界面</p><p>  刪除單詞的時候首先要確認用戶的要求,看看用戶是不是要刪

108、除的單詞,刪除前要求用戶做最后的確認。如果真的要求刪除單詞則執(zhí)行該操作</p><p><b>  第五章 系統(tǒng)測試</b></p><p>  系統(tǒng)測試是軟件工程中的一個必要的,而且是一個很重要的環(huán)節(jié),在這里,對我所做的軟件進行全面,全方位的測試。盡可能在發(fā)布之前找到更多的BUG。以及一些功能上的缺陷。</p><p>  5.1 系統(tǒng)測試環(huán)

109、境</p><p>  本系統(tǒng)采用的軟件測試環(huán)境如下:</p><p>  操作系統(tǒng): WINDOWS xp</p><p>  數據庫:Adaptive Server Anywhere數據庫</p><p>  開發(fā)用機器的硬件配置:</p><p>  Pentium Ⅳ 1.70GHz、256MB內存、30GB硬

110、盤等。</p><p><b>  運行要求的配置:</b></p><p>  硬件環(huán)境:英特爾奔騰處理器,166MHZ或更高的處理器、 32M RAM-ROM驅動器、256色、1024*768分辨率顯示器(推薦使用更高的分辨率和顏色深度)</p><p>  軟件環(huán)境:WINDOWS98/2000/XP</p><p&g

111、t;<b>  5.2功能測試</b></p><p>  由于時間上的限制,所以不能對所有的功能模塊進行測試,只寫出一部分的功能測試來。在這里,對單詞查詢功能進行測試。</p><p>  測試目的:驗證單詞查詢的自動跟隨功能</p><p><b>  測試步驟:</b></p><p>  1

112、. 基本功能實現測試</p><p>  輸入一個字母,看能否將該字母開頭的單詞顯示在下邊。比如輸入“a”.</p><p><b>  結果如下圖所示:</b></p><p><b>  5-1 測試圖1</b></p><p>  從圖上可以看見以a開頭的字母已經全部出來了。并且單詞“a”已經

113、用反色顯示了出來。單詞信息窗口已經把這個單詞的意思顯現出來了。這表明了這個功能已經實現。在此不再贅述。</p><p>  2. 出錯處理測試 </p><p>  假如用戶在沒有輸入任何單詞的情況下,不能查詢到任何的單詞。所以,我們在不輸入任何單詞的情況下做一次測試。結果如下圖:</p><p>  圖 5-2 系統(tǒng)測試圖2</p><p>

114、;  從圖上可以看見,系統(tǒng)彈出了對話框,表示這個操作不能繼續(xù)。這表明該功能模塊具備了相關的出錯處理功能。</p><p>  其他的一些測試,比如雙擊該單詞顯示詞義,聲音文件的播放,由于篇幅和時間的問題就不一一給出了。</p><p><b>  第六章 系統(tǒng)發(fā)布</b></p><p>  6.1 創(chuàng)建工程對象</p><

115、p>  使用Project中的Application Wizard建立工程的基本步驟如下:</p><p> ?。?)在工具欄上單擊New圖標,選擇Project頁中的Application Wizard向導。</p><p> ?。?)在About the Application Project Wizard 對話框中單擊Next按鈕。</p><p>  

116、(3)在Specify Destination Library對話框中選擇存儲工程的應用庫,本系統(tǒng)只有一個應用庫,即.pbl,單擊Next按鈕。</p><p> ?。?)在Specify Project Object 對話框中給工程命名為voc.exe,單擊Next按鈕。</p><p> ?。?)在Specify Executable and Resource Files 對話框給可執(zhí)

117、行文件命名為D:\畢業(yè)設計相關\voc.exe,單擊Next。</p><p>  (6)在Specify Build Optuibs 對話框中選擇編譯類型Incremental Build(只重新編譯新增部分),并且選中Prompt for OverWrite 選中,表示當覆蓋文件是出現提示,單擊Next按鈕。</p><p> ?。?)在Generate Machine Code 對話

118、框中選擇生成機器代碼,單擊Next按鈕。</p><p> ?。?)在Specify Dynamic Library Options 對話框中選擇應用程序生成動態(tài)庫,單擊Next按鈕。</p><p>  (9)在Specify Version Information 對話框中填寫版本信息,單擊Next按鈕。</p><p> ?。?0)Ready to Creat

119、e Application 對話框中單擊Finish按鈕,即生成了一個工程對象。</p><p><b>  編譯步驟如下:</b></p><p>  ⑴在PowerBuiler的環(huán)境下,打開該工程對象。</p><p>  如圖5-1所示在該對話框中列出了前面所設置的工程對象屬性??梢栽诖颂幹苯有薷墓ぷ鲗ο蟮母鱾€屬性。</p>

120、<p>  圖 5-1 打開工程對象</p><p> ?、茊螕艄こ坍嫻P工具欄上的Build圖標進行工程編譯。PowerBuilder將會彈出一個窗口,顯示編譯的過程信息??梢詥螕粼摯翱谏系摹癝top”按鈕來終止編譯過程。編譯完畢后,即生成了相應的可執(zhí)行文件和動態(tài)庫文件。</p><p>  編譯通過后,生成可執(zhí)行文件voc.exe。在測試。發(fā)布前還要對生成的可執(zhí)行文件進行測試

121、,測試的步驟如下:</p><p> ?、烹x開PowerBuilder開發(fā)環(huán)境,返回到操作系統(tǒng)環(huán)境下。</p><p> ?、茖⒕幾g好的文件拷貝到PowerBuilder庫文件放置的路徑下。</p><p><b> ?、沁\行可執(zhí)行文件。</b></p><p><b>  6.2 發(fā)布</b>&

溫馨提示

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

評論

0/150

提交評論