第19课 网 上 考 试 19.1 课前导读 19.2 课堂教学 19.3 上机练习 19.4 课后作业
19.1 课前导读 网上考试又称为在线考试,是Web技术应用的一个典型实例。一个完整的网上考试系统要考虑的实际因素很多,如怎样设计测试题库,如何制定合理评分体系等等。在技术层面上,网上考试系统要解决诸如学生身份确认、随机出题、考试时间倒计时、自动阅卷等问题。这些,需要用到ADO的Connection、RecordSet对象和存储特定考生信息的Session对象的方法和属性。
19.2 课堂教学 19.2.1 网上考试系统 19.2.2 考试系统的改进
19.2 课堂教学 本课的“网上考试”主要包括以下内容: ① 建立一个简单的网上考试系统,主要实现考生登录、显示题目和评定考试成绩等功能。 19.2 课堂教学 本课的“网上考试”主要包括以下内容: ① 建立一个简单的网上考试系统,主要实现考生登录、显示题目和评定考试成绩等功能。 ② 改进考试系统,使用框架结构显示试卷。 ③ 在“上机练习”中进一步完善考试系统核心框架的功能,增加管理考生信息的页面。
19.2.1 网上考试系统 1. 数据库设计 2. 创建考生登录页面 3. 创建考试答题页面 4. 考试成绩评分页面
19.2.1 网上考试系统 实现网上考试的基本功能:考生登录、出题与答题、评定成绩。功能分别由Login.asp,Test.asp和Result.asp等3个文件来实现。 1. 数据库设计 将试卷进行标准化后,很容易把考试题目建成一个数据库中的一个表——试题表Topic。这里将问题简化,假设试题表中每一条记录中存放一个题目,每题又由考试题目、答案选项A、答案选项B、答案选项C、答案选项D等5个字段组成。另外,参加考试的学生名单也需要建立一个考生信息表Student,有编号、口令、成绩等3个字段。
说明:试题的正确答案为答案选项A,在出题的时候将随机调整4个选项的顺序,以达到各份试卷决不雷同。 数据库用Access格式来建立,对应于文件Exercise.mdb。试题表Topic和考生信息表Student结构如表19-1和表19-2所示。 表19-1 试题表Topic结构 字段名 数据类型 必填 说明 Question 文本 否 考试题目 A 答案选项A B 答案选项B C 答案选项C D 答案选项D 说明:试题的正确答案为答案选项A,在出题的时候将随机调整4个选项的顺序,以达到各份试卷决不雷同。
表19-2 考生信息表Student结构 字段名 数据类型 必填 说明 编号 文本 否 考生编号 口令 考生口令 成绩 数字 考试成绩
2. 创建考生登录页面 考生登录页面是网上考试系统的第一个页面,通过连接数据库中的Student表接受并验证考生身份,确认通过后,引导考生到Test.asp页面开始考试。编写考生登录页面的代码,并将文件以Login.asp为名存盘。 说明:如果该考生已经参加过考试,则会出现提示界面。
3. 创建考试答题页面 通过身份认证后,进入考试答题页面。该页面从试题表中随机抽取10道选择题,并对每题的4个选项随机调换,然后显示试题及选择项。每个选择项都有一个选项按钮,每道试题为一个“选项按钮组”。全部作好选择后,按下方“交卷”按钮,该页面的选择信息将被送到Result.asp进行评分。 页面的状态栏中显示“剩余时间”。 打开记事本,编写考试页面代码,并将文件以Test.asp为名存盘。 说明:程序开始定义了一个Sub过程,用于显示剩余时间。
4. 考试成绩评分页面 考试评分页面内含有判分逻辑,可以将成绩划分为三个等级:优秀、及格和不及格。打开记事本,在其中编写代码,并将文件以Result.asp为名存盘。 说明:评分页面中采用Session对象只与特别用户相关的特点,通过前改变Pass变量的值来指示下一个ASP页面的转向,从而避免重复上载答案。
19.2.2 考试系统的改进 1. 使用框架结构显示试卷 2. 创建框架上方来源文件 3. 修改考试答题页面 4. 修改评分页面
19.2.2 考试系统的改进 1. 使用框架结构显示试卷 对考试系统作如下改进: ① 使用框架结构显示试卷; ② 避免重复出卷。 19.2.2 考试系统的改进 对考试系统作如下改进: ① 使用框架结构显示试卷; ② 避免重复出卷。 1. 使用框架结构显示试卷 将程序Test.asp改名Test2.asp留待修改,创建新的Test.asp作为框架页面,编写代码。 说明:框架分为上、下两部分,上面显示考生编号以及剩余时间,来源文件是Test1.asp;下面显示试卷内容及交卷按钮,来源文件是Test2.asp。如图所示。
2. 创建框架上方来源文件 3. 修改考试答题页面 打开记事本,在其中输入Test1.asp的代码。 其中代码TimeSerial(0,0,m)按“时:分:秒”返回由m给出的剩余时间。 3. 修改考试答题页面 框架的下方来源文件Test2.asp为考试答题页面,编写其代码。 说明:与原“考试答题页面”不同的是:新程序将随机抽取的10道题及其正确答案存放在Session对象的数组Session("shiti")中。打开网页后,首先判断是否已有该数组,如有则显示该套试卷,否则就开始出题。
4. 修改评分页面 由于存放答案的变量改变了,因此评分页面要做修改,其代码。 说明:其中连接代码: <A href="Login.asp" TARGET=_parent>返回首页</A> 中的TARGET=_parent表示在“父窗体”中显示Login.asp页面。
19.3 上机练习 1. 改进用户登录页面 2. 添加考生信息页面 3. 处理添加考生信息
19.3 上机练习 以上的设计中没有考虑由谁来管理考生的编号与密码,下面对此加以改进。功能实现主要由Register.asp和AddUser.asp来完成。 【练习19-1】考生编号与密码的管理。
1. 改进用户登录页面 在用户登录页面中增加了一个管理员入口,通过该入口,能在增加考生时为该考生设置密码。 页面是在原有的Login.asp的基础上改进的。其外观图示。编写代码,并将文件以Login.asp为名存盘。 说明:为按钮“管理员入口”定义一个Click事件,当输入口令“Register”时,实现向Register.asp的转向。
2. 添加考生信息页面 添加考生信息界面提供了增加考生的功能。 在记事本中编写代码,并将文件以Register.asp为名存盘。 在代码中考虑到每个用户都要有密码进行保护,所以,密码不能为空。
3. 处理添加考生信息 在增加新的考生信息时,还要考虑不能重复输入同名考生,这需要在数据库中进行核对。据此编写出如下程序。 打开记事本,输入代码,并将文件以AddUser.asp为名保存。 说明:本页面为处理页面,没有要在窗口中显示的信息,只有如图19-8所示的几个出错提示框。