在线考试系统的设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言 21 世纪是一个知识爆炸的时代,信息更新的速度达是空前的。计算机技术与
网络技术越来越广地应用于社会的各个领域,改变着人们的学习、工作、生活乃 至思维方式,也引起了教育领域的重大变革。纵观计算机化测试的研究和应用的 历史可可以看出,随着计算机技术的发展,计算机在测试中的应用从当初单纯的 判分,到 IRT 模型出现后的自适应考试,再到现在的基于网络的情境化、模拟化 测试, 计算机发挥的作用越来越大。试题的形式也在此过程中发生着变化,从固 定在单一试卷中的试题发展到了可以自由组合的题库,再到现在的多媒体试题库。 随着题库的建立,出卷的工作变得更简单方便了,测试的形式也发生着变化,由 所有学生同考一张试卷的大规模的集体测试发展到了同一场考试使用等同考查效 力的不同试卷的小组测试,随着题库的增大和计算机技术的发展,个别化的测试 试卷成为研究人员和教师们新的关注对象[1]。随着计算机辅助教学(CAI)的发展, 计算机的使用使教师和教育测量专家们的许多设想逐渐能够得以实现。因此,技 术的先进与否不能作为评判一个教学平台的好坏的关键,只有最适合教学需求的 才是最好的。作为网络教学平台,就是要帮助教师实现教学理念,作为网络教学 平台中最为重要的组件之一的评测系统,当然也要秉承这个宗旨:帮助教师实现 教育测量功能[2]。
在信息时代告诉发展的今天 传统的考试运作方式已经远远不能满足与日俱 增的各种考试需要 为了提高效率、降低成本、减少教师的工作量、方便考生应试, 考试体系必须引入信息化的管理方法,所以网上在线考试系统应运而生需求分析 是整个软件成功实现的基础,是软件设计的第一步。只有真正的做好需求分析, 才能真正了解客户的需要,才能为软件开发的每一步做好指导工作,所以说整个 软件的实施是建立在需求所分析出的各项功能上的通过对考试进行详细的了解和 分析。一个功能完全满足基本需要的系统必须包括以下几个模块[4]:
表。(6)通过对各个模块进行整合,得出在线考试系统的工作流程,如图 2.1 所 示。
网络化教学过程中需要进行阶段性评测,考试是目前较为主流的测量方法, 因此在线考试系统是网络教学平台的学习支持子系统的重要组成部分。随着开发 技术的发展,在线考试系统的题库系统得到了改进,同时借助便利的自动组卷模 块可以得到多份等同试卷,还可借助发布模块做到同卷不同形式,以此来实现部 分“个别化考试”的功能。严格意义的个别化考试,需要结合连续评价系统,即 跟踪学生的学习过程,通过对学生在学习量、技能、学习路径及表现等方面变化 的观察,动态的完成对学生知识水平原熟练程度的测评,然后有针对地进行个别 化考试。
2、PHP 直接访问 SQL Server 2005 PHP 直接访问 SQL Server 2005 时,利用 PHP 提供的 Mssql 函数库来创建连接, 分为一般和永久两种连接方式[18,19]。 一般连接使用的函数是 mssql_connect。 永久连接使用的函数是 mssql_pconnect。 其语法如下: int mssql_connect(string [servername],string [username], string [password]); int mssql_pconnect(string [servername],string [username], string
在线考试系统的设计与实现
摘要:随着计算机在社会各个领域的广泛应用,计算机专业的很多课程都采用了 在线考试系统,通过对利用计算机和网络,提高学生的实践动手能力,为学生就 业提供有力的保障。在大力支持下,在相关部门的配合下,我们研发小组利用 PHP+SQL Server 2005 技术开发了一套适合使用的在线考试系统,实现在考试改革 中要求大部分课程考试的无纸化要求。在本系统中,主要承担了数据库的设计与 实现和部份功能模块代码的设计与实现。 关键词:在线考试系统;设计;实现
2.3 在线考试系统的功能设计
2.3.1 在线考试系统的工作流程
通过对在线考试系统的功能进行分析,我们大体上确定系统的每个模块的功
能,每个模块的工作流程如下:
系统维护
系统管理员登
增加任课教师及开课信息
任课教师登
录入试题
有 试题库
录入试卷信
修改
监考教师登 学生登录
任课教师登
发考试指 选择考试
进行考试 阅
在本系统中,采用的是第一种方式使用 mssql_connect 函数进行数据库的连 接,创建一个 php 与数据库之间的连接文件,命名为 conn_db。php 来实现的。 conn_db。php 的代码如下: <?php $dbconnected=@mssql_connect("数据库服务器名称或 IP","用户名","密码") or die("连接数据库服务器失败!"); mssql_select_db("jiaocai",$dbconnected);//选择要操作的数据库 ?>
2 需求分析
2.1 系统的需求分析 系统需要解决的主要问题:首先,因为考试是面向特定的某些对象的,所以
考生进人系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需 要选择考试的种类,所以系统还应具有考试种类选择的功能。鉴于目前考试环境 一般为机房,考试者之间的距离很近,为规范考试,对于每个应试者来说,试卷 的题量应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务 器的数据库随机抽取试题后动态生成的[3]。另外,系统还应该对考试时间进行控制, 时间到了会要求考试者交卷或强制停止考试。考试者选择答案提交后,应该由计 算机自动判卷,得到成绩后显示出来。此外,应该能够方便、快捷的对在线考试 系统管理,特别是管理员需用拥有对用户的管理权、对题库的修改权及对出题的 干预权和对考试结果的分析。 2.2 系统的功能需求分析
[password]); 这两个函数均可用来开启与 SQL Server 2005 数据库的连接[16,17]。但是对于使
用 mssql_connect 函数连接数据库时,可以使用 mssql_close 函数关闭连接;而 永久连接则不能使用 mssql_close 函数关闭连接,而且每次调用该函数时,都会 检查是否曾经执行过这个函数。如果执行过,函数则直接返回己执行过的函数的 值,否则连接这个函数,并返回一个新的值。
在本系统中,数据库选用的是 SQL Server 数据库,PHP 与 SQL Server 数据库 的连接可以通过以下两种方式实现。
1、PHP 通过 ODBC 访问 SQL Server 2005。ODBC(Open DataBase Connectivity) 即开放式接口,是由微软主导的数据库连接标准,操作环境也以微软的系统最成 熟 。在 [3,14,15] Unix 系统中,通常要使用其他厂商所提供的 ODBC 界面,有些 Unix 厂 商会自己提供 ODBC 界面。它为用户提供了一个访问关系数据库的标准接口,对于 不同的数据库它提供了一套统一的 API;可以使应用程序通过 API 访问任何提供了 ODBC 驱动程序的数据库,而目前所有的关系数据库都提供了 ODBC 驱动程序,所以 ODBC 已经成为数据库访问的业界标准,并得到了广泛应用[1,14,15]。
选择何种数据库软件,性能是首要问题,当考虑性能的同时当然少不了究竟 要投入多少资金在这产品也是个很关键的问题。要建立并运行一个数据库系统。 不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale
数据库的价格是远比 SQL Server 数据库要高,为什么 Oracle 数据库比 SQL Server 数据库价格上要高出那么多,一方面 Oracle 的初始花费相对较高,特别是在考虑 工具软件的时候,Oracle 很多工具软件需要另外购买,与 Microsoft 提供免费的 SQL Server 工具软件相比,Oracle 更显价格的不菲。但由于 SQL Server 只能在 Windows 下运行的原因,普遍认为 SQL Server 数据库的可靠性是比较差的。Oracle 的性能优势体现在他的多用户上,而 SQL Server 的性能优势在多用户上就显得力 不从心了。
4 在线考试系统的实现
当需求分析,功能设计,数据库设计并实现涉及到的工作完成以后,我们就 开始在线考试系统的开发。首先选择合适的开发平台,这里我们选择的是 PHP,当 然可以选择 JSP,ASP 等其他的开发平台。PHP(Hypertext Preprocessor,超文本 预处理器)是一种 HTML 内嵌式的语言,混合了 C、Java、Perl 等多种语言的特点, 被广泛应用的开源式的多用途脚本语言。PHP 最重要的特征是它的数据库集成层, 完全支持 SQL 标准,可以支持大多数数据库系统,如 SQL Server, MySql, Sybase, Oracle 等,并且具有数据库访问速度快、运行效率高、性能稳定、操作简单等优 势。PHP 与 HTML 语言具有非常好的兼容性,程序员可以直接在脚本代码中加入 HTML
试卷信息表
图 2.1 在线考试系统的工作流程
(1)系统管理员模块:系统管理员登录系统以后,进行数据备份、恢复等系 统维护工作,以及创建老师或管理员账号,导入开课信息及选课学生名单等操作。 (2)任课教师模块:任课教师登录后,选择其担任的课程后,录入试题后存储在 试题库中,若试题库中的题目有误,则可以修改后保存。若有考试或者考核的需 要,则可以录入相应的试卷信息,如课程名称,学生人数等。(3)监考教师模块: 一旦有考试需求,监考教师登录后,可以发送开考指令。(4)学生模块:监考教 师发出监考指令后,学生登录系统选择相应的科目后就可以进行答题操作。(5) 考试结束后,若试卷中没有手动阅卷的试题内容,系统则自动阅卷,将学生成绩 存入数据库中,若有手工阅卷的部分,教师登录后可以阅卷,最终形成试卷信息
3 数据库开发平台的选择
选择一个合适的数据库管理系统,对系统的性能和效率有着重要的地位,首 先,操作系统的稳定对数据库来说是关键因素,在数据库可操作平台上,Oracle 可在所有主流平台上运行,Oracle 数据库采用开放的策略目标,它使得客户可以 选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、 工具。对开发商来说是很大的支持。而 SQL Server 却只能在 Windows 上运行了, 但 SQL Sever 在 Window 平台上的表现,和 Windows 操作系统的整体结合程度,使 用方便性,和 Microsoft 开发平台的整合性都比 Oracle 强的很多,并且 Windows 操作系统的稳定性及可靠性大家是有目共睹的。
将计算机技术与网络技术应用于现代高等教育中,是现代高等教育发展的需 要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必 要手段。基于网络的在线考试和无纸化办公一样必然成为社会发展的趋势,在线 考试是采用大规模试题库的计算机网络考试模式。随着计算机网络在生产生活、 科技教育中的普及,传统的考试出卷、答题方式以及成绩管理正发生着巨大的变 革,因此,如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个重要 课题。在线考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随 地对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此网 络考试系统是电子化教学不可缺少的一个重要环节。
(1)系统管理员模块 在这个功能模块中 提供了管理员的登录,用户的创建,相关数据的录入等。 (2)任课教师模块 这个模块主要实现教师对试题的录入和修改,试卷信息的录入,阅卷和成绩 分析。 (3)监考教师模块 本模块主要实现监考指令的发送。 (4)学生模块
本模块的主要功能是记录学生的答案等信息以及自动组卷。
为了系统的安全,用@符号来屏蔽系统在客户端浏览器显示错误提示,同时用 die()函数来显示连接数据库服务器失败的错误提示并直接退出程序。
用 mssql_close 函数关闭连接,创建一个 php 与数据库之间的断开文件,命 名为 close.php <?php @mssql_close($dbconnected); ?>
操作上 SQL Server 明显要比 Orcale 简单,Oracle 的界面基本是基于 Java 的, 大部分的工具是 Dos 界面的,甚至 SFra Baidu bibliotekLPlus 也是,SQL Server 是跟新一代的 DotNet 平台一样,全图形界面,很少见到 DOS 窗口。SQL Server 中的企业管理器给用户 提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle 也有自己 的企业管理器,而且它的性能在某些方面甚至超过了 SQL Server 的企业管理器, 但它安装较为困难。
网络技术越来越广地应用于社会的各个领域,改变着人们的学习、工作、生活乃 至思维方式,也引起了教育领域的重大变革。纵观计算机化测试的研究和应用的 历史可可以看出,随着计算机技术的发展,计算机在测试中的应用从当初单纯的 判分,到 IRT 模型出现后的自适应考试,再到现在的基于网络的情境化、模拟化 测试, 计算机发挥的作用越来越大。试题的形式也在此过程中发生着变化,从固 定在单一试卷中的试题发展到了可以自由组合的题库,再到现在的多媒体试题库。 随着题库的建立,出卷的工作变得更简单方便了,测试的形式也发生着变化,由 所有学生同考一张试卷的大规模的集体测试发展到了同一场考试使用等同考查效 力的不同试卷的小组测试,随着题库的增大和计算机技术的发展,个别化的测试 试卷成为研究人员和教师们新的关注对象[1]。随着计算机辅助教学(CAI)的发展, 计算机的使用使教师和教育测量专家们的许多设想逐渐能够得以实现。因此,技 术的先进与否不能作为评判一个教学平台的好坏的关键,只有最适合教学需求的 才是最好的。作为网络教学平台,就是要帮助教师实现教学理念,作为网络教学 平台中最为重要的组件之一的评测系统,当然也要秉承这个宗旨:帮助教师实现 教育测量功能[2]。
在信息时代告诉发展的今天 传统的考试运作方式已经远远不能满足与日俱 增的各种考试需要 为了提高效率、降低成本、减少教师的工作量、方便考生应试, 考试体系必须引入信息化的管理方法,所以网上在线考试系统应运而生需求分析 是整个软件成功实现的基础,是软件设计的第一步。只有真正的做好需求分析, 才能真正了解客户的需要,才能为软件开发的每一步做好指导工作,所以说整个 软件的实施是建立在需求所分析出的各项功能上的通过对考试进行详细的了解和 分析。一个功能完全满足基本需要的系统必须包括以下几个模块[4]:
表。(6)通过对各个模块进行整合,得出在线考试系统的工作流程,如图 2.1 所 示。
网络化教学过程中需要进行阶段性评测,考试是目前较为主流的测量方法, 因此在线考试系统是网络教学平台的学习支持子系统的重要组成部分。随着开发 技术的发展,在线考试系统的题库系统得到了改进,同时借助便利的自动组卷模 块可以得到多份等同试卷,还可借助发布模块做到同卷不同形式,以此来实现部 分“个别化考试”的功能。严格意义的个别化考试,需要结合连续评价系统,即 跟踪学生的学习过程,通过对学生在学习量、技能、学习路径及表现等方面变化 的观察,动态的完成对学生知识水平原熟练程度的测评,然后有针对地进行个别 化考试。
2、PHP 直接访问 SQL Server 2005 PHP 直接访问 SQL Server 2005 时,利用 PHP 提供的 Mssql 函数库来创建连接, 分为一般和永久两种连接方式[18,19]。 一般连接使用的函数是 mssql_connect。 永久连接使用的函数是 mssql_pconnect。 其语法如下: int mssql_connect(string [servername],string [username], string [password]); int mssql_pconnect(string [servername],string [username], string
在线考试系统的设计与实现
摘要:随着计算机在社会各个领域的广泛应用,计算机专业的很多课程都采用了 在线考试系统,通过对利用计算机和网络,提高学生的实践动手能力,为学生就 业提供有力的保障。在大力支持下,在相关部门的配合下,我们研发小组利用 PHP+SQL Server 2005 技术开发了一套适合使用的在线考试系统,实现在考试改革 中要求大部分课程考试的无纸化要求。在本系统中,主要承担了数据库的设计与 实现和部份功能模块代码的设计与实现。 关键词:在线考试系统;设计;实现
2.3 在线考试系统的功能设计
2.3.1 在线考试系统的工作流程
通过对在线考试系统的功能进行分析,我们大体上确定系统的每个模块的功
能,每个模块的工作流程如下:
系统维护
系统管理员登
增加任课教师及开课信息
任课教师登
录入试题
有 试题库
录入试卷信
修改
监考教师登 学生登录
任课教师登
发考试指 选择考试
进行考试 阅
在本系统中,采用的是第一种方式使用 mssql_connect 函数进行数据库的连 接,创建一个 php 与数据库之间的连接文件,命名为 conn_db。php 来实现的。 conn_db。php 的代码如下: <?php $dbconnected=@mssql_connect("数据库服务器名称或 IP","用户名","密码") or die("连接数据库服务器失败!"); mssql_select_db("jiaocai",$dbconnected);//选择要操作的数据库 ?>
2 需求分析
2.1 系统的需求分析 系统需要解决的主要问题:首先,因为考试是面向特定的某些对象的,所以
考生进人系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需 要选择考试的种类,所以系统还应具有考试种类选择的功能。鉴于目前考试环境 一般为机房,考试者之间的距离很近,为规范考试,对于每个应试者来说,试卷 的题量应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务 器的数据库随机抽取试题后动态生成的[3]。另外,系统还应该对考试时间进行控制, 时间到了会要求考试者交卷或强制停止考试。考试者选择答案提交后,应该由计 算机自动判卷,得到成绩后显示出来。此外,应该能够方便、快捷的对在线考试 系统管理,特别是管理员需用拥有对用户的管理权、对题库的修改权及对出题的 干预权和对考试结果的分析。 2.2 系统的功能需求分析
[password]); 这两个函数均可用来开启与 SQL Server 2005 数据库的连接[16,17]。但是对于使
用 mssql_connect 函数连接数据库时,可以使用 mssql_close 函数关闭连接;而 永久连接则不能使用 mssql_close 函数关闭连接,而且每次调用该函数时,都会 检查是否曾经执行过这个函数。如果执行过,函数则直接返回己执行过的函数的 值,否则连接这个函数,并返回一个新的值。
在本系统中,数据库选用的是 SQL Server 数据库,PHP 与 SQL Server 数据库 的连接可以通过以下两种方式实现。
1、PHP 通过 ODBC 访问 SQL Server 2005。ODBC(Open DataBase Connectivity) 即开放式接口,是由微软主导的数据库连接标准,操作环境也以微软的系统最成 熟 。在 [3,14,15] Unix 系统中,通常要使用其他厂商所提供的 ODBC 界面,有些 Unix 厂 商会自己提供 ODBC 界面。它为用户提供了一个访问关系数据库的标准接口,对于 不同的数据库它提供了一套统一的 API;可以使应用程序通过 API 访问任何提供了 ODBC 驱动程序的数据库,而目前所有的关系数据库都提供了 ODBC 驱动程序,所以 ODBC 已经成为数据库访问的业界标准,并得到了广泛应用[1,14,15]。
选择何种数据库软件,性能是首要问题,当考虑性能的同时当然少不了究竟 要投入多少资金在这产品也是个很关键的问题。要建立并运行一个数据库系统。 不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale
数据库的价格是远比 SQL Server 数据库要高,为什么 Oracle 数据库比 SQL Server 数据库价格上要高出那么多,一方面 Oracle 的初始花费相对较高,特别是在考虑 工具软件的时候,Oracle 很多工具软件需要另外购买,与 Microsoft 提供免费的 SQL Server 工具软件相比,Oracle 更显价格的不菲。但由于 SQL Server 只能在 Windows 下运行的原因,普遍认为 SQL Server 数据库的可靠性是比较差的。Oracle 的性能优势体现在他的多用户上,而 SQL Server 的性能优势在多用户上就显得力 不从心了。
4 在线考试系统的实现
当需求分析,功能设计,数据库设计并实现涉及到的工作完成以后,我们就 开始在线考试系统的开发。首先选择合适的开发平台,这里我们选择的是 PHP,当 然可以选择 JSP,ASP 等其他的开发平台。PHP(Hypertext Preprocessor,超文本 预处理器)是一种 HTML 内嵌式的语言,混合了 C、Java、Perl 等多种语言的特点, 被广泛应用的开源式的多用途脚本语言。PHP 最重要的特征是它的数据库集成层, 完全支持 SQL 标准,可以支持大多数数据库系统,如 SQL Server, MySql, Sybase, Oracle 等,并且具有数据库访问速度快、运行效率高、性能稳定、操作简单等优 势。PHP 与 HTML 语言具有非常好的兼容性,程序员可以直接在脚本代码中加入 HTML
试卷信息表
图 2.1 在线考试系统的工作流程
(1)系统管理员模块:系统管理员登录系统以后,进行数据备份、恢复等系 统维护工作,以及创建老师或管理员账号,导入开课信息及选课学生名单等操作。 (2)任课教师模块:任课教师登录后,选择其担任的课程后,录入试题后存储在 试题库中,若试题库中的题目有误,则可以修改后保存。若有考试或者考核的需 要,则可以录入相应的试卷信息,如课程名称,学生人数等。(3)监考教师模块: 一旦有考试需求,监考教师登录后,可以发送开考指令。(4)学生模块:监考教 师发出监考指令后,学生登录系统选择相应的科目后就可以进行答题操作。(5) 考试结束后,若试卷中没有手动阅卷的试题内容,系统则自动阅卷,将学生成绩 存入数据库中,若有手工阅卷的部分,教师登录后可以阅卷,最终形成试卷信息
3 数据库开发平台的选择
选择一个合适的数据库管理系统,对系统的性能和效率有着重要的地位,首 先,操作系统的稳定对数据库来说是关键因素,在数据库可操作平台上,Oracle 可在所有主流平台上运行,Oracle 数据库采用开放的策略目标,它使得客户可以 选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、 工具。对开发商来说是很大的支持。而 SQL Server 却只能在 Windows 上运行了, 但 SQL Sever 在 Window 平台上的表现,和 Windows 操作系统的整体结合程度,使 用方便性,和 Microsoft 开发平台的整合性都比 Oracle 强的很多,并且 Windows 操作系统的稳定性及可靠性大家是有目共睹的。
将计算机技术与网络技术应用于现代高等教育中,是现代高等教育发展的需 要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必 要手段。基于网络的在线考试和无纸化办公一样必然成为社会发展的趋势,在线 考试是采用大规模试题库的计算机网络考试模式。随着计算机网络在生产生活、 科技教育中的普及,传统的考试出卷、答题方式以及成绩管理正发生着巨大的变 革,因此,如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个重要 课题。在线考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随 地对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此网 络考试系统是电子化教学不可缺少的一个重要环节。
(1)系统管理员模块 在这个功能模块中 提供了管理员的登录,用户的创建,相关数据的录入等。 (2)任课教师模块 这个模块主要实现教师对试题的录入和修改,试卷信息的录入,阅卷和成绩 分析。 (3)监考教师模块 本模块主要实现监考指令的发送。 (4)学生模块
本模块的主要功能是记录学生的答案等信息以及自动组卷。
为了系统的安全,用@符号来屏蔽系统在客户端浏览器显示错误提示,同时用 die()函数来显示连接数据库服务器失败的错误提示并直接退出程序。
用 mssql_close 函数关闭连接,创建一个 php 与数据库之间的断开文件,命 名为 close.php <?php @mssql_close($dbconnected); ?>
操作上 SQL Server 明显要比 Orcale 简单,Oracle 的界面基本是基于 Java 的, 大部分的工具是 Dos 界面的,甚至 SFra Baidu bibliotekLPlus 也是,SQL Server 是跟新一代的 DotNet 平台一样,全图形界面,很少见到 DOS 窗口。SQL Server 中的企业管理器给用户 提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle 也有自己 的企业管理器,而且它的性能在某些方面甚至超过了 SQL Server 的企业管理器, 但它安装较为困难。