当前位置:文档之家› 毕业论文—智能在线考试系统的设计与实现

毕业论文—智能在线考试系统的设计与实现

基于ASP.N ET的智能在线考试系统的设计与实现摘要:智能化的在线考试系统是建立在互联网上的应用系统,旨在实现考试的信息化管理。它可以帮助实现教考分离,以及考务工作的全自动化管理,可以有效利用网络的软硬件资源,减少了物力和人力的开销,效率较高。因此,研究开发智能在线考试系统具有一定的理论价值和实际意义。

本文介绍的智能在线考试系统是采用https://www.doczj.com/doc/cf5638446.html,技术,在.NET平台下设计与实现。系统采用VB程序设计语言作为开发语言,基于B/S体系架构,以SQL Server 2008为后台数据库服务器,利用Dreamweaver CS5设计主要页面,实现具备用户登录、自动组卷、在线浏览WORD/PDF试卷、自动阅卷、题库管理等功能。

关键词:智能在线考试系统;B/S模式;题库;数据库设计

Abstract:Intelligent online examination system is based on the use of the Internet system ,in order to realize the information management of examination system. It can help to achieve the separation of teaching and testing, as well as fully automated management of examination affairs, It can effectively utilize the network hardware and software resources. It is efficient and fast enough to reduce the large amount of material resource. Therefore, the research and development of intelligent online examination system has a certain theoretical and practical significance.

Online examination system is designed and implemented on .NET platform with https://www.doczj.com/doc/cf5638446.html, technology. This system uses the VB programming language as a development language to carry on the design and based on B/S architecture and SQL Server2008 database, Dreamweaver CS5 to design the main page, it is implemented user login, automatic test paper, online browsing WORD / PDF papers, automatic scoring, bank management and other functions.

Key words: Intelligent online examination system;B/S mode; database design

1绪论

1.1研究背景及意义

考试一直以来都是评价学生学习效果的主要方法,是教育教学的重要组成部分。传统的考试需要经过五个步骤,即教师编写试卷、打印试卷、安排考试、安排监考、收取试卷、评改试卷、讲评试卷和分析试卷这一漫长而复杂的过程,这一考试方式已经不能适应现代教育的需要。因此,如何使考试过程变得方便、高效、公正,是现代教育的一个重要课题。

随着数字化和信息化技术的不断进步,课程设计中的一个新领域——网络式课程应运而生,在信息技术领域是一个非常重要的应用,而且这些应用已经逐步渗透到千家万户。这种教学方式就是采用互联网的优势把优秀的教学资源发布在网络上,由学生来自主学习的模式。因此,智能化的在线考试系统就成为网络教学的一个重要组成部分,对教学信息化以及虚拟学习环境的发展具有重要的意义。

1.2论文研究的内容

本文根据目前在线考试系统的研究现状,通过学习相关的理论知识、实现技巧以及有关文献资料,设计出一个基于Web的智能在线考试系统,它将实现建立数据库、系统自动组卷、在线考试、自动阅卷评分等功能。在系统的设计过程中,首先是设计数据库,然后对各个功能模块进行详细设计,编写相应代码,最终实现整个系统。

1.3论文的组织结构

本文主要目的是对基于https://www.doczj.com/doc/cf5638446.html,的智能在线考试系统的方案研究,以及实现过程中用到的关键技术进行详细的介绍。论文组织结构如下:

第一章绪论。阐明了课题的研究背景及意义,然后指出本文的主要研究内容,最后介绍本文的组织结构。

第二章系统开发相关理论和技术的研究。主要分析了B/S开发模式、https://www.doczj.com/doc/cf5638446.html, 动态网站开发技术、SQL Server数据库开发技术、Dreamweaver网页开发工具。

第三章系统方案研究与设计。首先对系统进行需求分析,根据需求分析对系统的总体架构和功能模块进行设计。

第四章在线考试系统的实现。论述了系统的总体结构及关键功能模块的设计与实现,包括用户登录、用户信息管理、用户密码找回、试题库管理模块、智能组卷和在线考试功能模块。

