xxx毕业设计

更新时间:2024-05-17 09:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

兰州工业学院

毕 业 设 计

题 目 在线考试系统 专 业 计算机网络技术 班 级 计网11 学 生 xxx 学 号 20110310xxxx 指导教师 xxx

目录

摘要 .................................................................................................................................................................... III

ABSTRACT ............................................................................................................................................... IV 第一章.绪论 .................................................................................................................................................... IV

1.1在线考试系统开发的背景及意义 ...................................................................................................... IV 1.2在线考试系统来发的现状及分析 ....................................................................................................... V 1.3本论文的研究内容 .............................................................................................................................. VI 第二章.在线考试系统的相关知识及技术 .................................................................................................... VI

2.1.1 JSP技术 ......................................................................................................................................... VI 2.1.2 MVC模式 ..................................................................................................................................... VII 2.1.3 SQLServer2000数据库技术 ...................................................................................................... VIII 2.1.4 Tomeat服务器 ............................................................................................................................... IX 2.1.5 B/S模式 ......................................................................................................................................... IX 2.1.6 Struts框架概述 ............................................................................................................................... X 第三章.在线考试系统的需求分析 ................................................................................................................ XI

3.1 基本需求分析 ..................................................................................................................................... XI 3.2用户界面需求 ..................................................................................................................................... XII 3.3通讯传输需求 ..................................................................................................................................... XII 3.4故障处理需求 ................................................................................................................................... XIII 3.5系统安全需求 ................................................................................................................................... XIII 3.6在线考试系统的业务需求分析 ....................................................................................................... XIII

3.6.1考试用户的业务需求分析 .................................................................................................... XIII

第四章. 在线考试系统的总体功能设计 .................................................................................................... XIV

4.系统的详细设计 .................................................................................................................................... XV

4.1试题设计 ................................................................................................................................... XVI 4.2数据库中表的设计 ................................................................................................................... XVI 4.3 用户、管理员权限 ................................................................................................................ XVIII 4.4 教师功能模块详细设计 ........................................................................................................ XVIII 4.5学生在线考试模块 ................................................................................................................... XIX 4.6 在线考试系统考试模块框图 .................................................................................................. XIX

第五章.在线系统的实现 ............................................................................................................................... XX

5.1 系统界面设计 ............................................................................................................................ XX 5.2 部分脚本功能介绍及详解 ..................................................................................................... XXII 5.3部分Java源码介绍 .......................................................................................................... XXXVIII 5.3.1包名介绍 ...........................................................................................................................XXXIX 5.3.2部分源码介绍 .......................................................................................................................... XL

第六章.在线考试系统的测试 .....................................................................................................................XLV

6.1什么是软件测试 ...............................................................................................................................XLV 6.2 软件测试的目标与方法 ..................................................................................................................XLV 第七章.总结和展望 .....................................................................................................................................XLV 致谢 ............................................................................................................................................................... XLVI 参考文献 ....................................................................................................................................................... XLVI

II

摘要

考试是教学过程中不可或缺的一个环节,是一种严格的知识水平鉴定方法 ,也是促进学生学习的重要手段。传统的考试方法要求组织者提前命题试卷,然后约定一个统一时间,让所有考生到考场里进行考试。在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向,省去传统考试的复杂的形式,考试变的更方便,节省人力物力。

本系统主要运用JSP技术,采用B/S(浏览器/服务器)架构的模式,MVC(视图控制模型)设计模式,开发包括从基本的考生管理,教师管理和课程相关的管理到出卷,考试,阅卷的功能,基本上完成了考试所需要的基本流程。通过相关的配置可以在网站上发布,或在局域网,或在互联网上运行,突破了时间和地点的限制,使考试变得灵活方便。运用MVC的模式,使系统分层清晰,提高系统的可扩展性可可维护性,符合java的面相对象特点。使用JSON可以更好的体现JSP的特点,使系统的建设更清晰。

关键词:JSP;MVC;在线考试;数据库;

III

ABSTRACT

Examination is an indispensable link in the teaching process, a rigorous identification of the level of knowledge, is also an important means to promote student learning. The traditional test method requires that the organizer advance the proposition papers, and then agreed upon a uniform time for all candidates to the examination, examination. Network technology is gradually infiltrated into all levels of social life, the traditional exam also faced with changes in the network test is a very important direction, eliminating the traditional examination of the complex form of examination more convenient, save resources.

