以及当前的状态(特别强 调:这个状态可以查看所选用户是否处于考试状态,但包括正在考试和 断线两种情况)等信息。
对于在线的试卷管理,因为它主要使用了试卷的一些信息,上面都已经给出了,不再赘述。
2.2数据库的逻辑设计根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:用户信息:用户的 ID、用户名、密码、权限。
它不需要任何的外部数据支持。
对于在线的考试系统,可以列出以下数据项和数据结构: 试题信息:主要包括试题的 ID、专业、试题类型、难易程度、试题内容、 试题分数、试题答案,以及一些附加的内容。
所需的外部数据支持: 试卷信息:试卷名称、试卷的分数、答题时间。
用户信息:用户名对于在线账户管理系统,可以列出以下数据项和数据结构: 用户信息:用户的 ID、用户名、密码、权限。
超级用户信息:用户的 ID、用户名、密码、权限。
对天在线的阅卷系统,可以列出以下的数据项和数据结构: 试卷信息:试卷名称、答题用户、当前状态。
试卷名称信息:试卷名称(从试卷表获取) 所需的外部数据支持: 超级用户信息:用户的 ID、用户名、密码、权限。
2.3数据库的结构创建 根据数据库需求的分析,建立如下 6 个数据表 用户记录数据表 超级用户数据表 3 个试题表 注意:因为本系统在应用时只提出了三种类型的考试科目(计算机基础培训 教程、Internet 基础培训教程、计算机办公应用培训教程,本书后面演示时则 主要用到了 Internet 基础培训教程) ,所以只用到了三个试题表,但是因为它 们的结构都是一样的,这是就不一一列出。
试卷暂时数据表 成绩登记数据表 试卷名称数据表 第三章 后台服务器和数据库配置 (3.1)后台服务器配置首先,我们要谈的是在线考试系统的服务器配置问题。
本系统使用 IIS5.0 作为系统服务器。
如果使用的是 Windows 2000 以上版本的操作系统,那么添加 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 文件的相对路径来实现读取数据库的功能,简单的代码如下所示:Set comm.Server.CreateObject“ADODB.Commection”Comm..Open”driverMicrosoft AccessDriver.mdbdbq”ampServer.MapPath“../试题库.mdb”Set rsserver.createobject“adodb.recordset” 第四章 前端网络页面的开发与设计 4.1欢迎页面 全是 HTML 没有包含 ASP 代码, 在线考试系统的欢迎页面的功能非常简单, 代码,所以实现的功能也比较有限,就是给访问用户直观清晰的印象。
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,则允许用户直接进入到管理页面,如果能从超级用户表 中检索到用户,也允许进入到管理页面,如果只是从普通用户记录这张表里 检.