第五章结束语。对本系统所完成的工作进行总结,提出不足,并展望今后进一步深入研究的方向。

2系统开发相关理论和技术的研究

2.1开发模式分析

B/S开发模式(浏览器/服务器模式),它采用三层分布结构:浏览器、Web服务器、数据库服务器[1]。客户机上只需安装一个浏览器,如IE浏览器,服务器上安装一个数据库,比如ORCAL、SQL SERVER或者My SQL 等大型数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server同数据库进行数据交互。这种模式移植性好,可以跨操作系统平台。

2.2 https://www.doczj.com/doc/cf5638446.html,动态网站开发技术

https://www.doczj.com/doc/cf5638446.html,是.NET FRAMEWORK的一部分,是微软公司推出的一种Internet 编程技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。它是一种独立于浏览器的编程模型,可以在最新的IE、360等浏览器上运行。

https://www.doczj.com/doc/cf5638446.html,将常用的代码封装到各种面向对象控件中,这些控件通常是由客户端用户引发的事件来触发。随着开发环境的不断更新,.NET框架在https://www.doczj.com/doc/cf5638446.html,的支持也日益完善,使得网站开发变得更加容易。

2.4.1 https://www.doczj.com/doc/cf5638446.html,技术概述

https://www.doczj.com/doc/cf5638446.html,是位于.NET框架顶层的一组组件和服务。当创建https://www.doczj.com/doc/cf5638446.html,应用程序时开发人员可以使用Web窗体或XML Web Service,或以其他合适的方式进行

组合。Visual Studio工具集成了.NET框架,拥有强大的应用软件产品的构建能力,支持多种语言的编译,以及领先的代码调试功能[2]。https://www.doczj.com/doc/cf5638446.html,应用程序由一组以.aspx为扩展名的文件组成,文件中包含了应用程序的代码,逻辑和Web站点的各种Web页面,https://www.doczj.com/doc/cf5638446.html,应用程序对.NET框架所有的命名空间和类具有完全的访问权限,用户可以利用这些命名空间和类来建立功能强大的应用程序[3]。

2.3 SQL Server数据库开发技术

SQL Server是一个功能强大的后台数据库管理系统,它可以帮助各种规模的企业用来管理数据。它是一个具有客户机/服务器体系结构的关系数据库管理系统,可以运行于多种操作系统平台,支持多个CPU,提供了对可扩展标记语言(XML)的核心支持,具有在Internet上和防火墙外进行查询的能力,与此同时,还在可伸缩性和可靠性方面保持着多项基准测试记录,是一项全面完整的数据库与分析系统。它在网络环境中支持不同类型的网络协议如TCP/IP、Apple Talk等[4]。

SQL SERVER 2008数据库引擎为关系型数据和结构化数据,提供了更安全可靠的存储功能,用户可以构建和管理用于业务的高性能的数据应用程序[5]。SQL Server的验证机制采用二级安全验证、登录验证以及数据库用户账号和角色许可验证三种模式。SQL Server支持两种身份验证模式:Windows NT身份验证和SQL Server身份验证。

2.4 Dreamweaver

Dreamweaver作为一款集网站管理和网页制作为一体的跨平台网页浏览器,是美国Maeromedia公司开发设计的一款软件开发工具[6]。

当前,绝大多数网站都是利用Dreamweaver开发制作的,这种工具软件可以配合其他编程语言以及开发工具来协同完成网页制作。比如在Visual Studio中创建的.aspx文件,就可以在Dreamweaver中打开,方便设计界面。Dreamweaver具有以下主要优点:

(1)多种视窗模式

Dreamweaver集合了设计视窗、代码视窗、代码与设计视窗三种编辑方式。

(2)制作效率高

Dreamweaver可以用快捷的方式将Fireworks,Flash,Photoshop等元素移至网页中。

(3)强大的网站管理功能

Dreamweaver不仅可以编辑网页,还可以利用库、模板、标签等功能组织大型网站的开发。它内置了大量的行为,设计人员就不必编写JavaScript。

(4)简单的对象插入功能

可以通过对象面板方式快捷地将表格、框架、当前日期、导航条、电子邮箱、Flash文字、按钮等插入到网页中[7]。