This system mainly use JSP technology, use the B/S(Brower/Server) structure model, MVC (Model-View-Controller)design patterns, including from the examinee of basic development management, teaching management and the course of the related management to roll out, the exam, scoring function, basically completed test need basic process. Through configuration ,it can put out on web site in the local area network operation, or in the Internet to run on, broke through the time and the place limit, make the exam more flexible and convenient. Using MVC pattern, make the system stratification more clearly, improve the system scalability of maintenance, fit Java face of object characteristics. Using JSON, can better reflect the characteristics of JSP and make the system construction more clearly.

Key words: JSP;MVC;Online exam;Database;

第一章.绪论

1.1在线考试系统开发的背景及意义

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一

IV

个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

1.2在线考试系统来发的现状及分析

目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。

另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。

基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用MYSQL数据库系统和JSP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。

利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVS Server Page技术,我开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端)。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、用户个人信息修改、多用户同时在线考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户管理、试卷管理、分数管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。

V

1.3本论文的研究内容

通过该在线考试系统可以在任意指定地点借助于网络进行无纸化考试。该软件系统目前实现了 “在线考试”、“考生管理”、“题库管理”、“试卷管理”、“在线组卷”、“在线阅卷”、“成绩查询”等功能。本文的研究目标主要是针对大专院校教学考试中存在的学生人数众多,组卷、考试、阅卷、试卷成绩汇总效率低等因素,从网络技术与现行的考试制度的改革角度,探讨并实现了在线考试系统的解决方案。旨在利用现代教育技术和信息技术来构建基于B/S结构的在线考试系统,提高考试效率和质量。

本文主要探讨基于B/S结构的在线考试系统的技术实现方案,立足于运用先进的计算机网络技术进行系统的构建,主要包括教师管理、在线考试、考生管理、试题管理、试卷管理、在线组卷、在线阅卷、成绩查询等功能的设计与实现。主要解决的问题如下:

一、解决了主观题不能在线考试的问题

主观题和客观题考核的重点不同,考试题型中缺少主观题的考试是不完整的。考试系统不能处理主观题难在了不能进行语义识别。本系统虽也不能进行语义识别,但釆用了由系统提供答案和评分标准,教师在线阅卷,直接判分,系统自动汇总成绩的方式解决,提高了阅卷速度和效率。

二、解决了题库与试题数据在线管理的问题题库、试题众多,使得管理效率低下,试题数据陈旧、更新缓慢不能适应学科的发展要求。管理员可以通过网络进行题库和试题数据的更新维护更加方便快捷。

三、解决了在线组卷的问题

授课教师根据拟定的考核目标,从题库中在线选取难度比例适中的试题入卷,形成课程考试和的样卷。这样的处理提高了题库试题数据的利用率,使得出卷变得简单高效。

四、解决了在线考试的问题

合法的考试用户,通过验证后即可进行在线考试。 五、解决了在线阅卷的问题

对于考生提交的试题答案,客观题部分由系统自动阅卷,主观题部分由教师手工阅卷。在教师提交阅卷成绩后系统自动进行统计处理。本文研究和上述问题都是针对现代教学中在线考试方面需要解决的问题而展开的,具有一定的前瞻性和创新性。

第二章.在线考试系统的相关知识及技术

2.1.1 JSP技术

JSP 的全称是 Java Server Pages,是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web 页面提供了一个简捷而快速的方法。JSP 技术的设计目的是使得构造基于Web 的应用程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同工作。JSP 规范是 Web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页 HTML 文件(*.htm,*.HTML)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请求时,首

VI

先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 E-mail 等等,这就是建立动态网站所需要的功JSP 的全称是 JavaServer Pages,是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web 页面提供了一个简捷而快速的方法。JSP 技术的设计目的是使得构造基于Web 的应用程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同工作。JSP 规范是 Web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页 HTML 文件(*.htm,*.HTML)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 E-mail 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无 ActiveX,无 Java Applet,甚至无 Frame。 JSP 技术在多个方面加速了动态 Web 页面的开发: ① 将内容的生成和显示进行分离 ② 强调可重用的组件 ③ 采用标识简化页面开发

2.1.2 MVC模式

