基于ASP的信息技术考试系统的简单实现
2012-11-20
(桐乡市实验小学教育集团凤鸣小学,浙江桐乡 314500)
信息技术教学中要客观、全面地评价学生的学业,免不了对学生进行考查。身处信息时代的你如果还停留在传统的纸笔方式进行考试,是不是有点out了。不妨给学生进行一次“无纸化”的特殊考试,为你繁琐的学生学业评价工作减减压。
说起ASP(Active Server Pages),相信大家并不陌生,它是微软公司开发的一个Web服务器端的开发环境,利用它可以产生和执行动态、互动、高性能的Web服务应用程序。但想到编写代码很多人就会望而生畏,其实ASP简单易用,支持VBScript和JavaScript脚本语言编写,寥寥几行代码省下的将是你繁重的劳动。
一、设计思路
系统采用Browser/Server模式,服务器端选用Windows Server 2003 IIS 6.0作为ASP的运行环境,数据库采用微软Access 2003。系统在设计时遵循实用性原则,根据考试流程(如图1)将功能模块分为登录模块、答题模块、交卷模块,三个模块紧密联系构成一个有机的整体。
(一)登录模块
学生填写班级、姓名、学号等信息登录考试,系统验证信息是否填写完整;同时,验证该学生是否已经参加过考试,防止重复登录。
(二)答题模块
学生进入答题页面,完成答题;提交答卷后,系统验证答题是否完整,避免学生漏题。
(三)交卷模块
对学生提交的答案进行评判,并将学生考试成绩及学生班级、姓名、学号等信息添加到数据库。
二、实现技术
(一)数据库的设计
利用Access2003建立一个数据库 TestDb.mdb,其中,包含 2个表,分别为Question表和Student表。
(1)Question表用来存放试题信息,该表包含如下字段:id(自动编号)、q_score(分值)、q_key(答案)(如表1)。
图1 系统流程图
表1 Question表
(2)Student表用来存放学生信息,该表包含如下字段:id(自动编号)、s_class(班级)、s_name(姓名)、s_number(学号)、s_score(成绩)(如表2)。
表2 Student表
数据库的访问采用ASP与ADO(ActiveXData Object)技术,系统中涉及的主要数据库操作语句如下。
(1)连接数据库。建立ADO的Connection对象,连接支持数据库类型的ODBC驱动程序;并使用该对象打开要查询的数据库。语法格式为:
Conn.Open是数据库操作最基本的语句,在执行insert into、select语句之前必须加上上述连接数据库代码。
(2)添加记录。向指定表指定列中插入数据,语法格式为:
INSERT INTO Table_name(列 1,列 2,…)VALUES(值 1,值 2,…)
(3)数据查询。指定表中取出符合条件的指定列的数据,语法格式为:
SELECT SELECT_LIST FROM Table_name[WHERE condition]
(二)试卷的编制
系统没有设计独立的出题模块,而是借助网页制作软件(如:Dreamweaver、FrontPage)编制独立的试卷文件Question.html。再使用“<选--#include file=″question.html″-->”语句将试卷文件包含到答题模块中。
1.试题编写
由于试卷允许学生进行交互答题,因此试题中需要添加允许用户输入信息的表单元素。通过灵活运用文本域、列表框,可以设计填空、判断、选择、匹配等多种题型(如表3)。
表3 试题举例
题型 题目 答案 表单元素应用A说出鼠标的各部分名称。C匹配题列表框(多个)B左键<select name=″q4″><option value=″″>< /option><option value=″A″>A </option><option value=″B″>B </option><option value=″C″>C </option>< /select>滚轮<select name=″q5″><option value=″″>< /option><option value=″A″>A </option><option value=″B″>B </option><option value=″C″>C </option>< /select>右键<select name=″q6″><option value=″″>< /option><option value=″A″>A </option>
2.表单元素属性设置
为了在试卷批阅时方便地获取学生的答案,试卷中表单元素的name属性必须唯一,并且需要按一定的规律依次命名,如表3中采用的是“q1、q2、q3、q4……”这种形式。
除填空题不需要设置表单元素的value属性外,其它题型在编写时,还需要将表单元素的value属性设置成备选答案。
(三)自动阅卷并保存
应用数据查询语句Select依次读取Question表中的试题答案与分值,同时利用ASP内置对象Request依次获取表单元属的值。将学生提交的答案与标准答案逐一进行比对,如果答案正确得分加上该题目的分值,答案不正确不加分。试卷批阅完毕将学生班级、姓名、学号、得分等信息添加到Student表。功能实现代码如下:
(四)提交信息的验证
为了保证学生提交信息的完整性、防止重复提交,需要建立对信息进行验证的机制。系统使用JavaScript脚本语言在客户端对表单进行验证,使用VBScript脚本语言在服务器端对获取的信息进行验证。功能实现代码如下:
1.验证学生填写姓名、学号信息是否完整
2.验证学生答题是否完整
3.验证学生是否已经参加过考试
三、应用与扩展
根据试卷编制方法,按需求修改试卷文件中的内容;同时,将试题的答案、分值按顺序录入到Question表中。完成上述步骤后就可以给学生考试了。
当然本文介绍的只是一个功能简单的信息技术考试系统,还有许多功能有待完善,如成绩查询功能、答案录入功能等,有兴趣和余力的教师可在本文基础上进一步扩展功能。
[1] 百度百科.asp[DB/OL].http://baike.baidu.com/view/2616.htm
[2]郭冬梅.基于Web的网络考试系统设计与实现[J].电脑开发与应用,2011.
[3]李志敏,毕芳芳.网络考试系统的制作[J].电脑学习,2011.
[4]周峰,徐晓军,李德路.ASP开发技术原理与实践教程[M].北京:电子工业出版社,2007.
[5]袁理.ASP完全自学手册[M].北京:机械工业出版社,2007.