3系统方案研究与设计

3.1系统的需求分析

对系统进行需求分析的目的是为智能在线考试系统的详细设计提供充分的理论依据,需求分析的质量决定了整个开发工作的成败。在需求分析阶段,主要的工作就是通过详细的调查对系统的功能进行分析。

3.1.1 UML用例图描述

使用UML(Unified Modeling Language,统一建模语言)进行系统需求分析确定了题库进行管理的方式,在线考试的流程,本系统的各个使用者权限,从用户角度如考生、教师、管理员,描述系统的功能,并指出各功能的操作者[8]。

(1)各角色关系图

使用Use Case(用例图)来确定系统中各角色的关系。通过对智能在线考试系统的需求分析,该系统的主要功能有:用户信息管理、试题库管理、自动组卷、在线考试、自动评卷、成绩管理等。因此,可以确定本系统主要有三个角色:考生、教师、管理员。角色的用例图如图3-1所示:

图3-1 角色用例关系图

上图中各角色描述如下:

○1考生:考生可以注册、登录系统、在线考试、查询成绩、修改个人信息。

2教师:教师可以注册、登录系统、修改学生信息、增加学生信息、维护题库、查询学生成绩等。

3管理员:管理员可以管理教师和学生的注册信息、修改自己或者其他角色的密码、维护题库等。

(2)系统用例图

下图使用UseCase图表示外部角色在系统中各项权限和功能,系统用例图如图3-2所示:

图3-2 系统用例图

3.1.1系统功能的描述

本系统主要实现的功能包括:用户信息管理、题库管理、智能组卷、在线考试、智能阅卷评分。

(1)用户信息管理

用户

学生

教师

管理员

在线考试

在线练习

系统登录

修改信息

试题管理

题库管理

管理所有用户信息

表示使用用例

系统管理员可以在后台添加考生用户和教师用户,也可以在用户信息管理模块添加、删除、编辑用户。

(2)题库管理

教师和管理员可以对试题库中的试题进行添加、删除、编辑操作,WORD/PDF 文档试卷要确保文件存储地址正确。

(3)智能组卷

该考试系统实现自动组卷和考生自主选择已排版好的WORD/PDF试卷。自动组卷则是根据组卷的约束条件,采用随机抽题算法来自动生成试卷。

(4)在线考试

考生登陆系统之后,选择自己要参加的考试进入考试页面,考试开始计时。如果考生选择的是WORD/PDF试卷,则只需将答案作答在页面右侧的答题卡上,答题结束,点击检查按钮查看是否还有未作答题目,确认无误后保存并交卷;如果考生选择的是随机抽题模式,则考试页面是以“一页一题”的方式呈现,答完一题点击“下一题”继续作答,直到最后一题,在该模式考生随时可以查看该题目正确答案。

(5)智能阅卷评分

考生作答完所有题目后,点击保存并交卷后,系统会立刻在后台对考生试卷进行评阅,评阅完成后即刻给出成绩提示。

3.2系统数据库的设计

3.1.2数据库表设计

在线考试系统的数据库存在于逻辑意义上的数据库服务器中。数据独立于程序而存在,安全性较高[9]。数据库设计的任务是要按照系统的应用要求,为整体功能模块设计一个结构合理,使用方便,效率较高的数据库及其他应用系统,数据库设计的优劣将影响整个系统的性能[10]。根据本系统所需信息及要实现的功能,系统的表结构设计如下:

(1)考生信息表(users):用来存储系统中考生的基本信息,存放考生表主键、

考生姓名、密码、性别、电子邮箱及学校。表结构如表3-1所示:

Teacher表参见考生信息表Users

(2)基础知识表(基础知识_paper):用来存储试题库中已经排版的WORD/PDF试卷,包括主键、试卷名称、考试类型、试卷总分、题目总数、选择题的分值、选择题的答案、文件存储地址以及考试时间。表结构如表3-2所示:

表3-2 基础知识表

(3)选择题题目表:用来存储试题库中的选择题信息,存放题目编号、分值、

