基于WEB在线考试系统毕业论文.doc
摘要随着计算机技术的迅猛发展, Internet 网络这个现代信息高速公路流行发展起 来,基于 WEB 的应用程序大量出现。 本文介绍了基于 WEB 在线考试系统的开发 过程,概述了 HTML、JSP、数据库的相关技术。结合SQLServer2OO0 Myeclipse、 DreamweaverMX等软件,使用JSP技术分析、设计和开发了针对 JAVA网络程 序设计”这一课程的在线考试系统。 论文主要阐述一个在线考试系统的开发过程和 相关技术。该在线考试系统的考试界面主要包括考生登录, 试卷的自动生成, 考试计时, 自动评分,成绩输出,聊天室,文件下载等模块。系统的管理员界面主要包括考 生信息管理,题库管理,成绩管理等模块。关键词:JSP, B/S,在线考试,自动评分word 文档 可自由复制编辑1ABSTRACTAlong with the fast development in computer technology, the internet, this modern information superhighway develops popularly, application based on WEB massively appearances.This article applies the implementation process of an Online Examination System, and has outlined related technology of the HTML, JSP, the database, The system is developed the onstage applying soft wares like SQLServer2000、 Myeclipse 、 DreamweaverMX, and using the JSP programming technology. And this system is developed for the courses of Java Network Programming. The paper mainly elaborates developed process and some related technologies of an Online Examination System.In this Examination System, The student enters the exam contact surface, the exam contact surface is composed mainly by modules like student login, automatically create of the exam papers, the test timing, automatically grading of the objective topic, output the results, chat room, file download.The manager enters the manager contact surface, the manager contact surface is composed mainly by modules like question management, user management, result management.Keywords: JSP, Browser/Server, on-line examination, Automatic gradingword 文档 可自由复制编辑目录摘要 IIIABSTRACT第 1 章 绪论1.1背景1.2 研究内容 1第 2 章 系统设计相关原理 32.1 JSP技术介绍322 JavaScript介绍45.2.1 SQL语言介绍 55.2.2 SQL Server2000介绍85.2.3 Myeclipse 插件介绍 85.2.4 网页设计工具 Dreamweaver 95.2.5 Tomcat服务器介绍95.2.6 本章小结 10第 3 章 系统总体设计 113. 系统可行性分析 114. 系统需求分析 125. 系统结构设计 13(1) 考试流程设计 13(2) 系统功能设计 14(3) 试卷及评分设计 173 本章小结 17第 4章 数据库设计 18(1) 数据库分析 18(2) 创建数据库 19(3) 数据表设计 19(4) 数据库连接 22(5) 本章小结 23第 5 章 系统实现 24(5) 系统前台实现 24(5) 考生模块实现 24(5) 考试模块实现 26(5) 文件下载 32(5) 聊天室 335.2 系统后台实现 35管理员模块实现 35考生管理实现 36题库管理实现 37成绩管理实现 38文件上传 39系统的测试 39本章小结 39第 6 章 结论 40致谢 41参考文献 42第1章绪论1.1背景考试作为现在最直接的体现信息化社会中人民的知识水平的一种方式,在很长的时间内不会消失,但也不能限于传统的纸媒介的方式。 网络的发展,计算机 技术的普及,计算机设备价格已经十分低廉,性能却有了长足的进步。它已经被 应用于许多领域,在越来越多的领域承担起重要的作用, 因此越来越需要一种可 以在线供多人参加考试的考试系统,来体现信息化教学的质量、水平和效果。因 此在线考试系统应运而生。考试系统的出现提供了一个平台供多人随时随地的参 加考试,检验自己的所学知识并提高水平,老师可以足不出户的检测自己学生的 学习进度,给予他们指导帮助,而且统一的管理题库、自动抽题组卷、自动判卷, 极大的节省了人力、物力,提高了效率。在上面的指导思想下,本课题采用 JSP语言+SQL Server2000技术,参考现 有的考试流程,针对JAVA网络程序设计这一门课程进行设计本在线考试系统, 考试系统的试卷类型以JAVA语言考试为主,试卷的题型以客观题为主,包括选 择题和判断题,优化了现有的考试方法,实现完全无纸化操作,将从安排考试, 到考试结束中的大部分工作交给系统安排,规划。老师要做的只是在题库中添加一定数量的题目,最后得到每个考生的成绩并统计分析, 而考生只需登录系统按 要求选择考试类型进行考试,考完以后成绩都会被系统记录,并且每个考生都具 有唯一的登录身份。所以说如果能设计出一个好的在线考试系统,可以让老师真 正得到解放,让学生真正得到轻松3。1.2研究内容在线考试系统的实现模式有多种,可以采用传统的客户机/服务器(C/S)型的MIS型架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程 序和数据库客户机配置,因此每次考试时要对机器进行安装、 配置,这样一来考 务工作比较烦琐,对于考生老说操作起来也比较麻烦。现在可以采用浏览器/服务器(B/S)模式,客户端不用安装软件就可以通过浏览器的形式就能进行系统的 利用。在实现动态网站技术这一块,现在比较流行的技术有JSP、ASP、PHP,本系统选用了 JSP作为主要实现手段(配合Java Servlet Java Bean struts等)。JSP 作为一种 Web实现技术,它的效率是很高的。这一点正好符合了考试系统所要 求的实时性。JSP自身的安全性,再加上实现模式的特点,完全能够达到考试的 保密性要求,保证了考试的公平性原则。除此之外,作为Java平台的一部分,JSP拥有Java语言一次编写,各处运行”的特点。又随着越来越多的服务器供应 商将JSP支持添加到他们的产品中,这样一来,用JSP做成的这套系统可以轻松 移植到其它平台来运行。种种优点使得这套系统不但为目前校内的网络教学,同样为今后远程教育的实现都打下了良好的基础。所以JSP是实现本系统的最佳技术,它是完全可行的。本课题的重点是在线考试,是多人在线考试,要求管理人员能对考试全局进 行完全的掌握,学生只能在管理人员的指导下进行考试,考试过程中不能刷新试卷,到时间交卷。由于现在规范的考试,没有学生选择试卷的权利,所以没有设 计考生注册功能,加重了管理员管理的部分,给予了管理员绝对的权利管理考试。 管理员可以在后台系统进行考生信息的录入, 题库的管理,考生考试成绩的管理。 所以系统既可以用做考试也可以做老师课后的练习和培训。本文一开始就介绍编程技术和系统开发工具,再介绍系统的一些基本的结构,然后对系统进行详细的介绍和分析。word文档可自由复制编辑第2章 系统设计相关原理该在线考试系统主要采用 JSP、SQLServer2000数据库、JavaScript、JavaBean 等技术,以及整合当今流行的网页程序开发集成工具Dreamweaver,和开发环境Myeclipse,整体设计遵循软件工程的方法,经过需求分析、总体设计、数据库 设计、模块测试和系统实现几个阶段。下面就对这几种技术方法和工具使用做一 个概述。2.1 JSP技术介绍JSP(Java Server Page是由Sun Microsystems公司倡导、许多公司参与一起 建立的一种动态网页技术标准。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。在传统的网页HTML文件(*htm,*html)中加入Java程序片段(Scriptlet)和JSP 标记(tag),就构成了 JSP网页(*.jsp) o Web服务器在遇到访问JSP网页的请求时, 首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得 到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无 Frame。JSP的设计目标及其实现JSP的设计目标主要是提供一种更为简便、有效的动态网页编写手段,并且 增强网页程序的独立性、兼容性和可重用性。它是通过以下几个方面加以实现的:ered_8d71726b-48b0-40c5-adfa-f3 简便性和有效性通过对JSP的组成的介绍,可以知道 JSP动态网页的编写与一般的静态 HTML的网页的编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(而且此项不是必需的)。这样,一个熟悉HTML 网页编写的设计人员可以很容易进行 JSP网页的开发。而且开发人员完全可以不 自己编写脚本程序,而只是通过JSP独有的标签利用别人已写好的部件来实现动 态网页的编写。这样,一个不熟悉脚本语言的网页开发者, 完全可以利用JSP做 出漂亮的动态网页。而这在其他的动态网页开发中是不可思议的。ered_8d71726b-48b0-40c5-adfa-f3 程序的独立性JSP是Java API家族的一部分,它拥有一般的 Java程序的跨平台的特性,换句话说,就是拥有程序的对平台的独立性。即:Write once, Run an ywhereered_8d71726b-48b0-40c5-adfa-f3 程序的兼容性为JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供 服务:从使用HTML/DHTML的浏览器,至U使用WML的各种手提无线设备(如, 移动电话和个人数字设备 PDA),再到使用XML的B2B应用,都可以使用JSP 的动态页面。ered_8d71726b-48b0-40c5-adfa-f3 程序的可重用性JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个 部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用, 实现了程序的可重用性。现在,大量的标准JavaBea n程序库就是一个很好的例证。2.2 JavaScript 介绍本系统用到了很多JavaScript程序段,在这里简单介绍一下这种语言。JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性 能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java 小程序)一起实现在一个 Web页面中连接多个对象,与 Web客户交互作用。从 而可以开发客户端的应用程序 等。它是通过嵌入或调入到标准的 HTML语言中 实现的。它的出现弥补了 HTML语言的缺陷,它是Java与HTML折衷的选择, 具有以下几个基本特点:是一种脚本编写语言JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本 语言一样JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。它的 基本结构形式与C、C+、VB、Delphi十分类似。但它不像这些语言一样,需要 先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。基于对象的语言JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意 味着它能运用自己已经创建的对象。 因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。简单性JavaScript的简单性主要体现在:首先它是一种基于 Java基本语句和控制流 之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变 量类型是采用弱类型,并未使用严格的数据类型。安全性JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存 入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏 览或动态交互。从而有效地防止数据的丢失。(5)动态性的JavaScript是动态的,它可以直接对用户或客户输入做出响应, 无须经过Web 服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。 所谓事件驱 动,是指在主页(Home Page中执行了某种操作所产生的动作,称为事件(Event)。 比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会 引起相应的事件响应。跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计 算机,并支持JavaScript的浏览器就可正确执行。从而实现了编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。 无须有高性能的电脑,软件仅需一个处理软件及浏览器,无须WEB服务器通道, 通过自己的电脑即可完成所有的事情。综合所述JavaScript是一种新的描述语言,它可以被嵌入到HTML的文件之 中。JavaScript语言可以做到回应使用者的需求事件(如:form的输入),而不用 任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给 伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式 所处理。2.3 SQL语言介绍SQL全称是结构化查询语言 (Structured Query Language,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从 IBM公司 1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle, Sybase Informix,SQL server这些大型的数据库管理系统,还是像 Visual Foxporo, PowerBuilder这些微机上常用的数据库开发系统,都支持 SQL语言作为查询语 言。 Structured Query Language包含 4 个部分数据查询语言 DQL-Data Query Language SELECT。数据操纵语言 DQL-Data Manipulation Language INSERT, UPDATE, DELETE。数据定义语言 DQL-Data Definition Language CREATE, ALTER, DROP。 数据控制语言 DQL-Data Control Language COMMIT WORK, ROLLBAC WORK。SQL语言的优点SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动 导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可 操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用 户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是 RDBMS的一部分,由它决定对指定数据存 取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从 不需要知道表是否有索引,表有什么类型的索引。统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应 用程序员、决策支持系统人员及许多其它类型的终端用户。基本的 SQL命令只 需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:查询数据在表中插入、修改和删除记录建立、修改和删除数据对象控制对数据和数据对象的存取保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。(3)SQL常用命令及使用方法数据记录筛选sql="select * from数据表where字段名=字段值orderby字段名desc" sql="select * from 数据表 where 字段名 like'% 字段值 %'orderby 字段名desc" sql="select topIO * from 数据表 where 字段名 orderby 字段名desc" sql="select * from 数据表 where 字段名 in('值 1','值 2','值 3')"sql="select * from 数据表 where字段名 between值 land值 2"更新数据记录sql="update数据表set字段名=字段值where条件表达式"sql="update数据表set字段仁值1,字段2=值2字段门=值nwhere条件表达式删除数据记录sql="delete from数据表where条件表达式"sql="delete from数据表"(将数据表所有记录删除)添加数据记录sql="insert into数据表(字段1,字段2,字段3)values值1,值2,值3)" sql="insert into目标数据表select*from源数据表"(把源数据表的记录添加到 目标数据表)数据记录统计函数AVG(字段名)得出一个表格栏平均值COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名)取得一个表格栏最大的值MIN(字段名)取得一个表格栏最小的值SUM (字段名)把数据栏的值相加引用以上函数的方法sql="select sum字段名)as别名from数据表where条件表达式"setrs=c onn. excute(sql)用rs("别名")获取统的计值,其它函数运用同上。数据表的建立和删除CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)DROPTABLE数据表名称(永久性删除一个数据表)在后面的系统实现当中用到了大量的SQL语句,所以在这里进行了详细的SQL语句分析。SQL Server2000 介绍SQL Server是一个关系数据库管理系统,它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本,但是在 Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了 Microsoft将SQL Server移植到 Windows NT系统上专注于开发推广 SQL Server 的Windows NT版本Sybase则较专注于SQL Server在UNIX 操作系统上的应 用介绍的是 Microsoft SQL Server 以后简称为 SQL Server或 MS SQL Server。SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统的最 新版本,该版本继承了 SQL Server 7.0版本的优点同时又比它增加了许多更先进 的功能,具有使用方便可伸缩性好,与相关软件集成程度高等优点,并且可跨越 从运行Microsoft Windows 98的膝上型电脑到运行 Microsoft Windows 2000的大 型多处理器的服务器等多种平台使用。Myeclipse插件介绍MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench简称 MyEclipse) 是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及 应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts,JSF, CSS, JavaScript, SQL, Hibernate 在结构上,MyEclipse 的特征可以被分为 7 类:J2EE模型WEB开发工具EJB开发工具应用程序服务器的连接器J2EE项目部署服务数据库服务MyEclipse整合帮助对于以上每一种功能上的类别,在 Eclipse中都有相应的功能部件,通过一 系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响 其他模块的情况下,对任一模块进行单独的扩展和升级。2.6网页设计工具 DreamweaverDreamweaver是制作主页的好工具.Dreamweaver是可视化的网页制作工具, 很容易上手,可以让你轻松地制作出自己的网页。Dreamweaver在多媒体方面颇有建树的 Macromedia公司推出的可视化网页制作工具,它与Flash、Fireworks合在一起被称为网页制作三剑客,这三个软件相辅相承,是制作网页的最佳选择。 其中,Dreamweaver主要用来制作网页文件,制作出来的网页兼容性比较好,制 作效率也很高,Flash用来制作精美的网页动画,而Fireworks用来处理网页中的 图形。本系统的很多张页面都是在Dreamweaver下完成的,这个工具很好的实现了 网页的排版,跟美工。程序中用到很多 JavaScript函数,也适合在这个工具里编 写。2.7 Tomcat服务器介绍为了能够编写JSP的程序,需要在计算机上安装JSP引擎,比如Resin服务 器或者Tomcat服务器,本系统采用的JSP服务器就是Tomcat。Tomcat是一个免费的开源的 Serlvet容器,它是 Apache基金会的Jakarta项 目中的一个核心项目,由Apache, Sun和其它一些公司及个人共同开发而成的, 有了 Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。Tomcat不仅仅是一个Servlet容器,它也具有传统的 Web服务器的功能:处 理Html页面。但是与Apache相比,它的处理静态 Html的能力就不如Apache。 我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat 处理JSP和Servlet。这种集成只需要修改一下 Apache和Tomcat的配置文件。2.8本章小结本章主要介绍了一些开发动态网站所必需的技术以及软件工具,由于本在线考试系统是基于JSP技术实现的,所以在这一章先简单介绍了 JSP技术及实现原 理,并配合介绍JavaScript语言来实现动态网页的效果。在静态网页方面,现在 比较流行Dreamweaver这款软件,如果能将它和 JSP技术结合起来,那做一个 动态网站将会更加方便,而数据库作为系统中最主要的模块之一,本章也对一些重要的数据库操作语法进行了解释。第3章系统总体设计要实现一个软件系统,首先应该进行可行性分析,确定系统开发要研究的问 题以及要实现的目标。下面就对在线考试系统的设计进行可行性分析。3.1系统可行性分析可行性分析,即是在系统调查的基础上,针对系统的开发是否具备必要性和 可能性进行分析,可行性分析的目的就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。技术方面的可行性技术方面,在线考试系统作为一个动态网站,现今有很多技术比如JSP,ASP, PHP都适合开发这个系统,本系统采用了 JSP技术。软件方面,在线考试系统需要的各种软件环境都已具备,利用 Eclipse+Myeclipse进行代码开发,在网页设计和美工方面则有 Dreamweaver,数 据库方面则有SQL Server2000,代码运行调试则有Tomcat服务器。硬件方面,为了保证系统运行的效率和可靠性,系统服务器端应具有较 高的软硬件配置,客户端的要求不是很高。其硬件环境如下:服务器 CPU:PIII 500以上,内存:256M以上客户端 CPU:P200MMX以上,内存:32M以上科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越 来越高,价格越来越低,所以硬件平台完全能够满足此系统的需要。操作方面的可行性作为一种网上的考试系统,必须与In ternet相结合,目前,网路覆盖了全国 各地,从而满足了绝大部分用户的上网需求。 同时学校良好的网络设施为开发使 用无纸化网络考试系统提供了坚实的基础,学生也可以随时进行网络上的考试, 当然学生还可以在家里或者远离学校的地区进行网上考试,同样起到了自我水平测试的作用。综上所述,开发在线考试系统需要的软件以及硬件支持都已经到位, 开发一 个面向学生的在线考试系统是完全可行的。 下面就用户需求进行分析。本章节由 文件1可知。3.2系统需求分析本在线考试系统是面向学生设计的,目的是为了提高学生的JAVA语言基础 知识,所以系统中的题目以JAVA网络程序设计这门课程为主,考试题型以客观 题为主,包括选择题和判断题。为了使设计的考试系统符合用户的要求,所以接下来要做的事是进行系统的需求分析。首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身 份验证。考试者进入考试系统后,应该能根据自己的需要进行个人信息的修改、 考试系统的进入,以及考分的查看。在线考试于一般的单机考试是不同的。鉴于 考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每 个应试者来说,试卷的试题和题量都应是相同的, 但试题并不相同。在线考试基 于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。如果考生未在规定 的时间内答完所有题目,系统将照样按时收卷,剩余未选择答案的题目按零分处 理。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考 试完毕后,可以返回登录界面。此外,学生在登录考试系统会应该有个模块实现 下载功能,管理员可以将一些考纲资料上传到系统上,以便学生下载及时阅读。 大大方便了学生跟老师之间的信息传递。 另外在系统中设计了一个聊天室,考生 们可以在考试前进入聊天室沟通聊天。管理人员应该能够方便、快捷的对在线考 试系统管理,在后台系统中,管理员有更新题库,考生信息,文件上传等权限。3.3系统结构设计3.3.1考试流程设计本系统分为前台跟后台两个系统,考生凭这个个人唯一的用户名以及密码登 录前台主页,主页包括进入考试、文件下载、聊天室、留言板、修改密码这几个 主要模块。考生进入主页后,并会在主页里显示自己的信息以及上次考试的成绩。 当考生提交考卷时,系统会自动判卷,并输出当前考生的考试成绩。管理员登录 后台系统,也是有自己唯一的用户名密码,在后台主页设计了题库管理、 考生信 息管理、文件上传管理、管理员添加、考生成绩管理这几个功能模块。在题库管 理这一块,又细分为选择题管理和判断题管理。活动关系图如图3-1所示。文件下载考生登录选择考试乂聊天室自动出卷提交试卷在线批改返回成绩图3-1活动关系图332系统功能设计根据上面的分析,可以得出系统的整体结构,应该包括:系统前台和系统后 台,系统前台包括考生模块、考试模块、聊天室、文件下载。系统后台包括管理 员模块、考生管理、题库管理、成绩管理、文件上传。整个系统均采用B/S结构进行设计,后台管理部分也是通过网页进行操作。系统后台数据库采用的是 SQLServer2000,系统的结构图如图 3-2所示。图3-2系统的结构图3.3.2.1考试系统前台考试系统前台主要包括考生模块,考试模块,聊天室,文件下载四个模块考生模块包括考生登录和密码修改两个子功能模块其中考生登录login.jsp是考生进入考试系统前必须要经过这里登录,考生 在此提交用户名跟密码,系统跳转到前台主页reading.jsp,此页面会自动读取数 据库中的数据并验证用户提交的用户名是否存在以及密码是否正确。如果用户名 和密码不正确,系统将转到考生登录页。密码修改password.jsp是考生修改密码的地方,由于考生的密码是由管理员 给定的,所以考生为了密码安全,考生可以从这个模块修改属于自己的密码。考试模块包括自动出卷,自动评分,成绩输出三个子功能模块其中自动出卷begin.jsp是整个程序的核心,用户选择好考试类型点击考试 考试,系统随机抽取题库中的题目显示在这一页面上,考试有规定的时间限制, 如果用户在规定的时间内未完成所有试题的答题,系统将提示时间到,并自动提交试题答案。用户答题完毕后,点击页面上的提交按钮,会自动转入自动评分 result.jsp。自动评分result.jsp,此页面负责接收用户提交的考卷答案,并查询数据库 中的题库表,对题目对应的正确答案进行验证,如果答题正确将给分。在页面上显示考生的个人成绩,并将每个考生的成绩保存在数据库中。考试的一个简单流程就是随机出卷一自动判卷一机器打分。此外系统中还设 置了文件下载模块,管理员可以在后台上传一些文件资料供考生下载阅读, 方面 了师生的信息传递。文件下载模块文件下载download.jsp,此页面显示可下载的资源,管理在后台上传一些 文件资料,都可以在这里显示,在下载页还设计了搜索功能,当可下载文件多的 时候考生可以利用搜索功能查找自己需要的资料。文件下载处理do_download.jsp,此页面负责接收考生提交的下载文件名信 息,并负责下载文件的保存,并返回操作结果。聊天室模块为了使考试系统更人性化,系统添加了一个聊天室功能,使考生不但可以登 录考试进行自我测试,还可以通过这个聊天室跟别的考生进行沟通。其中chat.jsp是聊天室的初始页。本页面使用 <frame>标记把页面分隔成几 个部分,分别用来显示聊天信息、用户发言栏几个部分。系统用户使用的浏览器 必须要能够支持框架显示,否则聊天室不能正常工作。聊天信息显示页show.jsp此页面负责将所有用户发出的聊天信息以及系统 的欢迎信息都显示在这一页。提交聊天信息页input.jsp,用户在进入聊天室后,可以在此页面上发布所 要聊天的内容并提交,用户所提交的内容将会在show.jsp上显示,并且用户还可以选择自己想要聊天的对象以及聊天时附加的一些表情信息。发布信息页transact.jsp。该页的作用是将用户的聊天信息发布到show.jsp 上去。input.jsp是把用户所要提交的聊天信息添加到一个消息向量中,transact.jsp使用同步的方式在show.jsp页面上显示。3.322考试系统后台上面详细分析了在线考试系统前台的功能设计,下面来分析下系统的后台结 构。考试系统后台包括考生管理,题库管理,成绩管理,文件上传,管理员模块 五个模块。管理员模块包括管理员登录和管理员添加两个子功能模块管理员登录后台必须要经过管理员登录 login.jsp,每一个管理员都有唯一 的用户名和密码,通过这个页面提交帐号,并且在这个页面设计了用户名及密码 验证功能,用户提交表单后马上在本页面验证。如果提交的信息符合了数据库中 的用户信息,系统将自动转入后台主页mai n.jsp。管理员添加addadmin.jsp,每一个管理员都有权限在这里添加新管理员。同时也可以在这里删除管理员。考生管理模块此模块是系统管理考生信息的一个功能页,管理员通过这里实现了对各个考 生的信息录入,并可以进行修改、删除等功能。前台考生通过这里获得的用户名、 密码才能进入考场。题库管理包括选择题管理和判断题管理两个子功能模块选择题管理addQ.jsp,管理员通过这里实现了对考题的管理,可以在这里 添加选择题,系统自动将题目保存在数据库中,然后在此页面上显示。并且管理员可以在此页面实现题目的修改、删除等操作。判断题管理addpanduan.jsp,系统考试的试题只设计了选择题跟判断题两种 客观题库,在这个页面管理员可以实现对判断题的管理,可以添加、修改、删除 判断题。将两种类型的题目放在两个数据表中保存,可以方便管理。成绩管理模块成绩管理search.jsp,考生在前台考试得出成绩,系统将在这个页面显示各 个考生的成绩,并且显示各个分数段的考生人数。文件上传模块文件上传upload.jsp,管理员通过这个页面提交要上传的文件。打开页面可 以提交多个文件,选择完后提交表单。文件上传处理do_upload.jsp,对选择的上传文件进行读取,分析数据流,并保存到指定的目录中,返回上传信息。并在系统前台的文件下载功能页上显示各 个已上传的文件。数据处理模块本系统的数据处理模块由DBCo nn ectio n