试论远程教育网络考试系统的数据库开发

2010-04-12 22:17□白
山西广播电视大学学报 2010年2期
关键词:数据源语句管理员

□白 伟

( 太原理工大学计算机与软件学院,山西 太原 030024)

远程教育包括教务、教学、作业、考试等环节。考试作为体现学习成果的重要标志是其中重要一环。目前远程教育考试大都采用笔试,组织考试要经过出题、印刷、机要配送、考试、阅卷、成绩评估和试卷分析七个步骤。随着远程教育课程教学模式改革的深入,考试类型的增加及考试要求的提高,教师工作量越来越大,频繁组织考试会极大地分散教师的教学精力。尤其基层学校迫切需要操作简单、成本低廉、安全性高的考试方式。

一 、系统分析

网上考试是现阶段远程教育考试方向思考的一个热点。本系统以互联网为基础,采用C/S结构体系,客户端配置简单,考试基本不受软硬件局限,不需要很多系统维护工作。考试系统中题目编辑、试卷提交、试题批阅、成绩分析等都可以自动完成。只要制作一套成熟的题库并配套完善的安全机制就可以实现考试的自动化。

笔者结合现行考试模式,为本系统制订了详细的业务流程:首先由教学处制订学期开设课程并制作网考课程表下达到各学院,学院通知课程责任教师通过试题制作系统编辑、上传试题资源,上传后的试题由各专业责任教师审核后方可导入试题库成为正式的备用试题。在期末考试前由教学处通过试题系统自动生成AB两套试卷并修改状态为“启用”,导入考试服务器后就可以进行考试了。考试完成后试题通过“主客观题目阅卷系统”自动生成成绩由教学处统一登分,并就考试成绩自动生成“成绩分析数据图”。至此整个考试组织顺利完成。

二、数据库设计

用SQL建立数据库文件,存储试题及用户的验证信息。管理员登陆提示输入验证信息,输入后,通过sql语言查询administrator表,判断管理员是否合法,如不合法,提示错误信息,通过后进入考试系统。管理员进入后可对test 表内容进行添加、查询和删除。学生登录需要通过姓名和学号查询employee表,如用户合法,由服务器抽取试题并显示到考生屏幕上,否则无法登录。试题的抽取又需要通过subject表,抽取题库中某一科所对应的试题。试题提交后,系统自动评分,显示成绩并将学生姓名和成绩存入user表。在提取用户端信息以及反馈信息时使用ASP内置对象。说明如下:Request对象:可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。系统通过REQUEST获取用户输入的用户名和密码。代码为:REQUEST.FORM(“username”)和REQUEST.FORM(“password”)。Response对象:可使用Response对象控制发送用户信息。包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置 Cookie值。本系统通过RESPONSE将成绩反馈给用户。RESPONSE.WRITE“你的成绩是”&score。用于数据库访问可以进行查找、插入、删除等操作。对数据库的查找用SQL的select命令,插入用insert命令,删除用delete命令。存取数据库的具体步骤是:首先确定数据源,然后打开或连接数据库,并执行响应的操作,完毕后关闭数据库。connection对象负责打开或连接数据库,recordset负责存取数据表,execute负责执行SQL命令。设定数据源的方法是:打开控制面板,双击“ODBC”;在“系统 DSN”下选“添加”,选出预先设好的数据库种类、名称和位置。这里要用到的是access数据库,数据源名称为stry_exercise,主数据库名称stry_exercise.mdb。打开或连接数据库的方法是:先用Server.CreatObject取得对象“ADODB.Connection”的一个实例,然后用“Open”打开待访问的数据库: Set Conn=Server.CreatObject (“ADODB.Connection”) Conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & Server.MapPath(“stry_exercise.mdb”)然后执行SQL命令,对数据库进行操作,这里要使用Execute命令:set rs=server.createobject(“adodb.recordset”)

sql=“select * from test”

set rs=conn.execute(sql)

三、系统实现

管理员登录:系统管理员须通过身份验证,数据库查询后有此记录方可进入。查询语句为:set rs=conn.execute(“select * from administrator where username=‘& username &’”)。

试题管理:管理员有权对数据库试题进行编辑,添加试题语句为:sql=“insertintotest(question,a,b,c,d,ans)values(‘&question&’,‘&a&’,‘&b&’,‘&c&’,‘&d&’,‘&ans&’)”rs1.Open sql,conn,1,1。删除试题语句为:id1=request(“id”)sql =“DELETE FROM test WHERE id=”+id1rs.Open sql,conn,1,1。查询试题语句为:sql=“select 1 *from test where id like‘ &id&’” 。

学生答题:学生通过姓名和学号登录系统考试,规定时间内完成试题并提交。登录数据库的语句为:set rs=conn.execute(“select * from employee where name=‘& uname & ’ and number=‘& num & ’”)学生进入答题界面后计时器自动开始计时,进行时间控制,当时间到达指定值时系统会弹出提示框,提示时间将到。

批阅试卷并给出成绩:学生提交后,系统打开数据库,比对正确答案,自动给出成绩。语句为:<%sql=“select *from test” rs.open sql,conn,3,3 dim score rsCount=0 ycorrect=0 Response.Write 正确答案:“Do while not rs.eof Response.Write rs(“ans”) rsCount=rsCount + 1 if Request.Form(rsCount)=rs(“ans”) then ycorrect=ycorrect + 1 end if rs.movenext loop Response.Write”
你的答案:“score=int(ycorrect/rscount*100) for i=1 to Request.Form.Count - 1 Response.Write Request.Form(i) next Response.Write“
” Response.Write ”你的成绩:“&score if score <= 60 then Response.Write”你不及格!“&”
“ if score >= 60 and score <= 80 then Response.Write ”及格“&”
“ if score >= 80 and score <= 100 then Response.Write "优秀!”%>

本系统实现了用户注册、授权、题库编辑、生成试题、在线考试、时间控制、自动判卷、试卷分析等功能。但仍存在不足:如对理科类课程的公式和函数支持不完善;主观题批阅无法实现全自动等。作为今后工作的目标,希望可以使网络化考试逐渐取代传统考试,为教育事业做出自己的贡献。

参考文献:

[1]尚俊杰. 网络程序设计—ASP(第2版)[M].北京:清华大学出版社,2001.

[2]杜骏震.远程教育新技术应用的初步研究[J].山西广播电视大学学报,2009,(3).

[3]周 星. 基于ASP的网上组卷与自考系统的开发[J] .计算机应用,2001,(2).

[4]张 景.构建省级电大远程开放教育质量监控体系 [J].山西广播电视大学学报,2009,(3).

[5]杨国才. 基于WEB的远程自学型教学系统的设计与实现[J].计算机应用,2000,(4).

[6]范国平. ACCESS2000数据库系统开发实例[M] .北京:人民邮电出版社,2002.

[7]张婷娟.数据挖掘技术及其应用[J].山西广播电视大学学报,2008,(1).

猜你喜欢
数据源语句管理员
我是小小午餐管理员
我是图书管理员
我是图书管理员
重点:语句衔接
可疑的管理员
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
如何搞定语句衔接题
分布式异构数据源标准化查询设计与实现