题目内容、正确答案、A选项、B选项、C选项、D选项。表结构如表3-3所示:

表3-3 选择题题目表

(4)考生word试卷表:该表存放考生自主选择的WORD/PDF文档试卷。存放试卷的编号、考生的编号、考生姓名、试卷名称、试卷选择题答案、每题的分值、考生的答案、考生得分。表结构如表3-4所示:

表3-4 考生word试卷表

(5)考生试卷明细表:该表存放考生参加练习后的试卷,即为系统自动生成

的试卷。存放考生的编号、题目序号、分值、题目、A选项、B选项、C选项、D 选项、考生答案、正确答案。表结构如表3-5所示:

表3-5 考生试卷明细表

4智能在线考试系统的实现

智能在线考试系统采用了模块化的设计方法,选择了面向对象的、易于扩展的ASP编程语言环境以及大型客户机/服务器数据库(Microsoft SQL Server 2008)的数据平台。该系统具有开放性、方便性和灵活性等特点[11]。

本系统主要功能模块包括用户注册、用户登录、用户密码找回、用户信息管理、在线考试、智能阅卷评分。下面介绍系统中几个主要功能模块的实现。

4.1用户注册模块的实现

用户注册是智能在线考试系统的基础,是发展考生和教师用户的必须的途径。用户注册包括用户添加用户的基本信息、管理员审核两步。

考生注册和教师注册的功能相同,都是在regist.aspx页面实现。该模块主要用到Textbox、RadioButtonList、Button等控件,用户输入自己的基本信息,可以通

过RadioButtonList选择不同用户身份注册为学生用户或者教师用户。用户注册界面如图4-1所示:

图4-1 用户注册界面

4.2用户登录模块的实现

智能在线考试系统的登录模块主要包含三部分,分别是:考生用户的登录、教师用户的登录、系统管理员的登录,这三部分实现的原理相同,都是根据用户名和密码进行登录。

该模块由login.aspx页面实现,实现该模块主要用到Textbox,Label,Button,RadioButton,Checkbox等控件,用户输入用户名和密码,选择自己所属的身份,点击登录后,通过后按钮事件的响应函数,实现对数据库的操作,通过Command 对象执行的SQL命令查询用户数据,判断是否存在该用户的信息,如果不存在则弹出对话框提示“用户名或密码错误!”,如果存在该用户信息则页面跳转到该用户所对应的个人主页。用户登录模块的界面如图4-2所示:

图4-2 用户登录界面

4.3用户密码找回模块的实现

当用户遗忘自己的登录密码时,可以通过系统的密码找回功能找回。该模块由findpassword.aspx页面实现,主要用到Textbox、Button等控件,当用户输入注册时的邮箱地址和页面生成的验证码后,通过按钮事件响应的函数查询数据库,如果所输入的邮箱地址跟数据库中存储的用户邮箱地址一致,系统便会自动将密码以邮件的形式发送到用户的邮箱。

邮件发送功能是通过调用JMail来实现的,首先需要安装JMail.dll组件,然后添加引用Imports JMail,在本机或者服务器上进行注册后添加相应的代码即可实现邮件发送,需要注意的是发送邮件的邮箱必须要开启SMTP服务。该模块的界面如图4-3所示:

图4-3 用户密码找回界面

4.4在线考试模块的实现

4.4.1智能组卷

智能在线考试系统有两种方式实现考试,一种是随机生成的试卷,即逐题练习,另外一种是直接作答已经排版好的WORD/PDF格式的试卷。

(1)随机生成试卷

随机生成试卷是实现考试系统的核心功能之一,随机生成试卷就是系统按照用户事先对试题的要求,即设定好的试卷参数自动地从试题库中选出符合用户要求的试题,然后组成一份完整的试卷。随机生成试卷时用到的策略主要是随机组合,是通过VB语言中随机函数Random()产生随机数来实现的,语法为Rnd(number),numbe r的值决定了Rnd生成随机数的方式。生成某个范围内的随机数的公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound)

在这里,upperbound是随机数范围上限,而lowerbound则是随机数范围的下限。需要注意的是,在调用Rnd函数之前,要先使用无参数的Randomize语句初始化随机数生成器。该模块的界面如图4-4所示:

