英语学习助手数据库课程设计doc.docx

上传人:b****1 文档编号:13798660 上传时间:2023-06-17 格式:DOCX 页数:28 大小:457.54KB
下载 相关 举报
英语学习助手数据库课程设计doc.docx_第1页
第1页 / 共28页
英语学习助手数据库课程设计doc.docx_第2页
第2页 / 共28页
英语学习助手数据库课程设计doc.docx_第3页
第3页 / 共28页
英语学习助手数据库课程设计doc.docx_第4页
第4页 / 共28页
英语学习助手数据库课程设计doc.docx_第5页
第5页 / 共28页
英语学习助手数据库课程设计doc.docx_第6页
第6页 / 共28页
英语学习助手数据库课程设计doc.docx_第7页
第7页 / 共28页
英语学习助手数据库课程设计doc.docx_第8页
第8页 / 共28页
英语学习助手数据库课程设计doc.docx_第9页
第9页 / 共28页
英语学习助手数据库课程设计doc.docx_第10页
第10页 / 共28页
英语学习助手数据库课程设计doc.docx_第11页
第11页 / 共28页
英语学习助手数据库课程设计doc.docx_第12页
第12页 / 共28页
英语学习助手数据库课程设计doc.docx_第13页
第13页 / 共28页
英语学习助手数据库课程设计doc.docx_第14页
第14页 / 共28页
英语学习助手数据库课程设计doc.docx_第15页
第15页 / 共28页
英语学习助手数据库课程设计doc.docx_第16页
第16页 / 共28页
英语学习助手数据库课程设计doc.docx_第17页
第17页 / 共28页
英语学习助手数据库课程设计doc.docx_第18页
第18页 / 共28页
英语学习助手数据库课程设计doc.docx_第19页
第19页 / 共28页
英语学习助手数据库课程设计doc.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

英语学习助手数据库课程设计doc.docx

《英语学习助手数据库课程设计doc.docx》由会员分享,可在线阅读,更多相关《英语学习助手数据库课程设计doc.docx(28页珍藏版)》请在冰点文库上搜索。

英语学习助手数据库课程设计doc.docx

英语学习助手数据库课程设计doc

xx大学

计算机科学与技术系

数据库课程设计

题目:

英语学习助手

班  级:

指导教师:

完成日期:

2014年12月

 

学号

姓名

负责模块

成绩

组长

16

短文翻译

成员

23

测试

成员

05

单词

成员

01

例句

成员

06

系统维护

 

1系统设计

1.1目标设计

随着社会的发展和时代的进步,英语已经成为人们在日常生活和工作中必须掌握和应用语言。

为了更好、更快的掌握英语基础知识,尽快具备英语会话和写作能力,适应当前人们的工作、生活需要,推动英语学习的普及,所以我们小组集体开发了这套完整的英语学习助手1.0测试版,欢迎大家使用和提出改进意见。

1.2开发设计思想

本系统开发设计思想:

●尽量采取学校现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现在资源,提高系统开发水平和应用效果的目的。

●系统应符合学校学生现有的多媒体条件,满足学生日常英语学习的需要,并达到操作过程的直观、方便、实用、自助等要求。

●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。

●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。

1.3开发和运行环境选择

开发工具:

VisualBasic6.0

运行环境:

Windows9x、WindowsNT、Windows2000、Windowsxp操作系统。

1.4系统功能分析

本系统主要用于不同层次人们的英语学习,主要功能是帮助人们对不同层次的词汇学习和对日常应用语句的学习。

该系统主要包括词汇、例句、测试、短文翻译四部分。

“词汇”主要包含常用词汇及其翻译,能够实现词汇的查找、添加、修改和删除等功能,可以进行不同难度的选择学习。

“例句”主要包括生活中的常用语,并且用户可以自行添加新的语句,并对现有例句进行修改和删除。

1.5系统功能模块设计

本系统的功能分为如下几大模块:

1.单词模块:

包括单词表的建立,单词的录入、修改、删除等基本操作。

单词表包括单词和汉语翻译以及初级、中级、高级三种难度单词的分类。

单词录入要求能够实现录入(增加)单词及其汉语翻译;修改要求能修改单词的拼写以及其汉语意思;删除即能够删除某一单词记录。

2.例句模块:

包括例句表的建立,例句的录入、修改、删除等基本操作。

例句表包括例句及其中文翻译等。

例句录入要求能够实现录入(增加)例句及其汉语翻译;修改要求能修改例句的单词以及其汉语意思;删除即能够删除某一例句记录。

3.试题模块:

选择初级、中级、高级根据单词表随机生成一份相应难度的单词测试表。

可以给出英文单词选择其正确的汉语翻译,用户选择每次测试的词汇数目,答完后能够给出得分。

并可选择继续测试。

4.检索模块:

包括单词检索和例句检索,。

单词检索要实现输入一个单词,可以检索出它的汉语翻译及其难度。

例句检索要能实现输入其句中的关键词,可以检索出完整的句子及其中文翻译。

5.维护模块:

要求实现数据备份和数据恢复功能,包括备份当前数据库(数据表内容)、选择恢复原始数据库。

备份当前数据库,在修改、充实好数据库后可以将其备份,并且有明确的保存路径;数据库恢复可以将数据库恢复到初始化。

2.数据库设计

2.1数据库需求分析

根据英语学习要求及需求调查分析,对系统画出如图2-1所示的数据流图。

图2-1数据流程图

2.2数据库概念设计

有了数据流图,用E-R图来说明英语学习助手的数据库概念模式,如图2-2所示

 

图2-2实体之间关系E-R图

2.3数据库逻辑设计

将以上E-R转换成如下关系模式

单词(单词号、单词、级别、翻译)

例句(编号、句子、翻译、关键词)

其中,标有下划线的字段表示为该数据表的主码,即主关键字。

在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。

英语学习助手数据库中各个表格的设计结果如下面的几个表格所示。

每个表格表示在数据库中的一个表。

表2-1为词汇表,表2-2为例句表。

表2-1词汇表

列名

数据类型

长度

说明

单词号

数字

5

升序排列

单词

文本

50

英语词汇

翻译

文本

50

汉语词汇

级别

文本

10

分初、中、高级

表2-2例句表

列名

数据类型

长度

说明

编号

数字

5

仅限数字

句子

文本

200

英语句子

翻译

文本

200

汉语句子

关键词

文本

20

英语单词

3.各个功能模块的具体实现

●开始界面的设计

界面如下:

图3-1

功能及操作说明:

单击主界面各菜单即进入相应功能模块。

单击制作查看软件设计者人员。

单击退出助手按钮退出该助手。

源程序如下:

PrivateSubchcs_Click()

test.Show

EndSub

PrivateSubCommand1_Click()

UnloadMe

EndSub

PrivateSubdc_Click()

word.Show

EndSub

PrivateSubdwfy_Click()

article.Show

EndSub

PrivateSubForm_Load()

EndSub

PrivateSublv_Click()

sentense.Show

EndSub

PrivateSubxtwh_Click()

bck.Show

EndSub

PrivateSubzz_Click()

creat.Show

EndSub

3.1

设计完成人:

顾静

完成模块:

单词模块

●单词模块设计

功能及操作说明:

如图3.1-1所示,在Text框中输入要查询的单词,单击“查询”按钮,即显示其汉语意思和单词级别。

也可单击“上一个”或“下一个”按钮进行词汇浏览。

如果现有词库不能满足用户需求,则可单击“加入新单词”自行加入新词汇;如果现有词汇存在错误,用户可单击“编辑此单词”进行词汇极其翻译和难度等级的修改,如果该单词冗繁不必要,则用户可单击“删除此单词”直接删除该词汇记录。

图3.1-1

进入“加入新单词”操作界面后,如图3.1-2所示,在相应框中输入对应内容,然后选择设置级别,按“确定”按钮便可保存输入词汇,完成后弹出提示框“单词已经输入”。

进入“编辑此单词”操作界面与加入新单词操作相似,用户可进行相应的操作。

单击“删除此单词”按钮,弹出提示框“是否删除此单词”,单击“是”按钮,将删除当前记录,单击“否”则取消删除操作。

图3.1-2

源程序如下:

DimdbAsDAO.Database

PublicrecAsDAO.Recordset

Dimrec1AsDAO.Recordset

PrivateSubCommand1_Click()

Setrec1=db.OpenRecordset("word")

IfText1.Text<>""Then

DoWhilerec1!

单词<>Text1.Text

rec1.MoveNext

Loop

EndIf

IfNot(rec1.BOFAndrec1.EOF)Then

rec1.MovePrevious

Ifrec1.BOFThen

rec1.MoveFirst

EndIf

Text1.Text=rec1!

单词

Command7_Click

EndIf

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubCommand3_Click()

Setrec1=db.OpenRecordset("word")

IfText1.Text<>""Then

DoWhilerec1!

单词<>Text1.Text

rec1.MoveNext

Loop

EndIf

IfNot(rec1.BOFAndrec1.EOF)Then

rec1.MoveNext

Ifrec1.EOFThen

