基于B/S结构的考试系统的设计与实现

时间:2022-10-10 12:55:00

基于B/S结构的考试系统的设计与实现

摘 要: 计算机应用迅猛发展,网络应用不断扩大,使得基于网络的考试系统成为发展的产物,正式基于B/S结构开发的适用于我院的考试系统,充分发挥网络的优势,实现试卷的自动生成,答题完成后,系统对照正确答案,给出试卷分数。

关键词: ;sql server;考试系统

中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)0110056-01

0 引言

考试作为衡量学生能力的重要手段,随着internet技术的发展使得考试的技术手段和载体发生了极大的变化。我院的《网站制作》课程正在进行项目化教学改革,初见成效,随之而来的就是考试改革。根据学院的精神,我课程组开发了《网站制作》课程的网络在线考试系统,该系统建立了大型、高效、共享的题库,降低了考试成本,减少了人为干扰,提高了工作效率;使考试更加客观、合理和公正。

1 系统总体架构

该考试系统采用的是三层体系架构,即Browser(浏览器)/Web(网络)/DataBase(数据库)。对于浏览器/服务器的系统中,用户端首先通过Browser(浏览器)向Web上的服务器Server发出请求,其次Server对Browser的请求进行一系列的处理,最后再将用户端所需的信息返回到浏览器。对于浏览器/服务器的结构其实使客户机的许多工作都简单化了,用户端上仅需配置Web浏览器,服务器承担着对数据库的访问、应用程序的执行等工作。也就是说当浏览器发出请求后,数据的加工处理、结果的返回、动态页的生成等工作是由Web服务器来完成的。

2 系统功能模块设计

系统操作过程是先由学生在线注册成功后可以登陆到考试中心,之后将随机抽取试题进行考试。结束考试之后,学生端提交答案,系统将自动的把学生端提交的答案与数据库中的正确答案进行比对,并算出总分。每门课程学生只能有一次考试机会,如果出现不及格的情况,那么后台管理员将设置一次补考的机会。根据以上操作过程,系统主要分为两大部分(前端和后端),包括四个系统功能模块。前端的系统包括学生资料系统,主要完成新学生考试资格注册;考试系统主要完成学生参加考试,以往成绩查询,查看答案分析结果。后端的系统包括管理员信息系统,主要完成管理员信息修改;考试管理系统,主要完成选择题管理,试卷管理,成绩管理,学生管理。

3 数据库的分析与设计

该考试系统的数据库包括四部分:第一部分为题库数据,包括了判断题、选择题和填空题3种题型。这部分中含有题干部分、答案部分以及该题的录入日期。第二部分为管理员及学生信息数据,包括了学号、姓名、性别、班级、密码等基础性的数据。第三部分为成绩表数据,包括了学号、得到的分数、考试的日期及是否参加补考等基础性的数据。第四部分为试题数据,包括了试题数据和每道题的分数等基础性数据。

该考试系统采用sql server 2008数据库,名称为db_exam

Ination,包含6张主要表:

Tb_admin管理员信息表主要用于存放管理员基本信息,包括:编号、管理员用户名、管理员登陆密码、创建时间四个字段。

Tb_Student学生信息表主要用于存放学生基本信息,包括:编号、学号、学生的姓名、学生的密码、学生的性别、学生所在班级、注册的日期。

text考试试卷信息表用于保存各套题中所包含的详细考试题目,结构如下:编号、试题主题、试题类型、试题添加时间、所属课程号、所属专业号、选项A、选项B、选项C、选项D、试题答案、注释。

Tb_sturesult考生成绩信息表,结构如下:编号、所属学生编号、所属课程名称、所属套题编号、所属套题名称、单选成绩、多选成绩、总成绩、成绩提交时间。

Selecting选择题信息表,结构如下:编号、题目内容、答案选项、正确答案、加入日期。

Tb_filling填空题信息表,结构如下:编号、题目内容、正确答案、加入日期。

4 系统设计与实现

4.1 考试系统登陆页的设计与实现

无论学生还是管理员都需要通过登陆页面进入该考试系统。系统提供了学生第一次进入系统时的注册功能,提供了密码修改功能,提供了为了防止学生忘记密码,系统还提供了密码找回功能,其事件过程如下:首先生成Datacon公共类的一个类对象datacon dataconn=new dataconn(),其次,调用公共类Datacon

的getcon方法连接数据库sqlconnection con=dataconn.getcon

(),然后打开数据库连接con.open,创建sqlcommand对象,执行SQL语句命令sqlcommand mycom=new sqlcommand(“select count(*) from tb_student where answer='”+answerpwd.text

+'”amd od=”+convert.tostring(session[“id”]),con); int count=convert.toint32(mycom.executescalar())”),判断数据库是否存在考生数据if(count>0),如果考生存在,则跳转到学生密码的页面page.response.redirect(“infopwdd.aspx”),否则,给出提示信息:提示问题答案输入有误,最后关闭数据连接con.close()。

4.2 考生注册页设计与实现

为了使该考试系统进行有效的管理,就要对注册的考生进行验证,防止有恶意的考生随意注册。在后台代码的page_Load事件中采用调用随机验证码技术,其事件代码如下:

Protected void page_load(object sender,eventargs e)

{

Session[“stuname”]=this.txtusername.text;

If(!ispostback)

{

Random rnd=new random();

This.labvalidate.text=rnd.next(1000,9999).tostring();

}

}

4.3 在线考试页的设计

考生在线答卷时首先需要选择套题,系统需要根据考生提交的科目和套题信息从数据库中获取相应题目,然后通过datalist控件显示出来。

4.4 考试套题管理页的设计

考试套题管理页的主要是实现对考试的套题的查询、添加、修改及删除操作。在考试套题的信息页面中,可以通过不同的查询条件进行查询,在“查询”事件中主要应用了SQL Server视图数据的处理技术,建立视图的目的主要是从套题表和课程表中检索出套题的名称、所属的课程和录入时间等信息。

4.5 考试题目管理页的设计

考试题目管理页的主要是实现对考试的题目的查询、添加、修改及删除操作。在考试题目的信息页面中,可以通过不同的查询条件并输入相应的关键字来实现,在添加考试的题目信息时,可以先选择所属的考试专业、课程和套题,然后再进行添加操作;该页面中还提供了修改以及删除考试题目的功能,以方便实时的对系统进行更新。

5 结束语

基于Browser(浏览器)/Server(服务器)的考试系统将从本质上解决我学院传统考试的工作量大、效率低、资源浪费等缺陷, 我相信通过基于Browser(浏览器)/Server(服务器)这一新型的在线考试系统,将促进我院的项目化教学改革更上一个层次。

参考文献:

[1]张登辉,ASP编程基础应用[M].北京:机械工业出版社,2002.

[2]闫洪亮,基于的网上考试系统设计与实现[J].平顶山工学院学报,2008,1(17).

[3]项宇峰,ASP+SQL server典型网站建设案例[M].清华大学出版社.

[4]张领,项目开发全程实录[M].清华大学出版社,2009.

作者简介:

孙晓娟,讲师,辽宁林业职业技术学院,研究方向:软件开发,网站制作。

上一篇:谈多媒体在中学生物课堂中的应用 下一篇:WebGIS技术应用方法研究