软件应用系统大部分可抽象为输入、处理和输出三个部分。在软件 发过程中,由于需求变更导致的任何一部分变化,都可能引起其它部分的变化,各部分之间的親合度,决定了变化的相对强弱,变化越少越有利于开发。因此,在软件开发过程中,降低各部分之间的稱合度是十分重要的。MVC是一种设计模式,对三部分进行了很好的分离,它将应用细分为模型层、视图层和控制层三个层次,很好地降低了系统各部分之间的稱合度,使系统在需求变更时,减少相应的变化,提高软件开发的效率,同时系统也更加易于扩展。

M(Model),即模型,主要负责业务数据逻辑处理及业务规则制定。在MVC模式中,业务模型的设计处于核心位置,数据模型在业务模型中更是占有着重要的地位。数据模型就是对实体对象的数据保存,也可以理解为实体对象的持久化。在日常的JAVA项目开发中,POJO(Plain Old Java Objects),即简单的Java对象,可以被视为一个最简单的数据模型。

V(View),即视图,主要指用户与系统进行交互的界面,视图可以接受用户的

请求,并向用户展示返回的数据信息。在JAVA Web应用开发中,可以使用HTML、JSP、XML等实现简单的视图界面,也可以使用JSF、Stmts、WebVelocity、Tapestry等WEB表示层框架实现。C(Controller),即控制,主要负责通过视图接受用户的请求,调用相应的模型进行数据处理,并将结果返回给相应视图。在JAVA开发中,可以用Servlet实现简单的控制,也可以使用目前主流的Spring框架实现。

三个层次虽然在功能上各尽其职,但是对于一个复杂的应用系统,任何功能的实现,都离不开三者之间的紧密联系与协作。三者的关系如图2-1所示。

VII

由图2-1可知,视图层在接收到用户请求后,将请求传递给控制层,控制层在收到请求后,调用相应的模型,进行数据的逻辑处理和状态变更,模型层在完成了业务处理后,会通知控制器变更完成,控制器在收到通知后,选择相应的视图,视图会调用特定的方法,查询相应的模型状态,模型将改变后的数据信息返回给

视图层,视图层向用户展示数据信息。举个简单的例子,用户在登录某个系统时,当用户填写完用户名、密码和验证码后,点击登录按钮,请求会传递给控制器,控制器调用相应的数据模型,判断用户是否合法,并将验证信息通知给控制器,控制器收到通知后,若用户信息合法,则选择系统主页面进行展示,否则调用登录页面,页面则调用指定方法,将特定的信息展示给用户。

2.1.3 SQLServer2000数据库技术

计算机发展到今天,已经不能单独看做一个个体,而是网络中的一个节点,也就是说,现在的计算机运用都是在网络的基础上进行的,这就带来了一个必然的趋势,那就是后台数据库技术的重要性越来越得到凸显。而数据库技术本身也在发生着深刻的变革,最原始的存储、查询功能正在发生着变化,而且这些功能必将被数据挖掘技术所取代,因此,我们必须清晰的认识到,未来在选择数据库的时候,一定要考虑前瞻性和易维护性。时下使用最多的数据库管理系统是微软公司开发的 SQL server,作为一种关系型数据库管理,它能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需要。SQL server 采用是分层式的通信体系,它的特点是网络层和协议层是分开的,这种分层的体系保证了相同的应用程序能够在不同的网络环境中使用。SQL server 中包含了客户端组件和服务端组件,并且支持多种不同类型的网络协议,因此,它的跨平台性很强。正是由于 SQL sever2000 所具有的扩平台性、组件可扩展性、协议通用性等的特点,才使它更加有利于网络考试系

VIII

统的维护和二次开发。作为一套专门为考试开发的系统,SQL sever2000 在系统的安全性上有着很大的优势,比如在高级的文件加密和网络加密方面具有无可比拟的优点,作为一个补充,它还提供了对特定用户授予预定权限的功能

2.1.4 Tomeat服务器

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,目前最新版本是 6.0.14。

Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 JSP 时,通常第一次会很慢,因为 Tomcat 要将 JSP 转化为 Servlet 文件,然后编译。编译以后,访问将会很快。另外 Tomcat 也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个 xml 文件中。通过这个应用,辅助于FTP,你可以在远程通过 Web 部署和撤销应用。当然本地也可以。

Tomcat 也具有传统的 Web 服务器的功能:处理 HTML 页面。但是与 Apache相比,它的处理静态 HTML 的能力就不如 Apache。我们可以将 Tomcat 和 Apache集成到一块,让 Apache 处理静态 HTML,而 Tomcat 处理 JSP 和 Servlet。这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。

