英语学习助手.doc_第1页
英语学习助手.doc_第2页
英语学习助手.doc_第3页
英语学习助手.doc_第4页
英语学习助手.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

英语学习助手1、引言 1.1 问题的提出英语是当今国际社会的主要沟通语言,随着我们与世界的接轨。英语在我们的生活中占据了越来越多的方面。所以学习英语就成了我们的必须。但是很多人在学习时遇到了很多的困难。一个好的学习工具是对学习效率最大的提高。1.2任务与分析1.2.1 课题任务本课程是计算机软件专业的必修专业课程,通过理论讲述和实际训练,使学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法和技术开发和维护软件。本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。1.2.2 任务分析本系统开发设计思想:l 尽量采取学校现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现在资源,提高系统开发水平和应用效果的目的。l 系统应符合学校学生现有的多媒体条件,满足学生日常英语学习的需要,并达到操作过程的直观、方便、实用、自助等要求。l 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。l 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。1.3 开发和运行环境选择开发工具:Visual Basic 6.0运行环境:Windows 9x 、Windows NT、Windows 2000、 Windowsxp 操作系统。2、需求分析2.1系统的功能性需求1)实现英语单词的录入、修改、删除等基本操作。 2)实现常用英语单词例句的录入、修改、删除等基本操作。 3)实现英语单词检索、翻译等。 4)实现常用英语单词例句检索。 5)根据难度生成一份单词测试题目。 6)能够检索出短文及其翻译对照表。 7)具有数据备份和数据恢复功能。2.2.英语学习助手方案分析根据所要求的功能,大概将系统分以下几个模块:1.单词模块2.例句模块3.检索模块4.测试模块5.维护模块。各模块包含简要内容如下:1. 单词模块:包括单词表的建立,单词的录入、修改、删除等基本操作。单词表包括单词和汉语翻译以及初级、中级、高级三种难度单词的分类。单词录入要求能够实现录入(增加)单词及其汉语翻译;修改要求能修改单词的拼写以及其汉语意思;删除即能够删除某一单词记录。2. 例句模块:包括例句表的建立,例句的录入、修改、删除等基本操作。例句表包括例句及其中文翻译等。例句录入要求能够实现录入(增加)例句及其汉语翻译;修改要求能修改例句的单词以及其汉语意思;删除即能够删除某一例句记录。3. 试题模块:选择初级、中级、高级根据单词表生成一份相应难度的单词测试表。可以给出英文单词写出汉语翻译也可以给出汉语写英文翻译,每面5或10个,答完后能够判断正误给出得分。并可选择继续测试,生成和前一次不同的试题。4. 检索模块:包括单词检索和例句检索,每种检索又包括汉语检索和英文检索两种方式,并且要实现相似检索和模糊检索。即要求实现输入一个完整单词或例句可以给出它的汉语意思、输入汉语完整词组或例句也可以给出他的英文翻译;假如输入英文单词而数据库里不包含该单词则可以查找与其相似的单词并给出其汉语意思、输入汉语词组如果数据库里不存在该词组则找出相似的词组并给出其英文释意;例句检索假如输入不完整的句子则查找包含输入词组的句子并根据输入的是英语还是汉语而给出汉语句子或英语句子。5. 维护模块:要求实现数据备份和数据恢复功能,包括备份当前数据库(数据表内容)、选择恢复原始数据库或上次修改保存的数据库。备份当前数据库,在修改、充实好数据库后可以将其备份,并且有明确的保存路径;数据库恢复可以用备份好的资源覆盖当前数据库内容,可以将数据库恢复到初始化,还可以记录上次修改内容或创立修改日期库而选择恢复点进行恢复。初步将该软件分为以上5个模块,其关系图2.2如下所示:英语学习助手例句模块维护模块检索模块单词模块测试模块图2.2软件模块分析2.3数据库设计2.3.1 数据库需求分析根据英语学习要求及需求调查分析,对系统画出如图2-1所示的数据流图。用户输入单词修改单词删除单词输入例句修改例句删除例句1.11.21.32.32.22.1D2例句表D1单词表图2.3-1 数据流程图2.3.2 数据库概念设计有了数据流图,用E-R图来说明英语学习助手的数据库概念模式,如图2-2所示编号单词号英语学习助手词汇例句级别句子单词翻译关键词翻译图2.3-2 实体之间关系E-R图2.3.3 数据库逻辑设计将以上E-R转换成如下关系模式单词(单词号、单词、级别、翻译)例句(编号、句子、翻译、关键词)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。英语学习助手数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表2-1为词汇表,表2-2为例句表。表2-1 词汇表列名数据类型长度说明单词号数字5升序排列单词文本50英语词汇翻译文本50汉语词汇级别文本10分初、中、高级表2-2 例句表列名数据类型长度说明编号数字5仅限数字句子文本200英语句子翻译文本200汉语句子关键词文本20英语单词3各个功能模块的具体实现3.1初始界面界面如图3.1:图3.1初始界面功能及操作说明:单击主界面各菜单即进入相应功能模块。单击制作查看软件设计者人员。单击退出助手按钮退出该助手。源程序如下:Private Sub chcs_Click()test.ShowEnd SubPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub dc_Click()word.ShowEnd SubPrivate Sub dwfy_Click()article.ShowEnd SubPrivate Sub Form_Load()End SubPrivate Sub lv_Click()sentense.ShowEnd SubPrivate Sub xtwh_Click()bck.ShowEnd SubPrivate Sub zz_Click()creat.ShowEnd Sub3.2测试模块本模块通过在相应等级的数据库中随即生成固定数目的测试单词来提供给用户进行测试。用户可以选择初,中,高。三个等级的模式和随意选择自己要进行多少个单词的测试。功能及操作说明:如图3.4-1所示:进入测试窗体后,用户可自行输入预测验单词数目,并选择难度,单击“开始测试”按钮,进入测试,如图3.3-2所示:窗体上显示英语单词,测试者选择认为正确的释意,然后点“下一题”,当答完所要求的数目后,“下一题”按钮将显示成“交卷”字样,并弹出提示框,显示你的得分是*分。然后可以点确定进行下一轮的测试。图 3.2-1生成测试题目图 3.2-2测试题目源程序如下:Dim db As DAO.DatabaseDim rec As DAO.RecordsetPublic level1 As StringPublic sum As IntegerPrivate Sub Command1_Click() sum = Text1.Text level1 = Cob1.Text test_on.ShowEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() Set db = OpenDatabase(App.Path & sourse.mdb) Set rec = db.OpenRecordset(word) Cob1.AddItem 初级, 0 Cob1.AddItem 中级, 1 Cob1.AddItem 高级, 2 Cob1.ListIndex = 0End SubPublic right As IntegerDim db As DAO.DatabaseDim rec As DAO.RecordsetDim i As IntegerDim cnt As IntegerDim crt As IntegerDim mark As IntegerPrivate Sub Command1_Click() Call judge If i = test.sum Then Command1.Caption = 交卷 Else Call ask End If If Command1.Caption = 交卷 Then score = mark / test.sum * 100 MsgBox (你的得分是 & score & 分) Unload Me End If End SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() Set db = OpenDatabase(App.Path & sourse.mdb) Set rec = db.OpenRecordset(select * from word where 级别 = & test.level1 & ) rec.MoveLast cnt = rec.RecordCount rec.MoveFirst i = 0 mark = 0 Call askEnd SubPrivate Sub ask() i = i + 1 Command1.Caption = 下一题 For j = 0 To 3 Label(j).Caption = Next temp = Int(Rnd() * 10) rec.MoveFirst rec.Move (temp Mod cnt) Label2.Caption = rec!单词 正确单词和翻译进入 Label(temp Mod 4).Caption = rec!翻译 crt = temp Mod 4 For j = 1 To 3 k = j - 1 rec.MoveFirst temp = Int(Rnd() * 10) rec.Move (temp Mod cnt) 找一个错翻译 Do While rec!翻译 = test_on.Label(crt).Caption temp = Int(Rnd() * 10) rec.MoveFirst rec.Move (temp Mod cnt) Loop Do While Not Label(k).Caption = 放到一个空行上去 k = k + 1 Loop test_on.Label(k).Caption = rec!翻译 NextEnd SubPrivate Sub judge() If Option1(crt).Value Then mark = mark + 1 End IfEnd Sub3.3短文翻译模块本模的实现主要是从数据库中提取对应单词的中文意思进行组合而得到此句子的中文翻译。由于能力有限,有些时候并不能翻译出英文句子的准确意思。这个方面还有待改善。功能及操作说明: 如图3.5-1所示:在Text框中输入要翻译的英语短文,点击“执行翻译”按钮,便在下方显示出汉语翻译。点击“返回”按钮,可退出该窗体,返回到主菜单。图 3.3-1短文翻译源程序如下:Dim db As DAO.DatabaseDim rec As DAO.RecordsetPrivate Sub Command1_Click() tx = Text1.Text i = 1 l = Len(tx) txt = txtout = Do While i = l + 1 If i = l Then ch = Mid(tx, i, 1) End If If ch And i l Then txt = txt & ch Else If i = l Then txt = txt & ch End If Set rec = db.OpenRecordset(select * from word where 单词= & txt & ) If rec.RecordCount 0 Then txtout = rec!翻译 Else txtout = txt End If Label2.Caption = Label2.Caption & txtout txt = txtout = End If i = i + 1 LoopEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() Set db = OpenDatabase(App.Path & sourse.mdb) Set rec = db.OpenRecordset(word)End Sub4、测试用例4.1测试用例测试用例可以是白盒测试或者黑盒测试,在白盒测试中我们要根据系统的每一个逻辑语句来进行测试,黑盒测试则是只针对系统要实现的功能进行测试,由于本次设计的逻辑教为简单所以采用白盒测试的方法。用例一:首先添加一个单词,为: distance,距离用例二:修改distance的意思,远方,疏远,用例三:在翻译文档中输入 I am a

温馨提示

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

最新文档

评论

0/150

提交评论