毕业设计(论文)-PB电子词典设计与开发.doc_第1页
毕业设计(论文)-PB电子词典设计与开发.doc_第2页
毕业设计(论文)-PB电子词典设计与开发.doc_第3页
毕业设计(论文)-PB电子词典设计与开发.doc_第4页
毕业设计(论文)-PB电子词典设计与开发.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子词典设计与开发 本科毕业设计(论文)题 目: 电子词典设计与开发 Development of Electron Dictionary 学 院: 信息科技学院 专 业: 计算机科学与技术 学 号: 学生姓名: 指导教师: 职 称: 摘 要二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。计算机技术的发展和进步也使电子语言词典的诞生成为可能。虽然只有十来年的历史,电子词典却已经迅速发展壮大,成为词典家族中具有旺盛生命力的一员。尽管目前它尚不足以取代传统词典,但在英语学习和教学中,由于它实用、快捷、准确、经济等特点,已经成为传统英汉词典的有力竞争者,并对传统的词典提出了挑战。本文将要介绍的软件就是一个多功能学单词软件,主要介绍了这个软件制作环境,制作流程,对数据库的操作以及它的使用方法。用户可以根据自己的需要去查询单词,添加单词,删除单词,编辑单词等。另外,它还给单词学习者们提供了一个背单词的好方法。每一个用户都可以通过创建一个用户名来背诵单词,随时查看自己的历史记录,以便确定自己的背诵进度。本文从软件工程的角度进行了详细的阐述。该系统的开发工具是powerbuilder 9.0,使用的数据库为Adapt Server Anywhere 。关键词 :电子词典,powerbuilder,数据库 Abstract20 half after centuries leaf, with computer for representative of the development that modern science acquires to advance by leaps and bounds combine quick combine together with the peoples daily life.The calculator technical development and progresses also make the naissance of the electronics language Electron Dictionary 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 prosperous vitality in the Electron Dictionary household.Though it is still not enough to replace the traditional Electron Dictionary currently, in English study and teaching, because of it practical, fast, accurate, economy etc. characteristics, have already become the emollient competitor of the traditional English-to-Chinese Electron Dictionary , and put forward the challenge to the traditional Electron Dictionary .The software that 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.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 back the single phrase for the single phrase learners.Each customer can pass to establish an users name to recite from memory the single phrase.At any time look into own history record, for the purpose of assurance recite from memory the degree of progress ownly.Carried on to elaborate carefully from the angle of the software engineering.It is Adapt Server Anywhere that the development tool of that system is the powerbuilder 9.0 databases of the usages.Key Words:The Electron Dictionary , powerbuilder 9.0, Adapt Server Anywhere目 录前 言1第一章 系统分析21.1 系统目标21.2 系统需求分析2第二章 系统总体设计32.1 系统设计思想32.2 功能设计细节问题32.3 系统功能结构设计42.4 模块功能说明52.5 开发工具和环境62.5.1 总体开发工具及环境62.5.2 开发工具简介7第三章 数据库的开发与设计93.1 数据库需求分析93.2 系统逻辑分析103.3 数据库的连接113.3.1 程序设计时与数据库的连接123.3.2程序运行时与数据库的连接12第四章 关键模块页面和代码设计144.1 应用程序对象设计144.2 软件封面设计144.3 软件主界面设计164.4 查询功能模块设计184.5 轻松背单词模块设计194.6 词库管理模块设计22第五章 系统测试255.1 系统测试环境255.2功能测试25第六章 系统发布286.1 创建工程对象286.2 发布29结 论30致 谢31参考文献32附 录3343前 言电子词典诞生于80年代末期。如今市场上流行的有几十个品牌,数百个品种,集成了十几种甚至百余种功能,容量也从刚开始时的一万左右到现在的几万,十几万,有些品种则包含了几本不同词典的全部内容。现在大多数电子词典可以自由扩充词库,或从互联网上生产商的网站上下载词库,对词典进行自动更新。这对传统词典而言,其修订周期最少也得5到7年,这种袖珍电子词典已经成为学生的必备学习工具,据调查,在广州,上海,北京等大城市中,电子词典在高中生中的持有率已经接近 50%,在大学生中持有率也不断上升。目前市场商的主流电子词典有:文曲星、快译通、好易通、名人等系列产品。除了主要用于查询单词以外所有掌上电子词典都或多或少的提供其他的辅助功能。本人作为一个计算机应用的本科生,希望根据英语学习者的需求来设计一个实用的电子词典,以帮助英语学习者们更方便更快捷地查询单词、记忆单词,有效,自由的对词库进行管理,操作。闲暇之余也可以用猜词游戏来巩固一下单词。本文主要包含以下内容:(1)系统需求分析和系统功能设计(2)开发工具的选择及开发环境的设置,介绍了PB9.0及ASA数据库的基本情况。(3)数据库的设计,介绍了数据库设计理论、系统中所用到的表的逻辑结构设计方法和设计过程等。(4)功能模块的设计,具体介绍了如何实现各个功能模块,介绍了一些核心代码等。(5)对系统进行测试与调试,对设计过程中产生的错误进行修正。第一章 系统分析1.1 系统目标 电子词典的设计主要是用于帮助用户查找一些不懂的单词。以确定意思,再加上一些相关的扩展功能。1. 支持用户查询需求,能够实现英汉互相翻译的功能2. 支持用户自定义词库能够使用户对词库进行操作,以便使用户获得更多的资料。3. 加入轻松背单词功能,是用户对单词有一个及时全面的复习环境。1.2 系统需求分析用户在使用电子词典的时候,有可能会使用电子词典的查询功能,也有可能使用电子词典的轻松背单词功能。通过对用户需求分析,初步确定该系统的基本需求情况:1. 用户在打开软件的时候,应该有一个漂亮的背景和背景音乐来舒和用户的心情。2. 当用户需要查询的时候,软件必须提供这个单词的所有信息。以便与用户来获得所需要的信息。3. 可以自定义单词,使用户自己可以扩充词库。4. 用户可以根据自己的情况来选择级别来背诵单词。5. 用户在背诵单词的时候,可以选择每次背诵单词的数量,单词的范围。第二章 系统总体设计2.1 系统设计思想电子词典软件面向用户时,重要的是其可靠性,即用户能准确且较快速地查询到词语的相关释义。本文中分析用到的电子词典外观可参见Challenges英语教学软件中的电子词典(Challenges是智能型多媒体教学软件,电子词典是其功能之一)。词典软件准确而快速地响应来自于程序结构上的清晰和代码的优化。而电子词典软件面向设计者时设计者总是希望以尽可能简单的结构、尽可能少的代码构造出更为理想的软件,尤其是快速地、成批地构建词库,因为建库的工作往往耗时长,容易出错,需要反复无数次地调试。这在理论上包含了对词库的索引方式问 题。从全文检索的角度上来说,即是对关键字的有效选取。由于这类软件中内嵌的电子词典的外观比较简洁,使用起来只需用鼠标进行点选就会有相应的释义出现,如果不深入分析的话,初见到它的人认为这是一种简单的、对网页进行的链接设定。事实上,对词库中的词语和释义进行逐个链接的设定是比较麻烦的,很多词典软件的建库工作是建立在大量重复性的操作的基础上的,而且无法进行自动排序,只能手工逐条排序和添加,对按首字母进行的单词排序就更无从说起。因此,以此为例,对实现电子词典软件的探索在于自动化、智能化方面的实现,而不是靠手工建库来完成。2.2 功能设计细节问题确定了软件设计结构后,通过编码和优化实现这一结构是不太复杂的。但是涉及到相关的细节问题相当多,例如,程序的初始界面是怎样的,一开始运行程序,首先应该有字母表,否则用户无法选取;此外,单词预览窗口里应总是有一些单词(即使在初始状态下),这表现了友好的设计风范。所以,当程序一旦加载,就应该出现字母表和以A字母开头的单词。随着用户的使用,界面上的单词和释义不断做出变化,这一过程是交互的。还可以给单词或释义配音,甚至用动画等方式带来更易接受的效果;合理的引导信息,当用户直接点击查询时时,智能型的软件可以给用户做出自动提示,例如告知:“请填写您需要查找的单词”等等。但这种引导信息不应成为冗余信息。如果用户没有点准位置,而系统弹出一个提示框,要求用户选择是再试一次还是放弃,这就很不合理了。因此对于智能化的设计一定要站在用户的角度上考虑,而不是一味炫耀设计者具有怎样的想法和水平。如果软件的逻辑关系比较复杂,为便于用户的使用,可以加上“刷新”的功能,这样能更迅速地回到主界面,甚至可直接关闭电子词典功能,直接转到别的功能上去,实现软件间的相互调用;进一步的设想是,对软件做出一部分的开放式设计,让用户直接参与到设计中来例如加挂一个模块让用户进行软件DIY,用户可以随心所欲的添加自己的词库。2.3 系统功能结构设计 电子词典作为一个大众应用软件来说,她的诞生无疑是给人们更多的权利去遨游在浩瀚的互联网。所以一个好的电子词典软件应该使用起来更加方便,更加贴心,更符合用户的需求。本电子词典主要包括以下几个功能模块。系统功能模块图如下:多功能电子词典单词查询功能汉译英英译汉轻松背单词模块词库管理单词记忆单词测试词库设置历史记录词库设置猜词游戏添加删除修改图 2.1 系统功能结构图2.4 模块功能说明1) 汉译英功能模块说明:可以实现对英文单词对中文单词的查询功能。当用户在输入第一个字符的时候,以这个字符作为开头的单词会显示在下边的数据窗口中,用户可以直接双击该单词以便显示这个单词的中文解释。也就是说,不需要完全输入用户想要找的单词。只要用户有一点单词的印象,那么,他就可以凭记忆来双击他想要的单词来显示该单词的意思。 在单词解释窗口里,用户可以看到自己所需要的信息。可以找到于之相关的经典例句。以便用户以后能对该单词更加熟悉。同时还包括了近义词,反义词,音标,等于单词想关联的信息。2) 英译汉功能模块说明可以实现中文对英文的翻译,通汉译英一样。在左下数据窗口里面也可以直接双击该单词来获得用户想要的相关信息3) 轻松背单词功能模块说明(1) 用户管理模块:这个模块的意义并不在于限制非法用户的登陆问题。只是当不同的用户来使用不同的单词测验的时候,会产生不同的历史记录。使用用户管理功能模块以后。会使个人对自己的情况有非常深刻的了解。(2) 新用户注册模块:可以注册新的用户,条件是不能用已经存在的用 户名来注册,另外,这里加入了用户密码验证体系,假如注册用户 两次密码的输入不一致,也不能通过合法性验证(3) 用户登陆模块:这里就是用户的验证界面了。假如正确的用户登陆了,进入功能选择窗口。而且历史记录这个数据窗口里就会显示相应的历史记录。假如用户不能正确的登陆的话。则关闭窗口。增加恶意用户猜测密码的难度。(4) 单词浏览功能:当用户执行这个功能的时候,会跳出一个向导框出来。会提示用户浏览单词的速度。假如用户选择手动的话。那么用户只要单击下一条就可以了。当用户背完他所选组的所有单词以后,结束这次背诵。返回功能选择界面。(5) 单词测试功能:在这个功能模块里,可以对用户所选择的组进行测试,如果用户是刚浏览过的一组单词,那么,在单词测试的词库设置会默认为刚才浏览的一组单词。假如用户正确了或者错误了,那么将会弹出提示。假如用户背诵的单词错误的总数高于总单词数量的10%的时候,那么这组单词就不会通过。无论通过于否,都会存进历史记录里。供用户查看。(6) 历史记录:在这个模块里,用户可以很轻松的看见自己背诵单词的情况。用户可以看见自己没有通过的组号,以及单词背诵的日期。双击未通过的组可以进入单词测试模块,继续进行一次测试。(7) 词库设置:用户可以在这个里面设置这个词库。注意:用户刚登陆的时候词库设置的默认值都是空的。必须在词库设置里先设置好词库范围才能进行单词浏览,单词测试。(8) 猜词游戏:供用户在休息的时间里放松一下自己的功能模块。用户可以根据自己的要求和实力来自定义猜词的难度。猜词的字母数越少,难度越低,失误的机会数越多,难度也越低。2.5 开发工具和环境2.5.1 总体开发工具及环境本系统采用的软件开发工具及环境如下:操作系统: WINDOWS xp编程工具: PowerBuilder9.0数据库:Adaptive Server Anywhere数据库开发用机器的硬件配置:Pentium 1.70GHz、256MB内存、30GB硬盘等。运行要求的配置:硬件环境:英特尔奔腾处理器,166MHZ或更高的处理器、 32M RAM-ROM驱动器、256色、1024*768分辨率显示器(推荐使用更高的分辨率和颜色深度)软件环境:WINDOWS98/2000/XP2.5.2 开发工具简介PowerBuilder是一个图形化的应用程序开发环境。使用PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按纽等标准的Windows控件,还可以有PowerBuilder提供的特殊控件。这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。由于数据窗口对数据的操作是通过事务进行的,所以对数据的操作有很强的可靠性。这些都为开发功能强大的数据库应用软件提供了可靠的保证。商业化的软件开发要求有很好的移植性。PowerBuilder既可以跨平台开发,也可以发行跨平台软件。例如,在Windows 95下开发的程序,可以不修改源程序而形成UNIX下的执行文件或Macintosh下的执行文件。在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。随着软件技术的不断发展,PowerBuilder 8.0及时地强化了开发功能,并提供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快速集成开发环境。它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展现有的技术和应用上的投资。Adaptive Server Anywhere是PowerBuilder自带的数据库管理系统,Adaptive Server Anywhere数据库可以与PowerBuilder运行在同一台机器上,作为PowerBuilder的数据库服务器,与PowerBuilder构成客户服务器体系结构。由于Adaptive Server Anywhere在功能上已具备了大型数据库的特点,因此使用Adaptive Server Anywhere有如下好处:由于Adaptive Server Anywhere本身已经是一个完整的数据库管理系统,所以在项目的开发阶段,单机即可开发大型数据库应用,而不必在网络状态下与大型数据库管理系统连接起来开发;开发完成后,几乎不用更改,把开发出的应用系统拿到网络下即可运行在其他数据库上。第三章 数据库的开发与设计电子词典的应用前景是很广阔的,许多诸如英语教学一类的软件中都会挂一个小型的英文词典。这类词典词库的设计方法多种多样,大多是针对软件自身的特点进行特殊的考虑和设计,目的是方便用户的使用,取得较好的效果。在电子辞典的设计过程中,设计者要考虑多方面的问题因此,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,资料的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但这些技术方法与数据库系统并没有统一的相对应的模式,而是要根据应用系统对数据库不同的需求来选择不同的技术方法,甚至是几种不同的方法的融合3.1 数据库需求分析数据库结构设计的第一阶段,也是非常重要的一个阶段是数据库需求分析。在这个阶段主要是收集基本资料以及数据处理的流程,为进一步设计打下基础。根据以上的功能分析,系统主要需要建立的数据流图如下:图 3-1 系统数据流程图通过对用户需求和数据流程的分析,设计的数据项和数据结构如下:1) 用户名和密码表:用户名,密码(主码为用户名)2) 用户历史记录表:用户名,背诵时间,起始组,结束组,通过与否,背诵级别 (其中用户名和背诵时间为主码)3) 单词表:单词号,中文单词,英文单词,音标,词性,例句,翻译,是否属于cet4级别,是否属于cet6级别,是否属于tofel级别的,是否属于gre级别的。3.2 系统逻辑分析概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为ASA数据库系统所支持的实际数据库模型。该数据库系统要求具有以下方面的特点:结构合理,所建立的数据冗余度小,独立性强。建档、修改、查询、统计快而准确。 保密性、可靠性好。数据库的逻辑结构设计如下:(1) 用户名和密码表:用户名(userid),密码(userpassword)(主码为用户名) 图 3-2 用户名和密码表(2) 用户历史记录表:用户名(userid),背诵时间(recitetime),起始组(groupbegin),结束组(groupend),通过与否(passornot),背诵级别(rank) (其中用户名和背诵时间为主码) 图 3-3 用户历史记录表(3) 单词表:单词号(id),中文单词(cword),英文单词(eword),音标(ps),词性(kind),例句(example),翻译(translation),是否属于cet4级别(cet4),是否属于cet6级别(cet6),是否属于tofel(tofel)级别的,是否属于gre级别的(gre)。(单词号为主码) 图 3-4 单词信息表3.3 数据库的连接在PowerBuilder开发环境和应用程序能够操作数据库中的数据之前,必须首先与数据库建立联系,也就是连接到数据库上。PowerBuilder与数据库的连接建立在驱动程序之上。PowerBuilder通过数据库驱动程序接口实现与各种类型数据库的连接。接口的参数可以通过一个Database Profile来完成。对于每一个可能要用到的数据库,均可以建立一个Database Profile。在此Database Profile中所记录的是建立到数据库的一些连接信息,如数据库管理信息(DBMS)的类型、用户账号、口令、数据库以及其他的连接参数。当开发环境通过Database Profile连接到数据库上之后,在PowerBuilder中使用数据库画笔可实现对该数据库中表格、视图等的操作,如创建表、修改表、删除表、增加删除记录。PowerBuilder中设计数据窗口的时候,通过“Database Profile”对话框实现与数据库的连接。在应用程序中则一般是在应用程序对象中写连接数据库的程序代码,使得应用程序开始运行并实现与数据库的连接。3.3.1 程序设计时与数据库的连接在程序设计中可以使用“Database Profile”对话框完成配置和连接。如果已经定义了所需数据库的配置,那么就可以通过单击选中该配置,然后单击“Connect”按钮,将系统连接到相应的数据库上。如果没有定义数据库配置,需要创建新的数据库配置。首先选择Tool菜单中的Database Profile子菜单,或者单击图标,出现“Database Profile”对话框。在其中选择要配置的数据库使用的数据库接口,“ODB ODBC”节点。然后,单击“New”按钮,打开“Database Profile Setup-ODBC”对话框,并设置所要连接数据库的配置信息。完成设置后,单击“Preview”标签页,在该标签页中列出了数据库刚刚配置的语句。单击“OK”按钮,返回到“Database Profile”对话框。这时“ODB ODBC”节点下面就多了刚刚配置好的Database Profile。选中该配置,单击该对话框中的“Connect”按钮,系统即通过专用接口连接到数据库上。当PowerBuilder 8.0通过Database Profile 连接到数据库上之后,在程序上之后,在程序设计的创建数据窗口对象时,可以直接显示该用户在数据库中可以修改的表,通过选择某个(或者多个)表可以将它们和数据窗口对象连接起来。3.3.2程序运行时与数据库的连接在程序设计是和数据库的连接Database Profile对话框来实现的,在程序运行时,则需要通过应用程序对象来实现和数据库的连接。在应用程序对象中实现与数据库连接,不在通过“Database Profile”对话框,而是使用Transaction事物对象。一般数据库的连接是在应用程序开始运行是建立起来的。PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象。每个PowerBuilder应用程序都必须有一个、而且只能有一个应用程序对象,在该应用程序对象中写入与数据库连接的程序代码,从而使得应用程序一开始变实现与数据库的连接。在“Database Profile”对话框完成设置后,单击“Preview”标签页,在该标签页中列出了配置的语句。将连接数据库的代码复制到应用程序对象中,即可完成代码的编写。第四章 关键模块页面和代码设计4.1 应用程序对象设计PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。应用程序对象的事件不多,一共只有6个,分别是Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd事件。本应用程序对象中只用到Open事件,输入如下程序代码:/ Profile vocSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=voc;UID=dba;PWD=sqlconnect;open(w_open) /打开启动窗口; 4.2 软件封面设计现在,一般的软件在启动都会出现软件封面,这样的做法不是没有必要的,因为,软件封面可以使用户更加放心,让他们知道程序还在继续着,并没有死掉。如果有的程序在开始的时候需要执行连接数据库的请求,那么,软件启动界面就非常有必要了,它可以使用户在软件启动的时候会更耐心一点的等待软件启动完毕。所以,在这个软件里,我设计了一个封面。如下图所示: 图 4 1 软件启动界面在软件启动的时候需要对单词库进行分配,整理。所以代码如下:在open事件里,主要代码如下:timer(2)int n, i = 0, m = 0 , a a = 0 DECLARE c5 CURSOR FOR SELECT voc.id FROM voc where cet4 = 1 ; open c5;do while true fetch c5into :n; a = a + 1; if sqlca.sqlcode 0 then exit end ifloopclose c5; DECLARE c1 CURSOR FOR SELECT voc.id FROM voc where cet4 = 1 ; open c1;do while m a - 1 fetch c1 into :n; UPDATE voc SET cet4group = :m / 3 + 1 where id = :n; m = m + 1loop close c1; m = 0 a = 0 DECLARE c6 CURSOR FOR SELECT voc.id FROM voc where cet6 = 1 ; open c6;do while true fetch c6 into :n; a = a + 1; if sqlca.sqlcode 0 then exit end ifloopclose c6; DECLARE c2 CURSOR FOR SELECT voc.id FROM voc where cet6 = 1 ; open c2; do while m a - 1 fetch c2 into :n; UPDATE voc SET cet6group = :m / 3 + 1 where id = :n; m = m + 1loop close c2; m = 0 a = 0 DECLARE c7 CURSOR FOR SELECT voc.id FROM voc where tofel = 1 ; open c7;do while true fetch c7 into :n; a = a + 1; if sqlca.sqlcode 0 then exit end ifloopclose c7; DECLARE c3 CURSOR FOR SELECT voc.id FROM voc where tofel = 1 ; open c3; do while m a - 1 fetch c3 into :n; UPDATE voc SET tofelgroup = :m / 3 + 1 where id = :n; m = m + 1loop close c3; m = 0 a = 0 DECLARE c8 CURSOR FOR SELECT voc.id FROM voc where gre = 1 ; open c8;do while true fetch c8 into :n; a = a + 1; if sqlca.sqlcode 0 then exit end ifloopclose c8;DECLARE c4 CURSOR FOR SELECT voc.id FROM voc where gre = 1 ; open c4; do while m a - 1 fetch c4 into :n; UPDATE voc SET gregroup = :m / 3 + 1 where id = :n; m = m + 1loop close c4;Timer (2) /两秒钟后关闭另外,还要实现timer事件:close (parent)4.3 软件主界面设计本应用程序的主要功能都是在主窗口w_main及在其下打开的众多窗口中完成的。采用的是多文档界面。另外还加入了背景图片和背景音乐,使面目焕然一新,让用户使用起来不会觉得太枯燥。如下图所示: 图 4-2 软件主要界面在w_main中的设计里面 open () 事件里的代码:opensheet(w_layout,w_main,4,Layered!)boolean sndsnd = sndPlaySoundA(PY.WAV,1)其中,sndPlaySoundA(),是一个自定义的外部函数,用来播放声音文件的。还有一点需要说明的是对于菜单的设计。由于采用了多文档。所以每一个按钮都用来打开一个窗口。查询功能:1)汉译英:Clicked事件程序代码:opensheet(w_c_to_e,w_main,4)2)英译汉:Clicked事件程序代码:opensheet(w_e_to_c,w_main,4)(2)轻松背单词功能:1)新用户注册:Clicked事件程序代码:opensheet(w_register,w_main,4)2)用户登陆:Clicked事件程序代码:opensheet(w_login,w_main,4)(1)词库管理:1)添加单词:Clicked事件程序代码:opensheet(w_addword,w_main,4)2)修改单词:Clicked事件程序代码:opensheet(w_alterword,w_main,4)4.4 查询功能模块设计用户在查询单词的时候总是想用自己手中最少的信息,去查一个完全陌生的单词。那么,电子词典就必须包含一切用户所能掌握单词信息的可能性。有可能这个用户只知道这个单词的前两个字母。那么,他仍旧能找到这个单词并且获得他所想要的东西。因此,单词查询模块中,最重点的还是尽可能多的给出有用的单词信息来。添加了一个发音功能。使用户更加快速的了解到自己需要的单词信息。当用户单击查询功能汉译英时界面如下: 图 4-3 查询单词图如果用户没有输入字符的时候,按下查询按钮时会报警:“填如字符不能为空” 假如用户输入的第一个字母的时候,在单词树中就会显示以该字母为首的所有单词。用户可以通过双击该单词来直接获得在右边窗口的单词信息。(代码见附录程序 5)4.5 轻松背单词模块设计轻松背单词主要是用于提供给用户一个背诵单词的新方法,它可以使用户更方便的去记忆单词其中包括了5个子模块,分别为:1.用户管理模块:这个模块的意义并不在于限制非法用户的登陆问题。只是当不同的用户来使用不同的单词测验的时候,会产生不同的历史记录。使用用户管理功能模块以后。会使个人对自己的情况有非常深刻的了解。(程序代码见附录1) 登录界面如下图所示: 图 4-4 轻松背单词登录窗口2.新用户注册模块:可以注册新的用户,条件是不能用已经存在的用 户名来注册,另外,这里加入了用户密码验证体系,假如注册用户 两次密码的输入不一致,也不能通过合法性验证,如下图所表示: 图 4-5 用户注册框3.用户登陆模块:这里就是用户的验证界面了。假如正确的用户登陆了,进入功能选择窗口。而且历史记录这个数据窗口里就会显示相应的历史记录。假如用户不能正确的登陆的话。则关闭窗口。增加恶意用户猜测密码的难度。4.单词浏览功能:当用户执行这个功能的时候,会跳出一个向导框出来。会提示用户浏览单词的速度。假如用户选择手动的话。那么用户只要单击下一条就可以了。当用户背完他所选组的所有单词以后,结束这次背诵。返回功能选择界面。5.单词测试功能:在这个功能模块里,可以对用户所选择的组进行测试,如果用户是刚浏览过的一组单词,那么,在单词测试的词库设置会默认为刚才浏览的一组单词。假如用户正确了或者错误了,那么将会弹出提示。假如用户背诵的单词错误的总数高于总单词数量的10%的时候,那么这组单词就不会通过。无论通过于否,都会存进历史记录里。供用户查看。(代码见附录程序 4)6.历史记录:在这个模块里,用户可以很轻松的看见自己背诵单词的情况。用户可以看见自己没有通过的组号,以及单词背诵的日期。双击未通过的组可以进入单词测试模块,继续进行一次测试。7.词库设置:用户可以在这个里面设置这个词库。注意:用户刚登陆的时候词库设置的默认值都是空的。必须在词库设置里先设置好词库范围才能进行单词浏览,单词测试。8.猜词游戏:供用户在休息的时间里放松一下自己的功能模块。用户可以根据自己的要求和实力来自定义猜词的难度。猜词的字母数越少,难度越低,失误的机会数越多,难度也越低。图 4-6 功能选择界面4.6 词库管理模块设计词库管理模块主要是用与使用户更方便的管理单词库。主要包括三个模块:1. 添加单词:使用户能够添加单词。2. 修改单词:使用户能够对库里的词汇进行修改3. 删除单词:当用户需要删除某个单词时来使用添加单词界面如下:图 4-7 用户添加单词界面添加单词的时候,必须去查寻数据库中有没有这个单词,假如有该单词的话要提示给用户:“该单词已经存在”。另外就是根据用户的需求来输入单词。修改单词窗口如下:图 4- 8 修改单词窗口修改单词的时候首先要把用户需要修改的单词显示出来,然后用户根据自己的需要来修改该单词并确认以存到数据库中。删除单词界面如下: 图 4- 9 删除单词界面删除单词的时候首先要确认用户的要求,看看用户是不是要删除的单词,删除前要求用户做最后的确认。如果真的要求删除单词则执行该操作第五章 系统测试系统测试是软件工程中的一个必要的,而且是一个很重要的环节,在这里,对我所做的软件进行全面,全方位的测试。尽可能在发布之前找到更多的BUG。以及一些功能上的缺陷。5.1 系统测试环境本系统采用的软件测试环境如下:操作系统: WINDOWS xp数据库:Adaptive Server Anywhere数据库开发用机器的硬件配置:Pentium 1.70GHz、256MB内存、30GB硬盘等。运行要求的配置:硬件环境:英特尔奔腾处理器,166MHZ或更高的处理器、 32M RAM-ROM驱动器、256色、1024*768分辨率显示器(推荐使用更高的分辨率和颜色深度)软件环境:WINDOWS98/2000/XP5.2功能测试由于时间上的限制,所以不能对所有的功能模块进行测试,只写出一部分的功能测试来。在这里,对单词查询功能进行测试。测试目的:验证单词查询的自动跟随功能测试步骤:1. 基本功能实现测试输入一个字母,看能否将该字母开头的单词显示在下边。比如输入“a”.结果如下图所示:5-1 测试图1从图上可以看见以a开头的字母已经全部出来了。并且单词“a”已经用反色显示了出来。单词信息窗口已经把这个单词的意思显现出来了。这表明了这个功能已经实现。在此不再赘述。2. 出错处理测试 假如用户在没有输入任何单词的情况下,不能查询到任何的单词。所以,我们在不输入任何单词的情况下做一次测试。结果如下图:图 5-2 系统测试图2从图上可以看见,系统弹出了对话框,表示这个操作不能继续。这表明该功能模块具备了相关的出错处理功能。其他的一些测试,比如双击该单词显示词义,声音文件的播放,由于篇幅和时间的问题就不一一给出了。第六章 系统发布6.1 创建工程对象使用Project中的Application Wizard建立工程的基本步骤如下:(1)在工具栏上单击New图标,选择Project页中的Application Wizard向导。(2)在About the Application Project Wizard 对话框中单击Next按钮。(3)在Specify Destination Library对话框中选择存储工程的应用库,本系统只有一个应用库,即.pbl,单击Next按钮。(4)在Specify Project Object 对话框中给工程命名为voc.exe,单击Next按钮。(5)在Specify Executable and Resource Files 对话框给可执行文件命名为D:毕业设计相关voc.exe,单击Next。(6)在Specify Build Optuibs 对话框中选择编译类型Incremental Build(只重新编译新增部分),并且选中Prompt for OverWrite 选中,表示当覆盖文件是出现提示,单击Next按钮。(7)在Generate Machine Code 对话框中选择生成机器代码,单击Next按钮。(8)在Specify Dynamic Library Options 对话框中选择应用程序生成动态库,单击Next按钮。(9)在Specify Version Information 对话框中填写版本信息,单击Next按钮。(10)Ready to Create Application 对话框中单击Finish按钮,即生成了一个工程对象。编译步骤如下:在PowerBuiler的环境下,打开该工程对象。如图5-1所示在该对话框中列出了前面所设置的工程对象属性。可以在此处直接修改工作对象的各个属性。图 5-1打开工程对象单击工程画笔工具栏上的Build图标进行工程编译。PowerBuilder将会弹出一个窗口,显示编译的过程信息。可以单击该窗口上的“Stop”按钮来终止编译过程。编译完毕后,即生成了相应的可执行文件和动态库文件。编译通过后,生成可执行文件voc.exe。在测试。发布前还要对生成的可执行文件进行测试,测试的步骤如下:离开PowerBuilder开发环境,返回到操作系统环境下。将编译好的文件拷贝到PowerBuilder库文件放置的路径下。运行可执行文件。6.2 发布通过上面测试的可执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论