在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat的 webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 JSP 时,通常第一次会很慢,因为 Tomcat 要将 JSP 转化为Servlet 文件,然后编译。编译以后,访问将会很快。另外 Tomcat 也提供了一个应用:Manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml 文件中。通过这个应用,辅助于 FTP,你可以在远程通过 Web 部署和撤销应用,当然本地也可以。

Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache. 我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat处理JSP和 Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。

基于 Tomcat 的开发其实主要是 JSP 和 Servlet 的开发,开发 JSP 和 Servlet非常简单,你可以用普通的文本编辑器或者 IDE,然后将其打包成 WAR 即可。我们这里要提到另外一个工具 Ant,Ant 也是 Jakarta 中的一个子项目,它所实现的功能类似于 Unix 中的 make.你需要写一个 build.xml 文件,然后运行 Ant 就可以完成 xml 文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在 xml 中写很少的东西就可以将其编译并打包成 WAR。事实上,在很多应用服务器的发布中都包含了 Ant。另外,在 JSP1.2 中,可以利用标签库实现Java 代码与 Html 文件的分离,使 JSP 的维护更方便。

2.1.5 B/S模式

B/S(Browser / Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,

IX

这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。

事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。

这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立 B/S 结构的网络应用,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet / Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 Java 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。

这种 B/S 模式客户端只要安装一个标准的 Web 浏览器,其它应用程序都存储在 Web 服务器上。建立在 B/S 模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,客户端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。

采用 B/S(Browser / Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考试系统对客户机软件过分依赖的问题,减轻了客户机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;

进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。

此技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此 Web 结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)

2.1.6 Struts框架概述

现在有很多可供使用的MVC框架,由于Stmts框架具有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便的。Struts是基于JSPMode12之上的,它的底层机制就是MVC。Struts采用的是开放式源代码,它是作为APache软件基金的Jakarta项目的一部分,旨在改进和提高JSP、Servlet、标记库以及面向对象的技术水准,整合Servlets和JSP的技术优势,为开发人员提供一个开发WEB应用程序的框架。Struts是一组Java类和JSP标记库.

在struts框架中,对模型、视图和控制器都提供了现成的实现组件Ils]。模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由Actionservlet和Action来实现,视图由一组JSP文件构成。图2-2显示了Struts实现的MVC框架。

X

第三章.在线考试系统的需求分析

3.1 基本需求分析

随着教育信息化的不断发展,使用计算机实现无纸化的在线考试,是新时代考评方式的一次重大改革。借助计算机网络实现的在线考试系统完成在线组卷、在线考试灵活实现机制、考试结果的自动处理等方面的优势使在线考试系统将成为现代教育方式中的一种重要手段。为了 发一套功能强大、满足各方面需要的考试系统,就一定要全面地分析考试的整个过程,理清考试过程中的每个阶段、所有参与考试用户的需求以及每个环节之间的关系,为在线考试系统的实现夯实的基础。

本系统是一个基于B/S结构的在线考试系统,为满足学生进行远程考试的要求,系统设计必须满足以下要求:

一、安全性

考生在参加考试之前必须先使用授权过的合法账号进行登录,以避免非法用户随意进入考试系统。

二、科学性

无论是什么课程都要求教师在出题时既科学又严谨,并且能够合理的体现该课程的知识结构和知识点。

三、合理性

由系统所生成的试卷应能满足不同对象对于考试内容和难易程度的要求。 四、可靠性

系统能够准确地评阅以及存储考生的答卷。除此之外,在线考试系统还应有友好、简洁的界面,安全性要高,稳定性要强,并能满足60人以上同时进行考试。

XI

3.2用户界面需求

用户界面设计的好坏作为人机交互的接口对于考试系统来说非常重要。拥有友好的用户界面,将使用户感到亲切,从而愿意使用本软件。因此,要重视考试系统界面的开发。在线考试系统的用户界面应具有以下几方面特性: 一、使用简单

用户界面应尽可能避免一些复杂的操作,尽量同用户的操作习惯保持一致。考生和授课教师只需要具备基本的操作计算机的能力就可以使用。 二、给出必要的提示信息

系统界面上提示信息的内容一定要使用专业术语,使得系统界面能正确引导教师和考生完成各项操作。

三、系统响应快、开销低

系统界面在保证能够及时响应用户操作的前提下,尽量减少所占用的系统资源。避免在用户进行输入的同时频繁地读写硬盘或其它需长时间进行的操作。常用的数据一般装入内存。

