在线考试系统的设计与实现

2009-06-28 03:34
消费导刊 2009年18期
关键词:信息管理系统数据库

陈 辉

[摘 要]本文综合运用结构化编程方法、ASP.NET 开发平台和SQL SEVER数据库管理系统及其他工具对在线考试系统运行机理的分析,提出了一套计算机在线考试系统的设计思路和实现方法,最终实现了系统的组卷、管理员管理和考生的在线考试等功能。

[关键词]在线考试系统 信息管理系统 数据库

一、引言

随着计算机的广泛应用,我国高校教育信息化建设发展迅速。校园网的开通,网络在线考试变得方便可行,不但节约考试成本,提高考试工作的效率,真正实现了教考分离,而且实现考试无纸化,在新的教育模式下提供了一个很好的教学考试方法。

二、需求分析

考试面向特定的某些对象,因此考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要进行个人信息的修改、考试系统的进入,以及考分的查看。在线考试与一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为使在线考试做到规范,对于每个应试者来说,试卷的试题题量相同的,而内容不同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题并动态生成。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。

(一)管理员对功能的需求

在线考试系统管理员需要完成的功能主要有:新管理员的注册、删除管理员、上传考试题目、修改考试题目、添加新的科目、制定考试试卷、查看考生的考试成绩,主要由其他成员开发。

(二)考生对功能的需求

考生需要完成的功能主要有:

1.考生注册

由于考生只有在登录的情况下才能进入本系统,因此新的考生需要进行注册,新的用户只要按照页面的提示要求将某些信息正确填写后,便可以注册成功,由于有验证控件,当格式不正确时会提示错误,注意填写某些信息的时候一定要认真,因为某些信息是不允许考生以后修改的。

2.考生考试

考生登录后就可以进行考试,选择考试科目后,系统会将此门考试的某些信息告诉考生,如总分、及格分、考试时间等,提醒考生注意,然后考生就可以进行考试,考试完成后,提交试卷,系统会立即显示考生的考试成绩。

3.考生查看自己以往的考试成绩

系统会将考生以前的所有的考试成绩都显示出来,包括考试科目、考试日期、成绩、是否通过等信息。

4.考生修改自己的某些信息

考生可以修改自己的某些信息,例如密码、Email等信息,但是有些信息是不允许修改的。

(三)系统数据需求分析

数据库的设计遵循如下原则:

(1)根据数据的不同用途使用要求、安全保密性来决定数据的组织形式及结构。

(2)严格按规范化设计数据库,减少数据间的依赖和数据冗余。

(3)尽量多使用存储过程,使数据库服务器端功能增大,提高效率,增加了安全性。

(4)尽量采用事务对操作进行控制,增加操作的独立性、一致性、不可否认性、原子性,必要时实现回滚操作。主要采用SQLServer数据库管理系统实现数据库管理。

三、系统总体设计

该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的ASP.NET2.0用户程序。具有开放性、方便性和灵活性。管理用户可以轻松的向题库添加、修改和删除试题。考生进行有效的身份验证,登录后选择进入考试系统,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅。而管理员还可以添加科目、查看考生成绩、添加删除管理员等。

(一)验证码

系统的验证码采用五位验证码,应用的时候我们将验证码的内容存放在Session中,与用户输入的字符串进行比较,如果正确则登录,否则提示错误。

(二)登录和注册

登录和注册均用的是Sql存储过程。在登录时,如果用户的名字和密码都正确,并且验证码也正确,则会进入考试系统,否则无法进入,并提示错误。如果是新用户,需要进行注册,新用户在填写自己信息的时候,系统会根据验证控件对用户的信息格式进行验证,只有格式正确,才能正确注册,否则系统会给出相应的错误提示。当用户正确注册后,系统会跳转到登录界面。

(三)考试

考生每次考试的时候,都会先进行抽题,并保存在数据库中,当开始考试的时候,系统会将数据库中存放的试题按试题类型显示出来,包括题干和选项,并通过“上一题”、“下一题”实现依次显示,并且会将本题的答案保存在数据库中,然后根据数据库中存放的考生的答案也显示出来。考生在考试的过程中,不允许考生进行刷新,既不允许考生重新选择考试题目,并限制鼠标右键的使用。

(四)评分

当考试时间到或者考生点击“提交”按钮时,系统会将试卷上的答案提交,并且开始评分,系统会将数据库中考生的答案进行遍历,并和正确答案进行比较,根据对错以及正确的题目的个数给出相应的分数,并立刻将其分数显示给考生。

(五)考生查看自己以往的考试成绩

系统会将考生以往的考试成绩显示给考生,包括考试科目、考试日期、考试成绩以及是否通过等信息。

四、系统测试

本文的开发过程中,用的主要的编码工具是.NET2005种的ASP.NET和C#,还部分应用了Dreameaver编写了界面,另外还应用了HTML和Javascript语言。HTML语言是一种网页编辑语言,而Javascript语言是一种嵌入在网页中的脚本语言。

无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。

(1)单元测试单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。

(2)集成测试在这个测试步骤中所发现的往往是概要设计的错误。

(3)系统测试在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。

参考文献

[1]殷大发。无纸化考试系统的研究和开发[J]计算机与现代化,2004,(03)

[2]王轶,林家薇,方英武。远程教育考试系统设计的方法研究[J]教育信息化, 2004,(01)

猜你喜欢
信息管理系统数据库
三维可视化信息管理系统在选煤生产中的应用
信息管理系统在工程项目管理的应用
基于三维TGIS的高速公路综合信息管理系统
SaaS模式下的房地产中介公司信息管理系统
高速公路绿色通道信息管理系统开发与实践
数据库
数据库
数据库
数据库
数据库