APP下载

基于.NET在线考试系统的设计与实现

2011-04-10厦门医学高等专科学校医学技术系福建厦门361008

长江大学学报(自科版) 2011年34期
关键词:题库考试数据库

(厦门医学高等专科学校医学技术系,福建 厦门361008)

考试是是检验、评价教学质量的重要手段。传统考试方式非常烦琐,工作量大且容易出错,给教师和教务管理人员带来很大负担。随着信息技术的飞速发展,基于网络的无纸化在线考试模式具有科学性、高效性、灵活性和安全性等优势,因而逐渐取代传统考试方式[1]。下面,笔者对基于.NET在线考试系统的设计与实现进行探讨。

1 系统分析

1.1 总体架构

针对在线考试系统的分布式需求和功能模块化设计要求,考虑到微软.NET平台技术先进、效率高和容易维护的特点,系统采用基于微软.NET平台的B/S 3层架构模式,具体包括表示层、业务层和数据层,表示层负责处理用户的输入和输出;业务层负责处理用户提交的请求并向用户返回处理结果;数据层负责实际的数据存储和检索[2]。在该系统中,对于用户而言,无需安装客户端,只需采用浏览器登录WEB服务器提出申请来访问后台即可。客户端不直接与数据库进行交互,而由中间层向外提供接口,通过COM/DCOM通讯或者Http等方式与其建立连接,再经由中间层与数据库进行交互。真正的数据处理全部放在后台的WEB和应用服务器上进行。考试结束后,系统会自动将考生成绩提交给WEB服务器。系统架构图如图1所示。

图1 在线考试系统架构图

1.2 研发工具

系统研发工具包括如下几方面:①数据库系统采用SQL Server。②WEB服务器选择 Microsoft Internet Information Server。所有业务逻辑层程序都将部署在WEB服务器上,如数据访问组件、业务处理组件和核心组件等,它向所有的用户提供页面请求服务。③开发工具选择Visual Studio.Net。

2 系统设计

2.1 系统工作流程

笔者对教师阅卷工作和教务部门考试管理进行调研分析,提出在线考试系统流程图(见图2)。

2.2 系统功能模块设计

在线考试系统功能模块设计图如图3所示,其中每个功能都由若干相关联的子模块组成,具体内容如下。

1)个人信息模块 学生通过该模块可修改登录密码并查看个人信息。

2)在线考试模块 学生可通过该模块在指定时间内根据指定考试科目进行客观题或主观题的操作,在线提交答题结果,完成模拟练习或正式考试。

3)成绩查询模块 学生可通过该模块查看练习完成情况以及得分情况。

图2 在线考试系统流程图

4)系统管理模块 该模块具有许多功能,具体内容如下:①用户管理。可以新增、修改、删除用户(分类为考试管理者、教师、学生),并提供用户数据批量导入功能。②班级管理。可以新增、修改、删除班级,并将教师和学生用户与班级相关联。③权限管理。为不同类型的用户(考试管理者、教师、学生)设置不同的菜单访问权限和操作访问权限。④系统配置。对系统的通用参数进行配置管理。

5)题库管理模块 题库管理包括传统的选择、填空、判断、问答等客观题型,也设置如计算机基础课程中的部分模拟操作题以满足多样化的考核需求,同时设置题目的分类、知识点归属、难度系数等,可支持对不同考核对象的管理要求。此外,教师和考试管理员还可批量导入导出题目,对题库进行增删修改,统计知识点分布等。

6)试卷管理模块 提供手工出卷、自动出卷、随机出卷3种出卷模式,设置正式考试、模拟练习2种类型,同时提供试卷导出功能。

图3 在线考试系统功能模块设计图

7)考试管理模块 考试管理人员进行考场和监考人员安排、查询缺考人员和未交卷人员名单等,对整个考试过程进行全程管理和监控。

8)成绩管理模块 对正式考试和模拟练习的结果进行评分管理,客观题由系统自动评分,主观题由指定的评卷人进行手工评分。评分后将成绩记录在相应的成绩表中。

9)查询统计模块 教师可按成绩、知识点和题型进行多元化的统计分析,以便掌握学生考核情况和各知识点的学习效果。

图4 单选题实体E-R图

2.3 数据库设计

系统数据库采用SQL Server2005,根据对系统功能模块的分析,设计出系统各实体E-R图。以单选题实体为例,其E-R图如图4所示。同时设计学生信息表、教师信息表、考试管理员信息表、班级信息表、考场信息表、科目表、题目表、试卷信息表、考生答卷表和成绩表等数据表。

3 部分关键技术的实现

3.1 数据库连接

由于系统要经常访问数据库,为提高数据库的运行效率,可在应用程序配置文件Web.Config中设置数据库连接信息,其连接语句为:

3.2 登录系统

用户登录是用户进入系统的第1步,其关键在于验证用户身份,实现代码如下[3]:

3.3 随机抽取试题

随机抽取试题是试卷管理中的关键技术,解决思路是先将数据库中指定科目、指定题型、指定知识点的所有试题记录读出,获得试题记录的总数后,然后不断生成一个1~N(N=试题的总数-考试的试题数量)的随机数(同时避免出现重复数),从此开始读出数据。

3.4 系统安全性

由于在线考试系统的运行平台处于开放的Internet环境下,因而需要特别重视系统安全性,为此采取多策略控制方法[4]。针对用户设置了角色管理,将用户加入相关角色,用户即可继承相应角色的权限,一个用户可以赋予多个角色,这样就有了更加灵活的授权控制。在权限方面设置3级访问权限控制,即菜单、结点及操作。基于菜单的访问权限控制针对大的功能模块设定,例如,可以设定题库管理员只能进入 “后台管理→题库管理”菜单,而不能访问成绩管理模块。基于结点的访问权限控制针对树形目录中的结点设定,例如,可以设定系部级题库管理员只能进入其所属院系的题库目录下进行操作,而不能访问其他院系的题库。基于操作的访问权限控制针对具体的操作设定,例如,可以设定题库管理员对题库的读、写、管理权限,而考试管理员只能对题库进行查询操作。通过以上的多策略控制方法增强数据库的安全性。

[1]百度文库.三层设计思想 [EB/OL].http://wenku.baidu.com/view/5f525ceb19e8b8f67c1cb9d0.html,2010-11-13.

[2]张树亮,李超.ASP.NET 2.0+SQL Server网络应用系统开发案例精解 [M].北京:清华大学出版社,2006.

[3]王涛,王勇.计算机考试系统的设计与实现 [J].计算机与网络,2011,37(3):103-106.

[4]严良达,朱晓鸣,余风钢.ASP.NET环境下在线考试系统的设计与实现 [J].办公自动化,2011(1):61-62.

猜你喜欢

题库考试数据库
“勾股定理”优题库
“轴对称”优题库
“轴对称”优题库
“整式的乘法与因式分解”优题库
Japanese Artificial Intelligence Robotto Take Entrance Examinations
数据库
数据库
数据库
数据库
你考试焦虑吗?