四、考试系统界面应有容错能力

应能对用户输入的内容进行判断,检测一些非法的输入,并反馈给用户。当用户输入出现错误时,不要使程序的运行中断。 五、考试系统界面要有系统性

对输入的信息要分门别类地进行排放,不可杂乱无章地堆砌起来。 六、考试系统界面要有可靠性

在保证程序和数据安全的前提下,保证用户正确、可靠地使用系统。授课教师和考生仅通过用户界面,便可完成用户所需要完成的一切操作。

3.3通讯传输需求

通信传输需求在考试系统中是十分重要的一类需求。它设计的好坏,将直接影响到程序的运行。

本软件通信方面的基本要求如下: 一、正确性

考生发送的所有数据都必须完整无缺地传输到服务器,并且正确地被服务器识别,不允许有数据丢失或有无法识别的数据产生。 二、时间性

考生所发送的数据和接收数据的速度应当较快,不应有己发出的数据长时间不能到达接收方的情况出现。 三、灵活性

发送的数据要以一定的规则编码,服务器收到数据后再以一定的规则解码。不同的数据有不同的编码和解码,但基本的算法应当是统一的,同样的数据编码应是唯一的。 四、可靠性

所有发送和接收的数据,一般都必须经过校验,以保证数据的完整性。

XII

3.4故障处理需求

由于存在种种事先无法预料的偶发事件,这些事件有可能会对在线考试系统的运行造成一定影响,甚至会使系统出现一些故障或错误。如何及时地检测出现的问题,并尽可能地给予解决是比较困难的。

在程序的源代码中,应引入异常情况处理机制,凡可能出现问题的代码段,应尽量使用try?except语句,以便程序运行期间发生错误时,可以有相应的代码进行处理。在考试进行期间,可能会出现网络拥堵或断开。当出现这种情况时,在线考试系统应有定时自动重新连接的功能。

当客户端距离服务器很远时,或通信线路不很稳定,经过长时间运行后,在线考试系统的通信有可能会出现一些错误。由于在线考试系统是一个实时数据通信软件,因此如何检验通信中发生的错误,保证数据的可靠性是一个很重要的问题。通常的通信软件都使用某种检测算法对发送和接收的数据进行校验,如常用的CRC (循环冗余校验)算法。

但是,任何方法都不是万能的,任何校验算法都会有失效的时候。当出现无法解决的故障时,可使用人工操作来修改数据,重新启动程序或操作系统,与维护人员联系等方法解决。

3.5系统安全需求

在线考试系统涉及到教学内容的完整性、可用性、保密性、可靠性、和可控性。 一、完整性

保证在传输和存储考试系统信息的整个过程中不会被修改、丢失和破坏。 二、可用性

按照管理员所授予的权限,用户可以合法的访问和使用考试系统中的数据。 三、保密性

在线考试系统的试题要严格保密,试题不泄漏给非授权的个人和实体是一个重要特性。这是考试系统最重要的要求。 四、可靠性

保证考生在考试过程中能够连续、稳定的答题。 五、不可抵赖性

在考试系统的信息交互过程中,所有参与者都不可能否认或抵赖曾经完成的操作和承诺。利用信息源证据可以防止用户否认已发送的信息。 六、可控性

可控性就是对在线考试的信息及系统实施安全监控。

3.6在线考试系统的业务需求分析 3.6.1考试用户的业务需求分析

对考试用户来说,需要包括登录离 考试系统、在线考试等功能。 一、登录离开考试系统

XIII

系统通过对考生输入的学号、姓名和登录密码的合法性进行校验,保证合法的考生进入考试系统参加考试。 二、在线考试

学生进入在线考试系统后开始答题。考生完成答题后进行手动交卷。考试结束前10分钟,系统会自动提示“提交试卷”。试卷提交后在线考试系统会把学生的答题情况以记录的形式存入相应的基本表。这样一来,使学生的试卷有案可查,可以进行回溯。

3.6.2教师用户需求分析

对教师用户来说,需要系统提供的功能包括学生用户管理、教师用户信息管理、试题维护管理、在线组卷、试卷维护管理、在线阅卷、成绩查询等功能。 一、学生用户管理

教师成功登录后,可以增加、删除、修改学生的信息。在增加学生信息时,可以只输入学生的学号、姓名和登录密码三项即可。其中登录密码可利用系统提供的自动生成功能来自动生成随机密码。 二、教师用户信息管理

