打字比赛系统的设计与实现.docx
《打字比赛系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《打字比赛系统的设计与实现.docx(30页珍藏版)》请在冰豆网上搜索。
打字比赛系统的设计与实现
打字比赛系统的设计与实现
本科毕业论文(设计)
(2010届本科毕业生)
题 目:
打字比赛系统的设计与实现
学生姓名:
杨秀凤
学生学号:
06029065
学院名称:
物理科学与技术学院
专业名称:
电子信息工程
指导教师:
李柳
2010年05月26日
沈阳师范大学
物理科学与技术学院本科生毕业论文开题报告
学生姓名
杨秀凤
专业
电子信息工程
学号
06029065
开题时间
2010年3月10日
指导教师
李柳
论文题目
打字比赛系统的设计与实现
选题依据、意义、研究内容及目标
文章主要分析了考试系统的系统设计理念和系统实现的过程。
简单介绍了考试系统的发展前景及开发意义和打字比赛系统开发时所需工具与相关技术VisualBasic和Access数据库;重点介绍了开发打字比赛系统的设计与实现过程.
通过调试,该系统运行正常,达到了预期的效果,对于提高教学质量和教师的工作效率起到了重要意义.
研究方法、研究方案及进度
研究方法及方案:
查阅相关领域的资料进行了解;
软件系统的开发和设计
程序编制与系统调试;
撰写论文
进度:
资料查阅、选题(12月20日至12月30日)
调研、翻译外文资料(12月31日至3月9日)
撰写开题报告(写作提纲)(3月10日至4月1日)
实验研究及论文初稿(4月2日至4月20日)
论文修改稿(4月21日至5月5日)
论文定稿(5月6日至5月26日)
研究特色及预期成果
打字比赛系统具有以下特点:
1.考试环境公平、公正。
2.无纸化办公的实现3.易于操作,深受教师欢迎。
4.系统的设计,工作量小,维护方便,容易改造。
在Visual环境下采用管理端Access数据库来实现的中英文打字比赛系统,经过调试,系统运行正常,达到了预期目标。
主要参考文献
[1].龚沛曾,陆慰民.MicorsoftVisualBasic程序设计教程[M].北京:
高等教育出版社,1992,26
(2):
71-78.
[2].刘韬.VisualBasic中文版程序指南[M].西安:
电子出版社,1993,8(3):
106-124.
[3].萨师煊,王珊.数据库系统概论[J].北京:
高等教育出版社,2001,7
(2):
85-97.
[4].刘刚.VisualBasic程序设计与案例[J].北京:
高等教育出版社.2003,23(4):
235-256.
[5].李源.MicrosoftVisualBasic控件参考手册[M].北京:
希望电脑公司出版社,2000,25(3):
18-20.
[6].赵荫平.VisualBasic数据库编程指南[M].北京:
希望电脑公司出版社,2001,9
(2):
56-64.
指导教师意见
开题委员会意见
备注
中文摘要…………………………………………………………………………Ⅰ
ABSTRACT…………………………………………………………………………Ⅱ
引言……………………………………………………………………………1
第一章系统开发工具与相关技术………………………………………………3
第1节VisualBasic可视化编程语言……………………………………3
第2节数据库概述………………………………………………………4
第3节Access简介………………………………………………………5
第二章比赛系统的设计…………………………………………………………6
第1节总体设计…………………………………………………………6
第2节数据库建立………………………………………………………7
第3节应用管理模块的设计……………………………………………9
第4节客户端模块的设计………………………………………………11
第三章打字比赛系统的实现…………………………………………………18
第1节调试………………………………………………………………18
第2节测试………………………………………………………………19
第3节系统的实现………………………………………………………19
结论………………………………………………………………………………24
参考文献…………………………………………………………………………25
引言
一、简述
在世界高速发展的今天,电脑已经成为挂在我们嘴边的一句口头禅,它已经深入到日常工作和生活的各个方面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
自从Windows问世以来,其图形用户界面日益深入人心,以往在Dos环境下运行的应用程序也越来越多地被升级成Windows环境。
Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许多复杂的工作。
然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的需求,人们还不得不开发适合自己特殊需求的软件。
目前,许多的专业考试就已经由传统的笔试转变为软件开发的计算机网络考试进行。
计算机考试系统与传统的考试系统相比有多方面的优势。
首先,可以省去试卷印刷的过程。
其二,可以充分发挥计算机在信息处理方面的优势。
例如:
建立海量的题库供将来使用,对计算机处理考试结果,管理考生信息等提供有价值的信息。
这都有赖于计算机网络的高速发展带来的功能强大的信息处理平台,是创建一套集信息采集、信息加工、信息传输与信息存储自动化、共享化的信息管理系统成为可能。
二、开发本系统的意义
众所周知,我国是世界上人口最多的国家,我国学生的数量也是惊人的。
在我国,目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少需要五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
对于学校的教师来说,最头疼、繁重的工作莫过于出题了。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。
每学期各种大小考试浩如烟海,常常会有这样的事情发生:
因为出题教师笔误出错试题,不得不要到每个考场去更正;而市场上出售的试题,却经常因为其内容与实际教学情况不相符合而不能全部采用。
可以说传统的考试方式已经不能适应现代考试的要求。
随着计算机应用的迅猛发展,网络应用不断扩大,并且正逐渐深入到千家万户。
人们迫切要求利用这些技术来完成一套考试系统,以减轻教师的工作负担及提高工作效率,于此同时也提高了考试的质量从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
一个完备的考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大的提高。
考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在系统中自动完成。
只要形成一套成熟的题库,就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题库,维护题库,而不是组织考试,从而大大的减轻了教师的负担。
这表明其经济性是相当可观的。
利用考试系统完成考试的前提是要有一定的打字速度,这样才能在一定的时间里答完试卷。
为了提高每个人的打字速度,进行打字比赛考试是一个很有效的方法。
三、论文研究的主要内容
本文介绍了在Visual环境下采用管理端Access数据库来实现的中英文打字比赛系统,文章主要分析了考试系统的系统设计理念和系统的组成部分。
首先,简单介绍了考试系统的发展前景及开发意义;其次介绍了打字比赛系统开发时所需工具与相关技术VisualBasic和Access数据库;重点分析打字比赛系统的设计与实现过程,给出了系统的总体设计框图和关键技术流程图,通过调试,该系统运行正常,给出了运行界面。
最后得出结论,该系统的开发具有一定的实际意义,对于提高学生计算机应用能力十分有益,也对该系统存在的不足提出了建议。
第一章系统开发工具与相关技术
第1节VisualBasic可视化编程语言
一、VisualBasic介绍
VisualBasic是Microsoft公司推出的最成功的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具,拥有数以百万计的用户。
自从1991年Microsoft公司推出VisualBasic以后,人们逐渐以可视化工具进行界面设计,以结构化BASIC语言为基础,以事件驱动为机制,是近年来被广泛使用的一种高级语言。
1998年Visual版继承了BASIC语言简单易学的优点,又增加了许多新的功能,它逐渐成为功能强大的编程工具,也是目前世界上使用最广泛的程序开发工具,拥有数以百万计的用户。
自从1991年VisualBasic语言诞生后,前最新的程序设计思想:
面向对象与事件驱动,使编程变得更加方便、快捷。
VisualBasic从一个小语种发展成了一个集成的开发环境,既可以开发个人或小组使用的小型工具,又可以开发多媒体软件、数据库应用程序、网络应用程序等大型软件。
VisualBasic是一种通用的程序设计语言,在许多领域得到了广泛的应用,而在数据库方面的应用尤其受到人们的重视。
数据库应用是计算机应用中极其重要的一个方面,他在信息处理领域中起着中心环节的作用。
由于网络技术的发展,数据库已成为计算机技术应用的重要环节。
Microsoft的市场调查表明,百分之七十以上的VisualBasic应用程序都设计到数据库,而VisualBasic本身完全可以满足数据库应用程序的设计要求。
二、VisualBasic的特点
Visualbasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序,目前较为流行的应用软件平台。
Visualbasic使我们摆脱了所有的低层消息处理。
许多消息由visualbasic自动处理了,其它的作为事件过程由编程者自行处理。
这样可以快速创建强大的应用程序而毋须处理不必要的细节。
在传统程序设计语言来设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
Visualbasic通过对事件的响应完成具体操作。
Visualbasic程序设计针对不同的对象,可由用户操作引发某个事件来驱动完成某种特定功能,又可以由来自操作系统或其他应用程序的消息触发,甚至有应用程序本身的消息触发。
这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同的。
因为事件的顺序是无法预测的,所以在代码中必须对执行的“各种状态”作一定的假设。
第2节数据库概述
数据库技术子产生以来,发展到今日已形成了坚实的理论基础和独特的数据处理技术,并获得了广泛的应用。
几乎所有的应用程序都需要存放大量的数据,并将其组织成易于读取的格式。
这种要求通常可以通过数据库管理系统(DBMS)来实现。
数据库管理系统提供了数据在数据库内存方式的管理能力,使编程人员不必像使用文件那样需要考虑数据的具体操作或数据连接关系的维护。
数据库可以被定义为一个基于某种数据模型存贮起来的,为某个特定组织的多种应用服务,并具有尽可能小的冗余度的相互关联的数据集合。
随着计算机技术的发展,数据库越来越显示出其强大的数据存储和数据管理功能。
最近几年来关系模型已经成为数据库设计事实上的标准。
据库模型是对客观事物及其联系的数据描述,即实体不管表在数据库模型的数据化。
数据模型中把描述实体的数据称为记录,把描述属性的数据称为项。
不管表在数据库文件中的物理存储方式如何,都可以把它看作一组行和列。
在关系数据库中,行被称为记录,而列则被称为字段,表是有关信息的逻辑组。
数据库可以由多个表组成,表与表之间可以用不同的方式关联。
第3节Access简介
如果想访问一个已经存在的数据库,或者想自己创建一个数据库,Access提供了非常方便的操作和强大的功能。
如果要开发中小型数据库系统,用Access数据库比较合适用,本系统就是采用Access建库。
Access实际上是一种多媒体数据库,它可以存取包括多媒体数据在内的多种类型的数据。
创建数据库的两种方法:
一种是使用“数据库向导”,用户可以在系统提供的数据类型中作出选择。
另一种是创建一个空的数据库,由用户根据自己的需要添加相应的内容。
用Access创建表有三种方式:
◎使用向导创建表:
用户根据向导提供的字段可以直接选择。
◎使用设计器创建表:
用户可以定义一个或多个字段作为主键
◎使用输入数据创建表:
可以直接输入数据创建一个新表
第二章比赛系统的设计
第1节总体设计
打字比赛系统首先进入的程序是考场选择,这一程序是为打字比赛做服务的,开启这一系统程序后,就开始打字比赛系统的登入。
登入这一部分需要校园卡号的验证,如果卡号正确,进行确定后,就进行答题了;如果卡号不正确,则继续登入正确的卡号。
在打字比赛结束后,有一答题完成了吗的程序设定,在确定后提交试卷,接着系统就会自动进行成绩分析。
图所画的就是打字比赛程序的程序流程图。
图程序流程图
本打字比赛系统共设计了三个部分,分别为数据库、应用管理与客户端。
这三个部分之间是互相通讯的,这样的设计可以确保本系统的连贯性。
下图为总体框图。
图总体框图
数据库中包括考试试题、考生名单和考生成绩三个表。
应用管理部分的功能是学生注册、考成选择与试题管理,学生注册和试题的管理都是以文本文件形式保存,在数据库中体现,分别于考生名单和考试试题相对应。
在选择考场时则通过系统服务器与数据库连接调用其中的考生名单的表,在这一表中考生已分配好考场。
客户端分为考试和评分两部分,在考试中又有登录、抽题和计时三部分,这些在下文中详细介绍。
第2节数据库建立
在数据库中有三个表,一个表是考试试题的表,内容是打字比赛的中英文试题,存在表名为MatchCfg中;一个表为考试成绩,表名为MatchDate;此表是打字结束出成绩后生成;另一个是表名为users考生名单表,存放的内容是参赛选手信息及考场安排。
首先,在表MatchCfg里有五个字段:
第一个字段名为matchID,这一字段下是编号为1和2的序号;下一个字段名为matchWords,其内容是打字比赛时的考试原文,在序号1一栏中对应的是一篇散文,对应序号2的一栏中前一部分是英文,后半部分为一篇关于思想品德方面的文章;第三个字段的段名是matchStatus,其下的内容是0和1两个序号;第四个是存放打字时间的字段,字段名是matchTime,打字时间分别是15和30分钟;最后一个字段名是matchNote,内容是将在登录界面上显示出来的五条注意事项。
图是表MatchCfg里的部分内容。
图数据库表MatchCfg
其次,在表MatchDate中有六个字段,字段名分别为cardID、loginIP、loginTime、logoutTime、typeNumber和rightNumber。
各个字段里存储的内容分别是参加比赛生的校园卡号、考生所用计算机的IP地址、比赛开始时间、比赛结束时间、比赛时输入的中英文字数以及正确的字数。
表MatchDate如图所示:
图数据库表MatchDate
最后一个表users中有四个字段,字段名分别是cardID、userNamer、userUnit和userGroup。
其相对应的内容是校园卡号、参赛选手姓名、选手所在学院和每个选手所在的场次。
数据库表users里的部分内容如图所示。
图数据库表
第3节应用管理模块的设计
本打字比赛系统中应用管理模块包含了三个功能,分别为学生注册、考场选择和试题管理。
在这一模块中着重设计了考场选择部分,设置的窗体标题为打字比赛管理软件,而试题管理和学生注册两部分并没有通过窗体来体现。
应用管理模块建立在Visual环境下的一个工程名为TMM的工程里。
一、考场选择的设计
考场选择的功能是进行考场场次选择的,这是打字比赛首先需要完成的。
共有三个考试场次供选择,场次1里有121个比赛选手,场次2有99个比赛选手,场次3有88个选手参加比赛。
在打字比赛管理软件窗体中有两个框架,框架里分别添加一个文本框。
框架标题分别为“用户列表”和“比赛状态”,在用户列表的的文本框中显示的是所选场次里的比赛选手的校园卡号、姓名和院系;比赛状态里显示的是正在参加考试的考生所使用的计算机的IP地址。
具体分布情况如图所示。
图打字比赛管理窗体
上图中的用户列表中显示的是场次2里的所有比赛选手的名单,在选定此场次后,在比赛登录时输入的校园卡号就必须为场次2里的学生校园卡号,否则将出现校园卡号错误的信息。
选择场次1和场次3时所输入的校园卡号与场次2的情况是相同的,必须与对应的场次里的校园卡号相一致。
二、试题管理和考生注册的设计
在本打字比赛系统中试题管理部分是比较简单的,没有具体的窗体对其试题进行修改、增加和删除等功能,只有一篇英文短文和两篇中文文章,都是以文本文件的形式保存,在数据库的考试试题的表中直接输入这三篇文章的内容,也就是试题内容直接在数据库表中直接修改、增加和删除就可以完成试题的管理了。
学生注册这一部分在文本文件中存储是场次2和场次3的考生信息,有对应的校园卡号、姓名和所在学院,场次1的考生信息直接添加在数据库中场次2与场次3的后面,与场次2和3不同的是用1到121个数字序号代替校园卡号、姓名和学院。
第4节客户端模块的设计
客户端模块有考试和评分两部分功能,其中的考试部分又分登录、抽题与计时三步。
客户端这一模块建立在工程名为TypeMatch的工程中,设计了四个窗体,分别为:
考试比赛开始窗体frmFlasl、比赛登录窗体frmLagoin、答题窗体frmmain、阅卷评分窗体frmMsg。
在客户端模块的程序流程中,答题与评分两部分是整个打字比赛系统中重要的环节,下图为答题和评分的流程图。
图答题与评分流程图
二、考试模块的设计
(1)考试开始窗体
考试模块中首先出现的窗体是比赛开始窗体,这一窗体的主要作用是为打字比赛开始做准备,在此界面出现后点击窗体上的任意点或按键盘上的任意键将进入考试登录界面。
考试比赛开始窗体如图所示。
图比赛开始界面
比赛开始界面需要的程序设计很少,用到的也是在VisualBasic环境中最基础的知识。
(2)登录窗体
登录是考试环节的第一步,设计的界面为比赛登录界面,窗体图如所示。
图比赛登入窗体
由图可以看到在比赛登录界面中,有一个标题为注意事项的框架,框架中有五条信息用以提醒考生考试时一些注意事项,其内容是由数据库的MatchCfgb表中调用的,它在表中的位置是第五个字段MatchNote中。
在输入校园卡号后面的文本框里输入校园卡号,再输入卡号之前需要先打开打字比赛管理软件窗体,选择好才能考试,然后才能在比赛登入窗体上输入与已选择考场里对应的校园卡号。
如果没有事先开启打字比赛管理软件窗体,启动后台服务器与数据库连接,那么在进入比赛登入窗体后,窗体中无法显示注意事项,也无法输入校园卡号,停顿一会后,就会出现如图所示的对话框,点击确定按钮后,程序就会停止运行。
图查找失败对话框
Ifstatus="timeout"ThenMsgBox"查找管理机失败"
如果输入校园卡号后出现卡号错误的对话框,说明输入的这个校园卡号是之前已经使用并确认的,也就是说这个校园卡号的考生已经答完题了,不能进行第二次考试。
这时就需要输入一个没有进行过考试的校园卡号,输入完校园卡号后会出现一个确认考号是否正确的对话框,核对完卡号正确后点击“是”按钮。
只有输入正确的和之前没有使用过的校园卡号,才可以顺利的进入到打字比赛答题系统。
如图中(a)和(b)分别是输入的校园卡号错误和校园卡号正确时的对话框。
。
(a)(b)
图卡号错误与确认
MsgBox"校园卡号输入错误",vbCritical
SendKeys"{home}+{end}"显示输入的校园卡号错误的语句
cfm=MsgBox(s&Chr(13)&Chr(10)&Chr(13)&Chr(10)&"是否正确",vbYesNo+vbDefaultButton2,"请确认")
Ifcfm=vbYesThen如果校园卡号正确则显示
strUserName=Split(s,Chr(13)&Chr(10))(0)考生姓名
strUnit=Split(s,Chr(13)&Chr(10))
(1)考生学院
(3)抽题窗体
抽题窗体亦是答题窗体,答题是打字比赛系统里的主体部分,在这里进行中英文打字比赛考试。
试题的前一部分是英文,后一部分是中文。
在这一界面上的最前面一行显示的是校园卡号、姓名、院系和需要打入多少字数,这些字数占有多少页以及目前打字进行到第几页,在下一行就是所比赛的内容。
这一部分是有若干个文本框组成,在窗体的最后一行所显示的是打字的速度和正确率,还有就是比赛所剩余的时间,最后是打字完成的确认按钮。
这样的设计可以使监考老师清楚地了解考生信息和考生自身的考试水平和剩余时间。
详细的内容如图所示的窗体图。
图答题窗体图
在考试开始时,所需要的考试内容是从Access数据库管理服务器中调用出来的,在Access数据库里存储的有考生名单和考试内容。
TypeString=strWords'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
showTextTypeString调用打字比赛管理软件
在这一管理软件中有语句与系统后台服务器相连调用数据库表中的内容,Case"GETUSERS"wskConn(Index).SendDatagetNameByID(Mid(s,9))&Chr(13)&Chr(10)&getUnitByID(Mid(s,9))调用三个数据表中相关内容
Case"GETWORDS"wskConn(Index).SendDatastrWords
Case"GETCOUNT"
wskConn(Index).SendDataCStr(Len(strWords))考试试题中试题
Case"GETTIMES"
wskConn(Index).SendDataCStr(strMatchTime)考试时间
Case"GETNOTES"
wskConn(Index).SendDataCStr(strMatchNote)答题记录
考试时,为了文字清晰,方便产赛选手的比对,中英文使用的都是同一的宽度。
Fori=1To100
WithlblInput(i-1)
'Ifi>1Then
'.Left=lblInput(i-2).Left+lblInput(i-2).Width
'.Top=lblInput(i-2).Top
'EndIf
开始打字时光标停在文章的第一个字母上,使用键盘上的方向键可以移动光标。
当文章文字显示为绿色时是当前光标的所在位置,用语句
Ifi=Mod100)+1Then
'lblText(i-1).ForeColor=vbGreen来实现。
考试时输入的文字如果是正确的,那么输出的文字显示成蓝色,相关