资源描述
真诚为您提供优质参考资料,若有不当之处,请指正。目录摘 要.IABSTRACT.II1绪论.11.1研究背景.11.2研究意义.13系统需求分析.23.1可行性分析.23.2开发环境.24系统总体设计.44.1结构设计.44.2数据流程图.55系统详细设计.75.1数据库设计.75.1.1基本的ADO编程模型.75.1.2数据库选择.75.2数据库结构图.86系统实现.106.1分模块详述系统各部分的实现方法.106.2系统需要完善的地方.16结 论.17参考文献.18在线考试系统的设计与实现摘要随着计算机技术的发展及计算机的日益普及,网络化考试已成为大势所趋。网络化考试也越来越成为各种考试的好帮手,在电子政务蓬勃发展的时候,职称考试等考试的网络化就显得尤其的重要了。本系统主要用于学生在网上进行考试。教师在网上为学生出题和抽题。学生考完试后本系统可以自动为学生判卷,并且将结果存入相应的数据库表中。教师可以利用此系统的出题功能从而为自己所讲学科的试题形成一个题库。教师还可利用此系统将从题库中抽出的题生成word文件。本文首先进行系统的需求分析,得出要建的各个系统模块。其次用Microsoft ODBC数据源管理支持下的数据库Microsoft Access建立系统运行所要的后台数据库。本考试系统具有自动出题、随机出题、自动阅卷计分、在线记时考试、用户帐户管理、批量添加考生、成绩存档等功能,它将有效的提高考试效率。在本系统的设计中,尽量做到了对其的设计达到较强的移植性,使得本系统具有一定的应用前景。 关键词:网络;网上远程考试;数据库;互联网ABSTRACTWith the development of computer technology and the growing popularity of computers, network test has become the trend of the times. Network test more and more become a good helper for various examinations, e-government in the vigorous development of the time, such as examinations and examinations of the network is particularly important. The system is mainly used for students to conduct online examinations. Teachers on the Internet for students and topics. Students will be able to automatically test the students after the test, and the results into the corresponding database table. Teachers can use this system out of the title function for their own subjects to form a test questions. Teachers can also use this system will be drawn from the question to generate the word file. This paper first carries on the system demand analysis, obtains each system module to be built. Followed by Microsoft ODBC data source management to support the database Microsoft Access to establish the system to run the required background database. This exam system has the functions of automatic questioning, random questioning, automatic scoring, online chronograph, user account management, batch addition of candidates, transcripts and other functions, it will effectively improve the efficiency of the examination. In the design of this system, as far as possible to achieve its design to achieve a strong portability, making the system has a certain application prospects.Keywords: network; online remote examination; database; internet23 / 231绪论1.1研究背景目前,计算机技术与网络技术飞速发展,传统的教育模式和考试模式受到了严重的挑战。现在很多国家和地区的大学和社会都开设了远程教育,通过计算机网络实现异地教育和培训。学生们足不出户,在家里就通过上网就可以完成听老师讲教课,向老师提出问题,老师回答问题,交作业,考试等等,就仿佛把学校搬回了家一样。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。1.2研究意义在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的网上远程考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。网上远程考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!3系统需求分析3.1可行性分析可行性研究就是预开发软件系统的总体目标,给出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。下面从四个方面分析本系统的可行性:(1)技术可行性本网站采用Microsoft Access 2003进行后台数据库的管理、操作和维护,用MacromediaDreamweaverMX2004 和HTML、ASP进行前台界面设计、与后台数据库的接口、数据的录入、查询、浏览等功能。根据ASP的特点与DreamweaverMX2004强大的方便快捷的开发工具,以及他们当前的广泛实际应用,充分说明本网站在技术方面可行。(2)经济可行性经济可行性分析(能否赢利)是,从经济的角度分析网站系统的规划方案有无实现的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。经济上的可行性是企业行为的基础。由于网上远程考试系统的开发设计是为完成毕业设计任务而进行的,所以不存在赢利问题。所在此也就不讨论经济可行性问题。(3)开发环境可行性网站开发需要的开发环境需要装有windows98系统以上的电脑上运行,这样的配置在当今已经不能成为难题,而服务器方面,只需要一台安装了IIS(Internet Information Services)服务的计算机即可。所以开发环境可行性是没有任何问题的。3.2开发环境考试系统开发环境如下:(1)硬件配置环境:CPU 1.5GHZ、内存 256MDDR、硬盘:36G(2)操作系统:MicrosoftWindows xp sp2(3)Web服务器: IIS 5.1是windows xp中自带的Internet信息服务组件。(4)数据库:开发过程中数据库工具采用了Access2003。因为IIS默认支持Access数据库,这样在变更编程所用的计算机时不用重新设置,且Access使用起来比较方便、符合web服务器对数据库的要求。(5)编码工具:采用Macromedia DreamweaverMX2004编写VBScript和JavaScript来实现ASP动态网页的编码,同时也用它来设计网页前台的框架(6)美化工具: Photoshop 9.0是图片处理比较方便的工具,可以用来在网页中添加图片,使系统界面更加美观、友好。4系统总体设计4.1结构设计在网上远程考试系统的设计和实现过程中,为了使系统便于管理和安全,在网上远程考试系统中编辑设计了管理员登录,管理员具有最高权限,他可以向网上远程考试系统增加和删除教师和学生。教师和学生要想使用网上远程考试系统必须先登录。教师登录后,可以修改自己的登录密码;为学生的考试出题,并且形成题库;为学生将要进行的考试在题库中抽题;对试题进行修改;对试题进行按要求的查询;将考试的试题生成word文件。学生登录后可以选择自己考试的课程;删除考过的课程;按照考试课程的名称,课程的编号和时间选择考试;查看自己的分数;查询自已考过课程的试卷。网上远程考试系统的设计思想把整个系统分成管理员登陆、教师登陆、学生登陆三个模块。具体分别如下所示:图4.1 系统的结构图管理员登陆分为管理员密码修改、教师注册、学生注册。管理员密码修改可以修改管理员的基本信息,而教师注册和学生注册可以帮助其获得用户名和密码,进而登陆到各自的模块中。4.2数据流程图图4.2 管理员登陆模块流程图图4.3教师登陆模块流程图图4.4 学生登陆模块流程图5系统详细设计5.1数据库设计5.1.1基本的ADO编程模型ActiveX数据对象作为微软公司数据库接口的组成部分,其定义了一组 COM (通用对象模型)对象,用以操作不同的数据源的数据。ADO 为不同的数据类型提供了一个非常通用的接口,而你则不用也没必要去管这些接口究竟是在单机还是分布在网络中。因为,在 ADO 中使用的是 COM 对象,是它们很容易在众多的编程环境中使用,包括:VB,Visual C,甚至 Java Script 。本系统是采用 C来实现的,而在 C中使用 ADO 比在 Visual C 中使用 ADO 对象要简单的多。5.1.2数据库选择现在,世界上绝大数的数据库都采用关系模型,至于关系模型的优点,以及概念、完整性约束等内容,由于本文不是专门研究数据库的,这里就不进行详细的讨论了,只需知道这里的数据库也是关系数据库。目前,主流的数据库系统主要有 Oracle ,Microsoft SQL Server 2000 ,Sybase ,Microsoft Access ,Informix ,IBM 的 DB2等。由于ADO是微软公司的产品,因此它主要支持 Microsoft SQL Server 2000 和 Microsoft Access 两种产品。Microsoft SQL Server 2000 是一种专门的大型数据库系统,提供完全的数据库操作;Microsoft Access 只是 Microsoft Office 附属的,提供一般的数据库操作。而本系统所涉及的数据库内只含有一张表,所执行的工作也只是一般的增加、查询、删除和修改等操作,为了简单易行,所以选择了 Microsoft Access 来设计数据库。当然,考虑到网上系统是比较大型的系统,大多数要采用 Microsoft SQL Server 2000来设计数据库;而 Microsoft Access 和 Microsoft SQL Server 2000 都是微软公司的产品,使用 ADO 编程时较容易互相转换(只需修改名空间和函数前几个字母,而实现方法基本上都一样)。因此,虽然本文选择 Microsoft Access 设计的数据库,若以后转换为 Microsoft SQL Server 2000 所实现的数据库,也无需进行较大改动。5.2数据库结构图图5.1 系统信息E-R图数据库结构表利用Microsoft Access 创建数据库,库文件名为WebTest.mdb根据以上数据项和数据结构,及其ER图,数据库包含如下几个表文件:(1)学生信息如表4.1所示:表5.1 学生信息表字段名称数据类型字段大小学生学号文本8学生姓名文本10学生密码文本8(2)学生课程信息如表4.2所示:表5.2 学生课程信息表字段名称数据类型字段大小学生学号文本8学生姓名文本10学科编号文本8考试学科文本50考试时间日期长日期分数数字双精度型(3)学生项目信息如表4.3所示:表5.3 学生项目信息表字段名称数据类型字段大小学生学号文本8课程编号文本8所学课程文本50(4)学生考试信息如表4.4所示:表5.4 学生考试信息表字段名称数据类型字段大小学生学号文本8学生姓名文本10学科编号文本8考试学科文本50考试时间日期长日期题号数字长整型题型文本50答案备注分数数字双精度型(5)管理员信息如表4.5所示:表5.5 管理员信息表字段名称数据类型字段大小管理员姓名文本50密码文本506系统实现6.1分模块详述系统各部分的实现方法(1)教师出题模块的实现方法单选题和多选题出题的实现方法是,主要采用框架页面,左页面用于设置试题的一些参数,它们是章节,难度,分数,答案个数。右页面用于对试题的一些具体情况进行操作,它们是单选题和多选题试题的题目,A,B,CJ的选择题选择的答案。用SQL语句中的INSERT INTO插入语句将输入的数据插入到数据库中。示例图如下所示:图6.1 教师出题模块图问答题和判断题出题的实现方法是,在网页中分别设置了两个用单行文本框,用于输入试题的章节和分数;设置了一个多行文本框用于输入判断题的题目;一个多选按钮框用于输入判断题的对错。用SQL语句中的INSERT INTO插入语句将输入的数据插入到数据库中。示例图如下所示:图6.2教师出题模块图(2)修改试题模块的实现方法修改试题的实现方法是,采用框架页面,左页面设置了一个下拉菜单,用于选择题型;设置了一个单行文本框,用于输入题号;设置了两个按钮,一个是确定按钮,一个是重写按钮。右页面用于试题的修改。主要采用循环语句将试题的各种信息用单行文本框显示出来,教师可以在单行文本框中对试题进行各种修改。用SQL语句中的update语句将修改后的数据更新到数据库中。示例图如下所示:图6.3 教师修改试题模块图(3)查询试题模块的实现方法查询试题的实现方法是,也采用了框架页面,左页面设置了一个下拉菜单,用于选择题型;设置了一个单行文本框,用于输入题目的关键字;设置了两个按钮,一个是确定按钮,一个是重写按钮。右页面用于显示查询的结果,编辑了一个out_table_t_f.fun函数,用于显示查询的结果。示例图如下所示:图6.4 教师试题查询模块图(4)教师抽题模块的实现方法教师抽题的实现方法是,也采用了框架页面,左页面设置了一个单行文本框,用于输入考试的时间;设置了四个单选按钮,用于选择题型;设置了一个确定按钮。右页面用于显示要抽的题目有关信息。每道题前设置了一个多选框,用于选择题目。示例图如下所示:图6.5 教师抽题模块图(5)试卷生成模块的实现方法试卷生成的实现方法是,在一个单独的页面中设置了三个下拉菜单,分别用于教师选择将要考试的学科编号,学科名称和考试时间;设置了一个确定按钮,一个重写按钮和一个信息查看按钮。选择信息后点击确定按钮程序利用post提交表单的方法将数据提交到teacher_paper_word.asp网页,teacher_paper_word.asp网页利用代码将网页与word文件形式保存显示出来。示例图如下所示:图6.6 试卷生成模块图(6)教师判卷模块的实现方法教师判卷的实现方法是,同样采用了框架页面,左页面设置了四个下拉菜单,分别用于教师选择考试时间,学科编号,考试学科,学生学号;还设置了一个确定按钮。在右页面中用循环语句,以表格的形式将学生回答的问答题显示出来,每道的后面设置了一个单行文本框,用于教师为这道题打分。示例图如下所示:图6.7 教师判卷模块图(7)资源共享模块的实现方法资源共享的实现方法是,同样采用了框架页面,左页面设置了两个下拉菜单,分别用于选择学科和选择题型;设置了一个单行文本框,用于输入题目的关键字;设置了两个按钮,一个是确定按钮,一个是重写按钮。右页面用于显示输出查询结果,采用分页显示的方法。示例图如下所示:图6.8 资源共享模块图(8)学生选课学生删课模块的实现方法学生选课学生删课的实现方法是,利用sql语句的select命令查找出数据库表中所有不重复课程的名称。再利用ASP对象中的recordset对象和循环语句将数据库中的课程在网页中显示出来,在每个课程名前加一个多选框,用于选择课程。示例图如下所示:图6.9 学生选课学生删课模块图以上这部分代码的功能是,利用ASP对象中的recordset对象和循环语句将数据库中的课程在网页中显示出来,在每个课程名前加一个多选框,用于选择课程。(9)学生考试模块的实现方法学生考试的实现方法是,这是编辑和设计网上远程考试系统的重点。由于要求每个学生在考试的时候都要使用一份考试试题,而且每个学生抽的试题的题目的顺序都要求不一样,并且每个学生的选择题的a,b,c,d的顺序也要求不一样。所以在设计时采用了随机数的方法,由于随机函数在产生随机数的时候会有重复,所以在程序中编辑设计了一个使随机函数不产生重复数字的小函数来解决这个问题。示例图如下所示:图6.10 学生考试模块图(10)查询试卷模块的实现方法查询试卷的实现方法是,利用sql语句中的select语句结合where条件在数据库表中找出符合条件的数据,也就是找出当前学生所选择的考试学科的有关信息,将它们显示出来。示例图如下所示:图6.11 查询试卷模块图6.2系统需要完善的地方(1)在表格的设计方面还有些不足,在数据多的时候,数据在表格中就会挤到一起,这是需要改进的。(2)在选择数据库后台方面还有些不足的地方,由于计算机配置所限,只能采用Access数据库,Access数据库只能应用于小型的数据量,所以这是需要改进的。(3)在网上远程考试系统的考试功能方面还有些不足的地方,现在只能进行单选题,多选题,判断题和问答题的考试。而不能进行填空题,画图题,连线题的一些考试,所以这是需要改进的。(4)没有实现学生考试的时间控制功能,也就是在考试时间到时系统自动提交试卷。这方面是系统不足的地方,所以这是需要改进的。结论网络的飞速发展,必将给人类的生活带来方便,它表现在方方面面,网上教学为人们学习提供了很好的网上环境。现今,各种教学机构都在WWW上提供了网上远程考试系统。在毕业设计中,我研究了如今WWW上的各种技术,走访了WWW上许多网上教学站点,总结了网上远程考试系统应具备的主要功能,查阅了许多有关开发远程考试系统中的技术问题的资料,并与同学交流来掌握ASP技术。同时在动手实践过程中,通过一些算法的实现,使的我的编程能力有了一定的进步,数据结构的知识也有了一定的巩固,面向对象的思想和编程思想在头脑中也初步形成了。参考文献1海洋,张薇娟. 基于Web的远程考试系统的设计与实现J. 科技信息,2010,03:449+456. 2李桂香,胡海清. 基于JSP的网上远程考试系统的设计与实现J. 中国教育信息化,2010,03:36-37. 3刘延岭. 成人教育远程学习与考试系统的设计与实现J. 继续教育,2010,07:39-40. 4董春燕. 基于Web的远程考试系统的设计与实现J. 成都大学学报(教育科学版),2008,06:33-35. 5乔维德. 基于BS/和CS/结构相结合的网上远程考试系统的设计与实现J. 天津电大学报,2006,04:31-33. 6李响,谭前进,林和平,刘丁慧. 基于远程过程调用的智能化远程考试系统的设计与实现J. 航空计算技术,2007,01:68-72. 7周奇峰. 基于A技术的网上远程考试系统的设计与实现J. 九江职业技术学院学报,2007,02:26-29. 8张亚昕. 基于J2EE网上远程考试系统的设计与实现J. 电子设计工程,2013,03:40-42. 9张惠茹. 学生网上远程考试系统的设计与实现J. 微型机与应用,2013,04:6-8. 10易著梁. 大规模网上远程考试系统的设计与实现J. 南宁职业技术学院学报,2013,02:41-45+1.
展开阅读全文