图4-4 随机生成试卷界面

(2)读取已编排好的WORD/PDF试卷

智能在线考试系统支持读入WORD和PDF两种格式的试卷,这些试卷均存储

在站点文件夹下,并且这些试卷的文件存储路径也会事先存在数据库中的试卷表中。

用户登录成功后,页面跳转到个人主页界面,用户点击考试时,跳转到exam_main.aspx所定义的页面,在该页面用户可以根据GridVie w中显示的试卷名称自主选择要作答的试卷。选择某一试卷后页面将跳转到exam_text.aspx,此界面通过Page_load函数,显示试卷的名称与用户名。此时用户点击开始考试时,触发Button_Click函数,首先根据试卷名称paper_name查询数据库获取该WORD/PDF 试卷的存放路径,然后创建一个Document对象,将该Document对象获取到的文本信息显示在Textbox中。考试界面如图4-5所示:

图4-5 在线考试界面

①读取WORD格式试卷

本系统读取WORD格式试卷的工具是采用ASPOSE.Words组件,它是一款先进的类库,可以直接在各个应用程序中执行各种文档处理任务。ASPOSE.Words 支持DOC、OOXML、PDF、HTML等其他格式的文件,使用它可以生成、更改、转换、渲染和打印文档而不使用Microsoft Word。在使用该组件前首先应该先将该组件引入到站点目录的Bin目录下,在程序代码中引入命名空间Imports ASpose.Words,之后便可以进行Word文档的读取操作。

②读取PDF格式试卷

本系统读取PDF格式的试卷采用的工具是PDFBOX组件,它是一个为开发人

员读取和创建PDF文档而准备的纯Java类库。在使用该组件前同样需要将该组件下的DLL文件引入到站点Bin目录下,然后在程序代码中引入命名空间:Imports org.pdfbox.pdmodel,Imports org.pdfbox.util,之后便可以进行PDF文档的读取操作。

4.4.2添加答题卡

当考生点击开始考试按钮后,系统会根据题目的数量动态生成答题卡。首先需要添加一个放置控件的容器,如Panel控件,然后通过容器的Controls属性将相应答题项对应的控件添加到容器中,答题项的形式是以RadioButtonList的形式呈现。动态生成答题卡是根据表格的动态生成原理,将行值设为题目的总数,列值设为2,第一列显示题目的编号,第二列显示RadioButtonList,即选择题的四个选项。

4.4.3考试计时

本系统实现了考试计时功能,考试的剩余时间会在卷面的上方动态地显示[12]。时间到达该试卷预定的时候后系统会自动强制交卷,学生在规定的时候内答完题目后也可以手动交卷。系统会根据数据库中试卷的考试时间,进行考试计时,考试时间到,页面自动关闭。系统利用Timer控件实现计时,首先添加一个ScriptManager控件到页面中,然后再添加一个UpdatePanel控件和一个Timer、一个Label控件到页面中,并设置Timer控件的Interval属性为1000,相当于1秒钟刷新一次;双击Timer控件添加Tick事件处理,在事件处理中设置Label的Text 属性值;在Global.asax文件中的Session_Start事件中用Session变量设置考试时间。

4.5智能阅卷评分

当考生作答完试卷后,点击检查按钮之后,则在答题卡中,尚未作答的题目会被标记为红色,已经作答的题目标记为黄色。考生检查完毕保存确认交卷后,系统会将该套试卷保存到数据库中的考生WORD试卷明细表中,最后系统将逐一将考生的客观题的答案与试题的正确答案进行对照,判断正误,并依据试题的相应分值进行计分,同时将考生成绩计入数据库,然后根据试题的分值判定分数,该结果即作为考生该场考试的最后得分存入考生得分字段中,考生的分数以提示

消息的形式告知考生。检查试卷的界面如图4-6所示:

图4-6检查试卷界面

4.6用户信息管理模块的实现

用户信息管理模块主要实现管理员对不同身份用户的管理,主要是对考生用户和教师用户的信息管理。