为了提高系统的安全级别、减少不必要的风险,由系统管理员负责管理教师的信息管理。由于教师用户的信息不多且不需要经常更新,非常适合由系统管理员来进行管理。 三、试题数据管理

教师可以对题库中的试题增、删、改三种基本操作,其中试题类型包括单选、多选、判断等客观题;问答(论述)、制作题、操作题等主观题。教师可以设置题目、本题参考答案。 四、在线组卷

教师在组卷前可查询系统中已有试卷,如果已存在则可以进行修改,如果没有则可以根据课程考核的要求从题库中分题型挑选试题入卷。在线组卷,对生成的试卷可以预览,不满意可以进行修改。 五、试卷管理

教师可以对所建立的试卷进行管理,根据需要对试卷可以进行增、删、改三种基本操作。教师可对已存在的试卷进行修改和删除操作,对试卷可以进行在线组卷。 六、考务管理

监考教师可以从试卷库中任意抽取一套试卷作为本次考试的试卷。 七、在线阅卷

教师登录后,可以进行在线阅卷,主要是针对试卷主观题部分进行在线打分,客观题部分由系统自动阅卷。教师在阅卷完成后,系统能立即提交成绩。 八、成绩查询

教师在阅卷完成后能够随时查询所有考生的客观题、主观题以及总成绩。

第四章. 在线考试系统的总体功能设计

该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、

XIV

删除、成绩查询、管理用户的ASP应用程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地向题库添加、修改和删除试题。考生进行有效的身份验证登录后,选择进入考试系统,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。

用户可以是学校等单位的教师及学生和企事业单位的培训部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。

在线考试系统 用 信

4.系统的详细设计

详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行

详细设计:(1)试题设计(2)数据库中表的设计(3)功能模块详细设计

息管理 户用户密码管理 试题类型管理 试题 信息管理 试卷信息管理 学生成绩管理 在线考试 管理员 教师 学生 XV

4.1试题设计

鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。因而,本系统中所涉及的单选题和多选题跟过去的大体相同,由于时间的关系,判断题部分没有做。并且假设多选题一般情况下也是最多提供四个备选答案,标准答案至少有一个。故各题型的样题设计如下:

单选题:password的意思是: A、密码 B、经过 C、单词 D、通路

正确答案为A

判断题:

4.2数据库中表的设计

1.tb_select表结构

通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部试题集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,每个试题均具有题型,分值等数据段表示其属性。字段名一般是相应的英文单词。这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。但注意不要和数据库中的关键字重复。详细设计如下表所示:

表4-1 tb_select 表 字段名称 类型 说明 sel_id char 常整型,递增,主键 name text 字段大小200 optionA varchar 字段大小50 optionB varchar 字段大小50 optionC varchar 字段大小50 optionD varchar 字段大小50 Answer varchar 字段大小50 datatime datetime sub_id varchar 字段大小50 use_id char 字段大小20 各字段说明: (1)sel_id是问题的id号,用来唯一标志该问题,把它设为主键。 (2)name字段为问题内容,类型为文本。

(3)A字段代表选项A的内容 (4)B字段代表选项B的内容 (5)C字段代表选项C的内容 (6)D字段代表选项D的内容 (7)Answer字段表示答案选项 (8)datatime字段表示出题时间 (9)sub_id字段表示科目编号

XVI

(10)use_id字段表示学生编号

2.tb_subject表结构

表4-2 tb_subject表 字段名称 类型 说明 sub_id char 字段长度20 sub_name varchar 字段长度45 各字段说明: (1)sub_id字段代表科目编号。 (2)sub_name字段代表科目名称。 3.tb_score表结构

表4-3 tb_score表 字段名称 类型 说明 exne_id char 字段大小20 use_id char 字段大小20 stu_id char 字段大小20 score char 字段大小20 sub_id char 字段大小20 cla_id char 字段大小20 各字段说明: (1)exne_id字段代表试卷编号 (2)use_id字段代表教师编号 (3)stu_id字段代表学生标号

(4)score字段考试纪录中考试分数 (5)sub_id字段代表考试科目编号 (6)cla_id字段代表编辑编号 4.student表结构

表4-4 tu_user表 字段名称 类型 说明 use_id char 字段大小20 uno varchar 字段大小45 password varchar 字段大小45 lim_id char 字段大小20 cla_id char 字段长度20 各字段说明: (1)use_id字段代表账号编号 (2)uno字段代表用户名

