陈奋
(厦门城市职业学院 工程技术学部,福建 厦门 361008)
基于W eb的在线考试系统的设计与实现
陈奋
(厦门城市职业学院 工程技术学部,福建 厦门 361008)
随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,网络考试系统是网络教育的重要组成部分,开发网上考试管理系统,为学生个性化学习提供灵活、方便、科学的学习服务手段已成必然。本文从网络教学的实际需求出发,研究基于W eb的在线考试系统模型,分别从系统需求分析、模块设计、数据库设计和系统实现的主要技术来阐述,通过多次考试和练习实践验证,系统达到了设计的目标,大大提高了工作效率。
Web;在线考试;B/S结构
随着教育技术的不断发展,计算机网络考试的推行势在必行。其一方面可以使当前相当急迫的人与资源的矛盾得到高效、合理的解决;另一方面又实现了教学工作的信息化,符合当今社会发展的方向,并为以后的改进和发展提供了余地。计算机网络化考试,为各种教育模式的考试及技能培训的考核提供了标准化的考试环境。这是教育技术改革的发展趋势,也是实现科学化决策的重要工具之一。相对于传统的纸张考试模式,计算机网络考试平台具备公正、安全、高效的特点,题库系统的建设和自动组卷、阅卷系统的创建很大程度上减轻了考试各环节的工作强度。笔者作为一位从事高等职业教育的教师,在教学的过程当中,经过不断的摸索和实验,就如何设计并实现一个合理、方便、高效的在线考试系统作一个详细的介绍,现供大家参考。
1.系统体系结构
在线考试系统采用的是B/S架构。B/S架构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户接口完全借助WWW浏览器来实现,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的工作量。
2.需求分析
需求分析是数据库系统开发中最重要的一步,本人在开发在线考试系统之前也做了较为详细的需求分析,需求分析做的好坏直接决定了系统性能的好坏,起到了决策性、方向性、策略性的作用,对在线考试系统所做的需求分析如下:
(1)在线考试系统需要不同管理权限的人员,不同管理权限的人员进入的系统界面不同,在此系统中分成了学生、教师、超级管理员三种不同的界面。
(2)无论是谁,要进入系统都需进行密码验证,进入系统后都可以修改自己的密码。
(3)所有的考试科目题型分为客观题和主观题。客观题为选择题,题目由电脑随机抽取,提交后马上出成绩;主观题为问答题、操作题等,题目由教师上传供学生下载。
(4)考试之前,超级管理员应导入学生个人信息,导入教师个人信息。
(5)有了学生和教师的信息后,教师可以登录系统并设置考试的详细信息,如考试科目、考试编号、考试时间、客观题题量,并上传主观题文件等。
(6)教师设置考试信息后,学生便可以登录系统并查看到此次考试的所有信息。若有客观题,则自动随机生成相应题量的客观题;若有主观题,则可以下载主观题文件。
(7)学生作答客观题的过程中能自动保存作答结果,提交后则无法再进行修改;主观题部分,学生作答完毕后,应把作答的结果打包成一个RAR的文件进行提交,提交后也无法再进行修改。
(8)在考试的过程中,教师界面和学生界面均要有倒计时显示,系统有15分钟的剩余时间提醒,考试时间一到,学生则无法进行任何操作;若有必要延长考试时间的话,则教师可以更改考试时间。
(9)在考试的过程中,为了防止作弊的发生,学生一旦登录系统后,教师应该马上得到此次考试所有学生登录的信息,包括每个学生所用电脑的Mac地址。此时,若学生想要更换电脑则应征得教师的同意并进行登录信息的修改,否则无法更换电脑继续考试;即使“学生甲”知道“学生乙”的用户名和密码,也应保证“学生甲”无法登录“学生乙”的账号。
(10)学生提交考试结果后,教师便马上得到学生的考试结果。客观题部分,教师可以得到已提交了客观题的学生的成绩并显示客观题作答明细;主观题部分,教师可以下载已提交了主观题的学生所提交的RAR文件,此RAR文件统一按“学号姓名_考试编号”格式命名。
(11)教师可以把所有提交的结果导出到Word或者Excel格式的文件。
(12)为了能够有更好的用户界面体验,系统需使用AJAX技术。
(13)系统运行在 Windows Server 2003(或者 XP)+IIS+SQL Server(或者 Access)+.NET Framework2.0,要有一个较好的图形用户界面,操作方便简单。
根据以上的分析,设计出的系统流程如图1所示:
由图1可知,首先超管管理学生、教师的信息,包括导入、删除、修改、增加、查询;设置完成后,接下来教师(即监考老师)设定考试信息,包括设定考试编号、科目、题量、上传主观题、考试时间等等;设定完毕,学生方可登录系统进入考试页面开始考试,考试期间学生可自行提交考试结果,若考试时间到,则计算机自动提交考试结果并完成阅卷得出客观题成绩;经过人工阅卷得出的主观题成绩和客观题成绩合并,最后导出考试结果。
3.系统模块设计
根据上述的需求分析,本系统主要采用VS2005+SQL Server 2005+AJAX+Photoshop等技术和工具,采用B/S模式,系统模块是由超级管理员模块、学生模块和教师模块等三个功能模块组成,如图2所示,下面对系统的几个主要部分的实现进行介绍。
(1)题库信息管理
题库信息管理是教师模块的核心,包括客观题的导入、录入、试题修改、删除等,由教师来做,增加系统的安全性,题库支持所有常见题型:单选、多选和判断。
(2)考试信息管理
考试信息管理主要是设置考试的相关信息,包括添加考试编号、考试科目、客观题、主观题、考试时间、考试班级等。
(3)考试结果管理
考试结果管理让教师能够实时动态地得到当前考试学生的登录信息,包括学生的用户名、姓名、登录时间、所用计算机的Mac地址、客观题提交状态、主观题提交状态、客观题成绩、主观题成绩、总成绩等,可以对学生的登录信息进行批量删除,考试时间一到则自动提交客观题并可以把考试结果信息导出到Word或者Excel。
(4)学生登录验证
学生登录验证是本系统的核心部分,当学生所输入的用户名和密码都正确后即可成功登录考试界面,一旦成功登录系统则在教师端页面会详细记录学生的登录信息,其中包括学生所使用计算机的Mac地址,Mac地址即计算机的网卡物理地址,此地址是无法更改的,全世界独一无二的,在考试的过程当中,利用Mac地址,若学生想要换机器考试则必须报告教师,经教师的允许并删除学生的登录信息才能换机器,而且所换的机器也不能是其他学生登录过的,这样就保证了一人固定一台机器进行考试,为了防止作弊,学生“张三”即使知道学生“李四”的用户名和密码,通过记录Mac地址也是无法登录“李四”的帐号来获取“李四”的作答。
(5)学生在线考试
一旦学生成功登录系统,则进入考试页面。若有客观题则自动会在页面的客观题区域显示题目,这些题目是由教师考试之前事先设置好参数随机得到的,体现了考试的客观性;若有主观题则可在主观题区域下载教师已上传的主观题。
考试页面会实时动态显示考试剩余时间,剩余15分钟则会提醒学生,考试时间一到则自动提交客观题至服务器并把客观题信息显示在教师页面。
客观题作答时,每做完一题则系统会自动保存作答结果,避免了意外的页面刷新或者页面关闭而导致的作答丢失。
主观题部分,学生下载主观题到本地机器,作答完毕,把作答结果的所有文件压缩成一个包上传服务器即可。
4.数据库设计
本系统采用SQL Server 2005进行具体的数据库设计,经过详细的系统分析,得出几个主要的表格的设计。
(1)用户信息表:用户号、用户名、密码、用户类型;
(2)考生成绩表:ID、考试编号、学号、姓名、班级、登录时间、Mac地址、文件名、文件大小、文件类型、客观题成绩、客观题状态、主观题成绩、主观题状态、总成绩;
(3)考试信息表:考试编号、科目、单选题、多选题、判断题、主观题、考试时间、班级、教师号、姓名;
(4)考生答卷信息表:ID、题号、用户名、姓名、题目、选项A、选项B、选项C、选项D、答案、分值、题目类型、科目、考试编号、日期;
(5)试题表:ID、题目编号、题目、选项 A、选项 B、选项C、选项D、答案、分值、试题类型、知识点编号、难易度、科目。
1.Web.Config配置文件的设计
Web.Config文件是一个XML文件,用来储存ASP.NET中Web应用程序的配置信息。默认情况下会在根目录自动创建一个默认的Web.Config文件,包括默认的设置。此文件是可以扩展的,可以自定义新配置参数并编写配置节处理程序以进行处理,本系统的数据库连接字符串就保存在此文件中,增加了系统的安全性。
SQL Server 2005数据库的连接参数在Web.Config中设置如下:
2.通用类
为了提高代码的重用性,有利于代码的维护,系统将把经常使用的代码单独做成公共类,主要提供系统共用的函数。如建立数据库连接,返回DataTable,返回DataReader,用于执行SQL语句的类以完成对数据库中数据进行添加、修改、删除等功能。
由于本系统会频繁用到数据库,所以把有关数据库的操作写成一个类clsDB,保存在站点根目录下的App_Code文件夹下,主要代码如下:[1]
3.页面布局设计
系统按用户类型来划分为:学生、教师和超级管理员,为了区分不同用户类型的页面,本系统页面主色调分别设计为:蓝、红、绿,页面布局利用DIV+CSS的技术。
4.AJAX 技术
为了能够让用户有良好的界面体验,本系统采用了AJAX技术。AJAX(Asynchronous Javascript And XML,即异步Javascript与XML)技术采用异步交互的方式,它可以只向服务器发送并且取回必需的数据,并在客户端采用Javascript处理来自服务器的响应,具有局部刷新页面的功能。这样在服务器和浏览器之间交换的数据量就会大量地减少,并且很多的处理工作都可以在发出请求的客户端机器上完成,因此Web服务器的处理时间也相应地减少了。
本系统中大部分页面都使用了AJAX技术,如在教师页面查看学生的登录和提交信息时,页面中加入了Timer控件,只让GridView控件一秒刷新一次,而页面的其他元素不刷新,这样既能实时动态地看到学生登录和提交的信息,又不导致刷屏而影响视觉效果。
5.获取计算机网卡的Mac地址
为了防止学生作弊,利用学生登录成功所记录下的Mac地址,使得一人固定一台计算机进行考试,那如何获取每台计算机的Mac地址呢?具体代码如下:
6.添加考试倒计时
为了让学生和教师很直观地知道考试的剩余时间,本系统利用Javascript技术来设计考试倒计时,在学生页面和教师页面都添加了考试倒计时,当离考试结束时间还有15分钟时会自动提醒学生,考试结束时间一到则自动提交客观题并退出考试页面,学生无法再进入考试页面,限于篇幅,略去代码。
7.将GridView控件数据导出到Excel或者W ord
考试结束后教师需要把有关的考试结果信息导出到Excel或者Word进行打印存档,限于篇幅,略去代码。
8.主观题信息的存放目录
本系统把每次的考试都分为客观题和主观题,学生所提交的客观题的所有信息都存放在数据库中,主观题的题目则是考前由教师上传至服务器,考试开始学生可下载题目至本地机器进行考试,考试结束前学生必须把主观题作答结果的所有文件压缩成一个包上传至服务器,系统把文件包的相关信息(如文件名、文件类型、文件大小、上传者等)存放至数据库,而文件包的具体内容在服务器的硬盘里是如何管理呢?
为了便于在服务器硬盘中管理主观题题目和主观题作答结果,系统是这样处理的:在站点的根目录下建立一文件夹uploadfiles,在此文件夹下建立文件夹question和文件夹result,考试前教师一旦成功上传题目至服务器,都会在question文件夹下建立一个以本次考试编号(考试编号命名规则:科目+当前服务器的年月日时分秒)命名的文件夹,然后把主观题题目文件存放在这个文件夹下。当学生完成主观题作答上传文件包至服务器后,都会在服务器的result文件夹下建立一个以本次考试编号命名的文件夹 (若已存在此考试编号文件夹,则无需再建立文件夹),然后把学生提交的文件包(文件包命名规则:学号+姓名+考试编号)存放在这个文件夹下。
本系统操作方便,页面简洁美观,试题类型多样化,评分方式统一,安全性高,提高了管理人员的工作效率和管理水平,同时大大减少了作弊的发生。本系统除了用于考试之外,也适用于平时教学的小测验、布置作业和提交作业,经过多位教师多次考试的验证,系统达到了设计的目标,大大提高了工作效率。
[1]王建华.ASP.NET2.0动态网站开发[M].北京:电子工业出版社,2007.
(编辑:金冉)
TP311.52
B
1673-8454(2011)05-0045-05