管理员登录后可以在该模块直接添加、删除、修改,可以设置用户的初始密码,录入用户的登录名和邮箱。添加用户时只须输入用户的基本信息即可。若要删除用户,只须点击该用户前面的删除链接,确认后即可删除该用户的信息。管理员输入所添加用户的所有信息通过GridView绑定数据库相关数据后然后显示在界面上,管理员可以逐页地查阅所有用户的信息。该模块由manMain.aspx文件实现,主要用到Gridview,Textbox,Label,Button等控件。该模块的界面如图4-7所示:

系统的首页如图4-8所示:

图4-8 智能在线考试系统首页

5结束语

5.1研究工作总结

在整个系统的设计开发过程中,我深刻体会到在设计开发一个应用系统时,

选择合适的系统设计方法和体系结构,对系统构建后性能的好坏,将会产生巨大

的影响。本系统是采用B/S模式来实现的,服务器采用SQL SERVER数据库管理

系统和微软的https://www.doczj.com/doc/cf5638446.html,技术来构成考试的应用服务系统,客户端采用浏览器完成。

经过严密的需求分析、系统设计和代码编写,基于https://www.doczj.com/doc/cf5638446.html,的智能在线考试

系统已经基本完成,本系统实现了用户登录、用户信息管理、试题管理、智能组

卷、在线考试等基本功能。通过对该系统的开发实践,学习掌握了基于.NET应用程序开发的关键技术,积累了一些经验,为以后的工作学习奠定了良好的基础。

5.2展望

由于本人的时间和技术水平有限,所以本系统还存在这一些不足之处有待做更深入的研究和进一步的不断完善:

(1)由于在技术上要实现主观题的智能阅卷还比较困难,所以本系统只实现了客观题的智能阅卷。本人的知识比较匮乏,暂时还没有比较完善的解决方案;

(2)本系统在考生提交试卷之后仅将考生所得成绩公布给考生,而没有对考生的试卷进行理性的统计与分析;

(3)在智能组卷过程中没有考虑出题时题目的难度系统等因素;

(4)在本系统的研究过程中着重考虑了系统整体功能的实现,而忽略了对安全性的研究。今后应在服务器安全、数据库安全等多方面进行更加深入的研究。

参考文献:

[1] 华如海,王俊普. 基于约束满足的智能组卷方法的研究与实现[J].计算机应用研究,

2010,1(3):20-22.

[2] 吕琼. 在线考试系统的设计与实现[D].硕士学位论文. 大连:大连理工大学,2013.

[3] 唐贤伦. 基于三层C/S体系结构的信息发布系统的研究与实现[D]. 硕士学位论文. 重

庆:重庆大学,2002.

[4] 曾静. 智能化在线考试系统的研究与实践[D] . 硕士学位论文. 南京:南京大学,2010.

[5] 杨晓波. 在线考试系统的设计与实现[D]. 硕士学位论文. 内蒙古:内蒙古大学,2012.

[6] 郭新峰. https://www.doczj.com/doc/cf5638446.html,动态网站开发基础教程(C#篇)北京:清华大学出版社,2006.

[7] 曾鸿标.在线考试系统及后台题库设计与实现.四川:电子科技大学,2009.

[8] 楼玉萍. 基于B/S模式的计算机基础考试系统的研究与实现[D].北京:国防科技大学,

2005.

[9] 徐世浩. 高校教育网站https://www.doczj.com/doc/cf5638446.html,技术应用研究. 电化教育研究,2004,(1).

[10] 苏州大学. 智能组卷在线考试系统的设计与实现[D]. 硕士学位论文. 苏州:苏州大学,

2012.

[11] 现代远程教育资源建设技术规范(试行)[EB/OL],https://www.doczj.com/doc/cf5638446.html, .

[12] 张敏强. 教育测量学[M],北京:人民教育出版社,1998.

[13] 黄震. 在线考试系统分析与设计[D].硕士学位论文. 北京:北京邮电大学,2012.

[14] 刘露璐. 在线考试系统平台设计与实现[D]. 硕士学位论文. 吉林:吉林大学,2013.

相关主题
文本预览
相关文档 最新文档