(3)password字段代表重复密码 (4)lim_id字段代表用户类型编号 (5)cla_id字段代表班级编号

XVII

4.3 用户、管理员权限

☆管理员:在本系统中只有一个管理员,即系统管理员。他们具有一般用户所没有的权限,即具有管理用户。它不需注册,在数据库中和学生的表放在一起,只不过学生的role值为student,而管理员为admin,而那些可以修改数据库的页面就是通过识别权限进入的。 ☆教师:主要是指学校的教师,其权限是teacher.

☆一般用户:主要是指学校的学生和企事业单位的培训对象等。其注册时默认的权限为student。

4.4 教师功能模块详细设计

下面,对教师功能模块分别进行详细讨论,凡进入系统的用户必须进行登录才能进入,否则不能进入。

4.4.1操作管理

教师可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。同时,教师也能考试题目、考试记录等数据进行管理。

1. 题库信息 (1)题目录入

每道题有类型、科目、题目内容与选项和答案等栏目。教师输入完以后,即可看到预览效果。如果输入不合法,或者该科题库中已有该题目编号和内容等,则系统给出相应的提示或警告,以待更正。只要输入新增加的科目的详细名称和表名,即可有系统根据已设定好的字段自动建立新的科目考试表。返回,刷新一次页面,就可看到新增的科目名称,而且,在本系统中其他需要选择科目的地方也会自动更新。

(2)题目修改

教师还可以对题目进行修改。不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。

(3)题目删除

教师可以删除不再需要的题目,同时也可增加相映的题目,同时对题目可以做任意的修改。

2.试题信息

该模块的主要功能是编辑考试试题信息,集中包括科目类型,考试班级,题目类型,题目数量,题目分值,信息录完之后,就可以生成试卷,试卷生成原理:通过MYSQL的随机调用函数调出规定数量的题目(该模块也包含增删改功能)。

3.学生成绩

该模块显示学生考试成绩信息,由于时间有限,该模块不太完善,我觉得该模块可以进行成绩下载,打印。

4.试卷预览

该模块主要用于生成试卷预览。

XVIII

4.5学生在线考试模块

进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试以后,就可以调出试卷进行在线考试。考生的其答题信息通过单、复选按钮选择答案来反映。考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以实现。

4.6 在线考试系统考试模块框图

开 始

输入用户名和密码

是否正确 否 是

进入考试

答题及交卷

判 卷 成绩提交

结 束 图3-2 在线考试系统考试模块框图

XIX

第五章.在线系统的实现

在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。

5.1 系统界面设计

该系统的管理界面使用jquery设计的,该界面html代码较少,大部门代码都是动态生成。该方式改变了以往要设计大量的html界面代码,一个管理界面可以让不同类型用户共同使用。

登陆界面index.jsp

教师 工作界面 login.jsp

题库信息界面questionbank.jsp

XX

试卷信息 examNews.jsp

试卷预览 selectexam.jsp

XXI

学生考试界面exam.jsp

.在线考试界面

onLine.jsp

5.2 部分脚本功能介绍及详解

脚本目录截图

XXII

1.Nav.js

var _menus;

//初始化左侧

function InitLeftMenu() { $.ajax({

type : \,//请求方式 url : \,//发送请求地址 dataType: \,

success : function(result, textStatus) { _menus=result.handle;

$(\).empty(); var menulist = \;

$.each(_menus.menus, function(i, n) {

menulist += '

menulist += '';

$.each(n.menus, function(j, o) {

menulist += '' + o.menuname + ' '; });

menulist += ''; });

XXIII

$(\).append(menulist);

$('.easyui-accordion li a').click(function(){ var tabTitle = $(this).text(); var url = $(this).attr(\); addTab(tabTitle,url);

$('.easyui-accordion li div').removeClass(\); $(this).parent().addClass(\); }).hover(function(){

$(this).parent().addClass(\); },function(){

$(this).parent().removeClass(\); });

$(\).accordion(); } }); }

function addTab(subtitle,url){

if(!$('#tabs').tabs('exists',subtitle)){ $('#tabs').tabs('add',{ title:subtitle,

content:createFrame(url), closable:true,

width:$('#mainPanle').width()-10, height:$('#mainPanle').height()-26 }); }else{

$('#tabs').tabs('select',subtitle); }

tabClose(); }

function createFrame(url) {

var s = '