rec1.MoveLast

EndIf

Text1.Text=rec1!

单词

Command7_Click

EndIf

EndSub

PrivateSubCommand4_Click()

word_in.Show

EndSub

PrivateSubCommand5_Click()

word_in.Show

word_in.Text1.Text=rec!

单词

word_in.Text2.Text=rec!

翻译

word_in.Cob.Text=rec!

级别

EndSub

PrivateSubCommand6_Click()

Ifrec.RecordCount<>0Then

IfMsgBox("确定要删除吗?

",vbYesNo)=vbYesThen

rec.Delete

Setrec=db.OpenRecordset("select*fromword")'无法按单词排序

IfNot(rec.BOFAndrec.EOF)Then

rec.MoveFirst

'rec.Move(cnt)

Text1.Text=rec!

单词

Label3.Caption=rec!

翻译

Label4.Caption=rec!

级别&"级词汇"

EndIf

EndIf

EndIf

EndSub

PrivateSubCommand7_Click()

Setrec=db.OpenRecordset("select*fromwordwhere单词='"&Text1.Text&"'orderby单词")'无法按单词排序

Ifrec.RecordCount>0Then

Label3.Caption=rec!

翻译

Label4.Caption=rec!

级别&"词汇"

EndIf

EndSub

PrivateSubForm_Load()

Setdb=OpenDatabase(App.Path&"\sourse.mdb")

EndSub

DimdbAsDAO.Database

DimrecAsDAO.Recordset

PrivateSubCommand1_Click()

IfText1.Text<>""AndText2.Text<>""Then

rec.MoveFirst

DoWhileNotrec.EOF

word_no=rec!

单词号

Ifrec!

单词=Trim(Text1.Text)Then

ExitDo

Else

rec.MoveNext

EndIf

Loop

Ifrec.EOFThen

rec.AddNew

rec!

单词号=word_no+1

rec!

单词=Text1.Text

rec!

翻译=Text2.Text

rec!

级别=Cob.Text

rec.Update

Else

IfMsgBox("该单词已经存在,要覆盖吗?

",vbYesNo)=vbYesThen

rec.Edit

rec!

翻译=Text2.Text

rec!

级别=Cob.Text

rec.Update

EndIf

EndIf

MsgBox("单词已经输入")

Else

MsgBox("单词输入不能有空")

EndIf

UnloadMe

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Setdb=OpenDatabase(App.Path&"\sourse.mdb")

Setrec=db.OpenRecordset("word")

Cob.AddItem"初级",0

Cob.AddItem"中级",1

Cob.AddItem"高级",2

Cob.ListIndex=0

EndSub

PrivateSubForm_Unload(CancelAsInteger)

word.Show

EndSub

3.2

设计完成人:

常志芳

完成模块:

例句模块

●例句模块设计

功能及操作说明:

图3.2-1

图3.2-2

源程序如下:

DimdbAsDAO.Database

DimrecAsDAO.Recordset

Dimrec1AsDAO.Recordset

Dimrec2AsDAO.Recordset

PrivateSubCommand1_Click()

Setrec2=db.OpenRecordset("select*fromsentense")

IfNot(rec2.BOFAndrec2.EOF)Then

rec2.MovePrevious

Ifrec2.BOFThen

rec2.MoveFirst

EndIf

Setrec=db.OpenRecordset("select*fromsentensewhereid="&rec2!

id)

Text1.Text=rec!

id

Label3.Caption=rec!

¾ä×Ó

Label2.Caption=rec!

·Òë

EndIf

EndSub

PrivateSubCommand2_Click()

Dimtemp

DimiAsInteger

DimkeywordAsString

DimstrsqlAsString

keyword=Trim(Text1.Text)

strsql="select*fromsentensewherekeyword='"&keyword&"'"

Setrec1=db.OpenRecordset(strsql)

IfNotrec1.EOFThen

Label2.Caption=rec1!

·Òë

Label3.Caption=rec1!

¾ä×Ó

Else

MsgBox"²éѯ²»µ½ËùÐèµÄÀý¾ä",vbOKOnly,"ϵͳÌáʾ"

EndIf

EndSub

PrivateSubCommand3_Click()

Setrec2=db.OpenRecordset("select*fromsentense")

IfNot(rec2.BOFAndrec2.EOF)Then

rec2.MoveNext

Ifrec2.BOFThen

rec2.MoveLast

EndIf

Setrec=db.OpenRecordset("select*fromsentensewhereid="&rec2!

id)

Text1.Text=rec!

keyword

Label3.Caption=rec!

¾ä×Ó

Label2.Caption=rec!

·Òë

EndIf

EndSub

PrivateSubCommand4_Click()

sentense_in.Show

EndSub

PrivateSubCommand5_Click()

IfText1.Text<>""Then

Setrec=db.OpenRecordset("select*fromsentensewherekeyword='"&Text1.Text&"'")

sentense_in.Text1.Text=rec!

¾ä×Ó

sentense_in.Text2.Text=rec!

·Òë

sentense_in.Text3.Text=rec!

keyword

sentense_in.Caption="Àý¾äÐÞ¸Ä"

sentense_in.Show

Else

MsgBox"ÇëÊäÈë¹Ø¼ü´Ê²éѯ!

",vbOKOnly,"ϵͳÌáʾ"

EndIf

EndSub

PrivateSubCommand6_Click()

Setrec=db.OpenRecordset("select*fromsentensewherekeyword='"&Text1.Text&"'")

IfMsgBox("È·¶¨ÒªÉ¾³ýÂð£¿",vbYesNo)=vbYesThen

Setrec1=db.OpenRecordset("select*fromsentensewhereid="&rec!

id&"")

rec1.Delete

EndIf

EndSub

PrivateSubCommand7_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Setdb=OpenDatabase(App.Path&"\sourse.mdb")

Setrec2=db.OpenRecordset("select*fromsentense")

EndSub

3.3

设计完成人:

王晨曦

完成模块:

测试模块

●测试模块设计

功能及操作说明:

如图3.3-1所示:

进入测试窗体后,用户可自行输入预测验单词数目,并选择难度,单击“开始测试”按钮,进入测试,如图3.3-2所示:

窗体上显示英语单词,测试者选择认为正确的释意,然后点“下一题”,当答完所要求的数目后,“下一题”按钮将显示成“交卷”字样,并弹出提示框,显示你的得分是**分。

然后可以点确定进行下一轮的测试。

图3.3-1

图3.3-2

源程序如下:

DimdbAsDAO.Database

DimrecAsDAO.Recordset

Publiclevel1AsString

PublicsumAsInteger

PrivateSubCommand1_Click()

sum=Text1.Text

level1=Cob1.Text

test_on.Show

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Setdb=OpenDatabase(App.Path&"\sourse.mdb")

Setrec=db.OpenRecordset("word")

Cob1.AddItem"初级",0

Cob1.AddItem"中级",1

Cob1.AddItem"高级",2

Cob1.ListIndex=0

EndSub

PublicrightAsInteger

DimdbAsDAO.Database

DimrecAsDAO.Recordset

DimiAsInteger

DimcntAsInteger

DimcrtAsInteger

DimmarkAsInteger

PrivateSubCommand1_Click()

Calljudge

Ifi=test.sumThen

Command1.Caption="交卷"

Else

Callask

EndIf

IfCommand1.Caption="交卷"Then

score=mark/test.sum*100

MsgBox("你的得分是"&score&"分")

UnloadMe

EndIf

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Setdb=OpenDatabase(App.Path&"\sourse.mdb")

Setrec=db.OpenRecordset("select*fromwordwhere级别='"&test.level1&"'")

rec.MoveLast

cnt=rec.RecordCount

rec.MoveFirst

i=0

mark=0

Callask

EndSub

PrivateSubask()

i=i+1

Command1.Caption="下一题"

Forj=0To3

Label(j).Caption=""

Next

temp=Int(Rnd()*10)

rec.MoveFirst

rec.Move(tempModcnt)

Label2.Caption=rec!

单词'正确单词和翻译进入

Label(tempMod4).Caption=rec!

翻译

crt=tempMod4

Forj=1To3

k=j-1

rec.MoveFirst

temp=Int(Rnd()*10)

rec.Move(tempModcnt)'找一个错翻译

DoWhilerec!

翻译=test_on.Label(crt).Caption

temp=Int(Rnd()*10)

rec.MoveFirst

rec.Move(tempModcnt)

Loop

DoWhileNotLabel(k).Caption=""'放到一个空行上去

k=k+1

Loop

test_on.Label(k).Caption=rec!

翻译

Next

EndSub

PrivateSubjudge()

IfOption1(crt).ValueThen

mark=mark+1

EndIf

EndSub

3.4

设计完成人:

张永红

完成模块:

短文翻译

●短文翻译模块设计

功能及操作说明:

如图3.4-1所示:

在Text框中输入要翻译的英语短文,点击“执行翻译”按钮,便在下方显示出汉语翻译。

点击“返回”按钮,可退出该窗体,返回到主菜单。

图3.4-1

源程序如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2