在线考试系统设计.docx
- 文档编号:11554671
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:13
- 大小:346.29KB
在线考试系统设计.docx
《在线考试系统设计.docx》由会员分享,可在线阅读,更多相关《在线考试系统设计.docx(13页珍藏版)》请在冰豆网上搜索。
在线考试系统设计
在线考试系统设计
引言
当前,信息化时代已经悄悄走进人们的生活,自动控制、无纸化自动办公、企业信息化、网上书店、网上娱乐等等都是信息时代的产物,可以说,二十一世纪是一个信息化的世界,人们将跟这二个字眼密不可分,随着信息化的潮流,我们的教育也开始了信息化,几年来关于教育信息化的教研论文不计其数,这说明教育走向信息化是一个必然的过程,那么基于B/S模式下的考试系统正是这种思想的一个重要的体现,教育的信息化必然会出现无纸化的、远程的考试系统,他的出现可以大大促进远程教育的长足发展,较大程度上减少了教育经费,真正体现出信息化时代的特色和优点。
建立一个安全稳定可靠的基于B/S模式下的考试系统,是当前信息化教育的必须,对信息化教育有着较大的促进作用,因为有远程的教育也就必须有远程的考试,没有考试的教育算不上完整的教育,本系统就是在这么一个大的前提下提出的。
系统包括了从组卷->考试->阅卷->试卷分析等一系列的过程,完成了一个正规考试的整个周期,是一个完整的可靠的网上考试系统。
第一章、系统设计
(1.1)目标设计
1.登录系统的主要功能要求
●欢迎页面
●功能选择页面
●各种功能的登录页面及密码验证
2.在线考试系统的主要实现功能要求
●让用户选择试卷类型
●让用户选择试卷的断线情况
●从试题库中随机出题给用户
●将随机试卷保存在暂时表中
●保存用户的答案
●给用户的试卷划分
●保存用户的试卷
●查询用户成绩
3.在线帐户管理系统的主要功能要求
●选择更改帐户属性的类别
●浏览整个系统中的各种用户(超级用户、普通用户、添加试题的管理用户和评卷老师用户)
●添加包含某项功能的用户
●删除不再需要的用户
●更改用户的密码
4.在线阅卷系统的主要功能要求
●浏览系统中用户答案情况
●删除某个用户的其中一个答卷或删除某种系统试卷
(1.2)系统功能设计
根据系统功能的要求,在线考试系统分为上述的3个模块,即在线的考试系统,在线帐户管理系统和在线的阅卷系统。
可以将系统分解成几个功能模块来分别设计。
根据系统功能分析,仅有一个单一的流程化页面。
所以从试题选择页面开始,然后是断线记录选择页面,接着就进入考试页面,然后是判分以及查询成绩的页面。
对于在线的管理系统,根据系统功能分析,可以具体细化为浏览系统用户页面,添加用户页面,删除用户页面以及更改用户密码页面。
对于在线的阅卷系统,根据系统功能分析,可以具体细化为阅卷登录页面,另外一个就是试卷管理页面。
第二章数据库设计与实现
(2.1)数据库的需求分析
根据系统功能设计的要求以及功能模块的划分,对于在线考试系统的试题库数据库,可以列出以下数据项和数据结构:
●试卷名称表:
主要包括试卷的名称、该试卷的总分数、试卷的答题时间,以及试卷内各类题型的数目等。
●试题信息表:
主要包括试题的ID、专业、试题题型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。
值得指出的是试题信息本身包括了3个表,在本在线考试系统中包括了3个专业的试题表。
对于用户记录数据,主要包括了如下的一些数据项和数据结构:
●超级用户信息:
用户的ID、用户名、密码、权限等内容。
●用户记录表:
用户的ID、用户名、密码、权限,以及当前状态(特别强调:
这个状态可以查看所选用户是否处于考试状态,但包括正在考试和断线两种情况)等信息。
对于在线的考试系统,可以列出以下数据项和数据结构:
●试卷名称:
主要包括试卷的名称、试题的分数、试题的题量,以及试卷的答题时间等内容。
●试题信息表:
主要包括试题的ID、专业、试题题型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。
●暂时试题信息表:
主要包括试题的ID、专业、试题题型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。
●成绩登记表:
主要包括用户、成绩、当前状态等。
对于在线的管理系统,可以列出以下的数据项和数据结构:
●用户记录表:
用户ID、用户名、密码、权限,以及当前的状态(特别强调:
这个状态可以查看所选用户是否处于考试状态,但包括正在考试和断线两种情况)等信息。
对于在线的试卷管理,因为它主要使用了试卷的一些信息,上面都已经给出了,不再赘述。
(2.2)数据库的逻辑设计
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:
用户信息:
用户的ID、用户名、密码、权限。
它不需要任何的外部数据支持。
对于在线的考试系统,可以列出以下数据项和数据结构:
●试题信息:
主要包括试题的ID、专业、试题类型、难易程度、试题内容、试题分数、试题答案,以及一些附加的内容。
所需的外部数据支持:
●试卷信息:
试卷名称、试卷的分数、答题时间。
●用户信息:
用户名
对于在线账户管理系统,可以列出以下数据项和数据结构:
●用户信息:
用户的ID、用户名、密码、权限。
●超级用户信息:
用户的ID、用户名、密码、权限。
对天在线的阅卷系统,可以列出以下的数据项和数据结构:
●试卷信息:
试卷名称、答题用户、当前状态。
●试卷名称信息:
试卷名称(从试卷表获取)
所需的外部数据支持:
●超级用户信息:
用户的ID、用户名、密码、权限。
(2.3)数据库的结构创建
根据数据库需求的分析,建立如下6个数据表
●用户记录数据表
●超级用户数据表
●3个试题表
注意:
因为本系统在应用时只提出了三种类型的考试科目(计算机基础培训教程、Internet基础培训教程、计算机办公应用培训教程,本书后面演示时则主要用到了Internet基础培训教程),所以只用到了三个试题表,但是因为它们的结构都是一样的,这是就不一一列出。
●试卷暂时数据表
●成绩登记数据表
●试卷名称数据表
第三章后台服务器和数据库配置
(3.1)后台服务器配置
首先,我们要谈的是在线考试系统的服务器配置问题。
本系统使用IIS5.0作为系统服务器。
如果使用的是Windows2000以上版本的操作系统,那么添加IIS5.0服务器非常简单,只需要打开“控制面板”里面的“添加/删除程序”选项,然后选择“添加/删除Windows组件”,最后选中弹出对话框的“Internet信息服务(IIS)选项”,如图,按系统提示进行安装即可。
下面来介绍一下怎么设置IIS的服务。
因为在在线考试系统的各个系统模块里都使用ASP的Session(会话)对象和Application(应用程序)对象。
这样就必须创建一个ASP应用程序来处理用户登录次数信息。
一个ASP应用程序必须使用一个公用的目录结构,该目录包含了网站使用的所有页面。
页面的具体位置并不重要,但要让这些页南都存于一个公用的目录结构里。
创建ASP应用程序的具体步骤为:
打开IIS服务器,进入Wed根目录。
单击鼠标右键,并选择“属性”命令,弹出如图4-11所示的属性对话框,在应用程序设置里,创建ASP应用程序。
名称与Wed根目录相名。
这样我们就创建了一个ASP应用程序,但真正具有该应用程序执行功能的是一个称作Global.asa的特殊文件。
(3.2)后台数据库的配置
本章系统没有便用ODBC这种形式的数据库,而是直接采用了Access文件的相对路径来实现读取数据库的功能,简单的代码如下所示:
Setcomm.=Server.CreateObject(“ADODB.Commection”)
Comm..Open”driver={MicrosoftAccessDriver(*.mdb)};dbq=”&Server.MapPath(“../试题库.mdb”)
Setrs=server.createobject(“adodb.recordset”)
第四章前端网络页面的开发与设计
(4.1)欢迎页面
在线考试系统的欢迎页面的功能非常简单,没有包含ASP代码,全是HTML代码,所以实现的功能也比较有限,就是给访问用户直观清晰的印象。
(4.2)注册页面
1.页面示例
用户在这个页面中输入自己的用户名和口令(包括确认口令)就可以注册为在线考试系统的用户,并参加考试了。
当然,如果用户想修改自己的密码,可以通过系统管理员帐户来进行。
2.页面所使用的数据库组件
系统注册页面使用了一个表系统用户信息表。
在系统注册页面里需要引用这个表的用户名进行用户身份鉴别。
如果没有这个用户,才允许当前用户添加到数据库中。
3.页面的HTML表单元素
系统登录页面所使用的表单元素
表1-1
名称
表单元素类型
Value值
含义
Username
Text
用户填写
用户名
Password1
Password
用户填写
口令
Password2
Password
用户填写
确认口令
Login
Submit
登录
提交表单
(4.3)登录页面
1.页面示例
如图4-16给出了在线考试系统登录页面的示例效果,这个页面比较简单,只有3个表单元素,其中两个文本框用来输入用户名和密码,按钮则用来响表单的事件。
(图)
2.页面所使用的数据库组件
系统登录页面使用了一个表系统用户信息表。
在系统登录页面需要引用这个表的用户名,密码字段进行用户身份鉴别。
如果用户身份通过验证的话,系统登录页面还要记录用户的详细信息,留待以后的系统页面使用。
这里特别强调一点,如果系统管理员要想登录该考试中,必须以普通用户的身份先登录,虽然这个功能好像比较麻烦,但对于系统的安全还是有一定好处的。
3.页面的HTML表单元素
系统登录页面有3个表单元素,如表4-2所示。
系统登录页面表单元素
表1-2
名称
表单元素类型
Value值
含义
Username
Text
用户填写
用户登录名
Password
Password
用户填写
用户密码
Login
Submit
登录
提交表单
(4.4)选择页面
如图4-17给出了主选择页面示例图片,这个页面的实现的效果同系统的欢迎页面比较类似,仅仅是给用户选择功能的页面。
(图)
介绍完了登录页面的相关内容,接下来就真正进入到在线考试系统的核心部分,即考试选题以及结果判分等内容的介绍了。
这个核心包含了4.5到4.10共6个部分的内容,分别介绍了在线考试系统的各个方面。
(4.5)选择试卷类型
1.页面示例
如果在系统选择页面(mainselect.asp)选择了开始考试的选项,则系统会进入在线考试子系统模块,开始进行在线的考试。
首先出现在用户面前的是选择试卷类型页面的示例效果,用户可以在这个页面里面选择需要参加考试的科目。
2.页面所使用的数据库组件
系统选择试卷类型页面使用了一个表系统试卷名称表。
在系统试题选择页面里需要引用这个表的试卷名称,试题分数,答题时间等字段。
在表格中将它们显示出来。
(4.6)试卷断线记录选择
1.页面示例
用户在选择了试卷类型以后,就会进入到下面的选择做题形式页面,是正常的选择题形式,用户只需要单击超级链接就可以进入到页面中了。
如果选择了继续,则程序会读取上次考试的试卷,然后让用户重新做题,如果选择了不继续,则程序首先删除上次保存的试卷,然后重新出题给用户。
2.页面所使用的数据库组件
系统试题选择页面使用了一个表系统成绩登记表。
在系统试题选择页面里需要引用这个表的试卷名称字段进行试卷鉴别。
如果表中存在这条记录,则显示存在断线记录,否则显示直接进入到考试页面的提示。
3.页面的HTML表单元素
为了简单起见,这个页面没有使用任何的HTML表单元素,仅仅将试卷类型放置在一个表格对象中,所以这里不给出了。
(4.7)正常考试页面
1.页面示例
如里8-21和8-22给出的是考试页面的效果,因为一幅图无法显示整个页面的效果,所以这里特意抓了两幅图,其中8-21给出的页面上方的效果,即试卷名称,第一类试题等。
而图4-22给出的则是试卷下方的效果,包括最后的一类试题,以及最后确认按钮的情况,确认按钮包括两个:
一个是交卷按钮(即用户提交自己的试卷,以后不能做任何修改),一个是“保存”按钮,用户单击这个按钮,可以暂时保存自己的试卷。
2.页面所使用的数据库组件
系统考试页面使用了一个表系统Internet培训教程表。
在系统考试页面里需要引用这个表的试题题型、试题分数、试题、答案等字段。
考试页面会将这些有效信息读取出来,然后显示给用户,同时保存到暂时试卷表中。
(当然,根据用户的选择不同,系统会调用不同的试卷)
系统考试页面使用了一个表系统成绩登记表,引用了这个表的用户名、密码、成绩、试卷名称、试卷、当前状态等字段,目的就是为了修改用户的当前状态,以达到对用户的状态进行控制的目的,从而判断用户是否断线以及为阅卷作准备。
3.页面的HTML表单元素
这个页面使用的HTML表单比较简单,仅仅只有两个按钮。
(4.8)读取断线记录的页面
1.页面示例
要想查看读取断线记录的页面,我们必须参考图给出的正常考试的页面。
如果用户在该页面单击了“保存试卷”的按钮,那么当前的试卷情况及用户的答案都会保存到以用户名和试卷名来命名的一张暂时表中。
当用户选择了读取断线记录本时,系统会自动读取暂时表的记录,并同时将答案读取出来,方便用户的答题。
为了区别起见,这里特意将两图页面的名称:
test1.asp和test.asp取为不同,同是读者也应该注意到这两个页面的标题也是不同的,读者应该考虑到,因为我们采用的随机生成考试试卷,所以要想同是生成相同的试题几乎是不可能的,那么之所以能得到相同的题目,保存试卷是功不可没的。
2.页面所使用的数据库组件
系统考试页面使用了一个表系统暂时试题表,引用了这个表的试题题型,试题题目等字段,其作用就是要将这些题目读取出来,显示给用户。
3.页面的HTML表单元素
同正常考试的页面一样,读取断线记录这个页面使用的HTML表单比较简单,仅仅只有两个按钮。
4.页面的ASP代码
同所有的页面一样,读取断线记录的考试页面也是采用本地文件的相对路径来设置数据库的连接,并同时获取返回的数据集,同时将它激活。
(4.9)判分页面
1.页面示例
如图
2.页面所使用的数据库组件
系统判分页面使用了一个表系统暂时试卷表。
在系统登录页面里需要引用这个表的试题类型、试题题目、试题分数、用户答案、以及试题答案等字段,先是读取试题类型以及用户答案,然后将用户答案跟试题答案进行对比,从而判定用户答案正确与否。
系统判分页面同时使用了成绩登记表,目的是为了将用户最后的成绩写入到表中,同时将用户的状态改称已交卷状态。
3.页面的HTML表单元素
为了简单起见,这个页面没有使用任何的HTML表单元素,仅仅将试卷类型放置在一个表格对象中,所以这里不给出了。
4.页面的ASP代码
这个页面所实现的功能比较复杂,首先从表单参数中获取当前考试用户的所有答题情况,即用户答案,将他们与试题的标准答案进行对比,从而判定该题目的正确。
如果正确,将成绩累加起来,判断完成后写入到数据库中。
(4.10)查询成绩
1.页面示例
如图给出了查询成绩页面的效果,用户可以在这个页机查询自己的所有考试成绩,同时,如果用户是系统用户,那么还可以查询所有人的成绩。
2.页面所使用的数据库组件
系统查询成绩页面使用了一个表系统成绩登记表。
在系统登录页面里需要引用这个表的用户名,试卷名,试卷的总分以及用户的成绩字段。
将这些字段以及表格的形式显示出来,供用户看。
3.页面的HTML表单元素
为了简单起见,这个页面没有使用任何的HTML表单元素,仅仅将试卷类型放置在一个表格对象中,所以这里不给出了。
(4.11)在线账号管理系统
1.登录界面
图给出了在线账号不定期理系统的登录页面。
注意,本在线考试系统采用了一个两层的用户验证,更有利于系统的安全。
然后,让我们来看一下页面所使用的数据库组件
在线账号管理系统的登录页面使用了一个表系统超级用户信息表。
在系统登录页面里需要引用这个表的用户名。
密码字段进行用户身份鉴别,如果用户敌人通过验证的话,系统登录页面还要记录用户的详细信息,留待以后的系统页面使用。
这里特别强调一点,如果系统管理员要想登录到该考试系统中,必须以普通用户的身份先登录,虽然这个功能好像比较麻烦,但对于系统的安全还是有一定好处的。
下面是页面的HTML表单元素,如表1-3所示。
页面的HTML表单元素
表1-3
名称
表单元素类型
Value值
含义
Username
Text
用户填写
用户登录名
Password
Password
用户填写
用户密码
login
submit
登录
提交表单
2.选择界面
如果用户是用系统管理员的账户登录,并通过系统的验证,那么就可能选择所需要管理类型了,如图
3.用户浏览
用户浏览是管理员账户所有的功能,他可以通过这个页面来查看系统中所有类型的账户,如图,然后根据需要,做出不同的操作。
起始的代码是显示日期和星期几使用的,接下来设置超级用户的显示格式,上面是“超级用户”的提示,然后按表格形式输出各个表的字段项目。
正确设置了显示格式后,就可以从数据库中读取记录了,首先设定数据库的连接,以及设定返回的数据集。
4.密码更改
图给出了在线账号管理系统的密码更改页面,这里给出的是超级用户更改密码的页面,超级用户可能更改一般用户,单位用户的密码,而其他两种类型的用户都只能修改自己的密码
在线账号管理系统的密码更改页面有4个表单元素
系统密码更改页面所使用的表单元素
表1-4
名称
表单元素类型
Value值
含义
Username
Text
用户填写
用户名
Password1
Password
用户填写
口令
Password2
Password
用户填写
确认口令
Quanxian
Password
用户选择
选择用户权限
login
Submit
登录
提交表单
5.删除用户
在线账号管理系统的删除页面有四个表单元素,如表1-5所示。
系统删除账号页面所使用的表单元素
表1-5
名称
表单元素类型
Value值
含义
Username
Text
用户填写
用户名
Password1
Password
用户填写
口令
Password2
Password
用户填写
确认口令
Quanxian
Password
用户选择
选择用户权限
login
Submit
登录
提交表单
删除用户源代码:
首先,页面通过request对象来获取各个表单参数的值,接着判定用户的用户名,密码,确认密码是否为空,则继续下面的处理,首先要做的设定数据库连接,如果两次密码不一致则显示“密码不一致”的提示,如果通过密码验证,则查询数据库中关于该用户的记录,下面要做的就是判断用户是否满足条件,如果能查询到用户的存在,则将该用户中数据表中直接删除
(4.12)在线试卷管理系统
在线试卷管理系统的基本流程同在线账户管理系统类似,所有用户都必须通过第二层的登录检验,然后如果用户通过系统的验证,就会进入到一个选择用户试卷的页面对用户的试卷进么管理,能进么的操作包括删除某张试卷或者是对某张试卷进行判分,对原来的程序自动判分做出更改。
1.登录页面
登录页面同在线账号和理系统的登录页类似,首先获取表单的参数,然后判断用户名和密码两个变量是否为空,如果不为空则连接数据库中,如果用户名和密码都为93。
4,则允许用户直接进入到管理页面,如果能从超级用户表中检索到用户,也允许进入到管理页面,如果只是从普通用户记录这张表里检索到数据,那么将pass和user两个session变量的值进行高定,同时将页面定向到liulan.asp页面,允许用户查看自己的考试情况,包括试卷,以及分数等。
2.选择用户页面
从这个页面显然可以看出,程序允许具有管理员身份的用户进行三种类型的操作,包括改卷,删除用户答卷,能及删除系统数据库的某张试卷
ASP源代码
首先页面连接到数据库中,然后从成绩登记表中读取所有的记录,并从request参数中获取lname这个变量的值,同时将它的值赋予给name这个session变量
3.删除考试试卷
删除试卷1页面要实现的功能比较简单,就是将管理员选中的试卷从试卷名称表中删除掉,这里的试卷指的是系统数据库的试题表,所以实现这项功能的代码也比较简单。
总结
这个系统是本人第一次开发的系统,整个开发过程中,我曾经想过放弃,因为这中间有很多是以前没有遇到的新问题,以前开发的都是一些中规中矩的系统,没有什么很大的创新之处,自然也就没有什么难点,但是在这次的开发中我遇到了很多新的问题,我觉得这是一个大的进步,虽然难度加大了不少,但是从软件使用上就容易了许多,给软件的最终用户减少了很多麻烦。
其实我觉得在开发一个大的系统的时候,不管是个人还是团队,必须作好需求分析,建立好数据库,如果需求分析不成功,那到后面是很难做下去的,本系统的开发就遇到这样的情况,以至我前一个月做了无用功,最后全部从新部署。
一个好的需求分析报告将给系统带来很大的惊喜,它会很大程度上减少程序员的负担。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统 设计