1、摘 要在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网上考试则是网络技术一个很重要的发展方向。网上考试一方面可以突破时空的界限;另一方面考生在自己熟悉的环境中考试也会更自在,能更好地发挥自己的真实水平,网络考试方式将是以后考试发展的趋势。本论文主要阐述了基于Web技术的驾校考试系统的设计与实现。论文首先对系统设计所涉及的相关技术进行逐一介绍,并主要对该系统的设计概要以及系统的设计方法及功能也作了详尽说明,系统按照软件工程的思想进行系统设计,在需求分析的基础进行功能模块划分,然后对各个模块进行分析和详细设计,并用相关技术实现。 系统采用B/S开发模式,以MyEclips
2、e6.0作为开发平台,java语言为主要编程语言,结合JSP、JavaScript、Html、SQL等语言,以Tomcat为服务器和SQL Server 2000为后台数据库。最终开发一个拥有自动组卷、自动判卷、信息管理的驾校考试系统。整个系统层次结构简单,操作容易,并具备一定的安全性。考生借助此系统,可以随时随地的进行考试,同时老师使用该系统能更高效、便捷的组织在线考试。关键词:驾校考试系统 B/S开发模式 JSP ABSTRACTGradually infiltrated into the network technology in all aspects of social life t
3、oday, the traditional test method is also faced with change, the online exam is a very important network technology development. Online test on the one hand can break the boundaries of time and space; the other candidates in their own environment examination will be more comfortable, better play to
4、their true level, the network test approach will be the development trend of future examination.This paper expounds the Web-based Online Test System Design and Implementation. Firstly the design of the system involved in related technologies introduced one by one, and the main outline of the system
5、design and system design and function of a detailed description, the system in accordance with the ideas of software engineering for system design, requirements analysis based functional module partition, then each module analysis and detailed design, and use related technology.The system bases on B
6、/S development model, using Java as a development platform, which utilizes JSP, JavaScript, and Html language as well. The web server is Tomcat. Database server is SQL Server 2000. The system structure is simple, easy and safe. Examinee can exam at any time by using the system. Simultaneously teache
7、rs can use the system to organize online examination more efficiently and conveniently.Keywords: Online Examination B/S JSP目 录第一章 前言11.1开发背景及意义11.2论文研究目标1第二章 驾校考试系统需求分析22.1需求概述22.2系统开发目标22.3功能需求22.4性能需求32.5开发方案的比较与选择42.6系统开发环境及工具62.6.1开发/运行环境62.6.2开发工具的选取6第三章 驾校考试系统的设计83.1系统数据流程描述83.2系统总体结构设计113.3功能
8、模块设计123.3.1考试模块123.3.2查询成绩模块133.3.3试卷管理模块143.3.4信息管理模块143.3.5判卷模块14第四章 系统后台数据库设计154.1数据库连接154.1.1配置SQL server 2000154.1.2连接数据库154.2数据库设计概述154.2.1数据表实现164.2.2系统总体E-R图18第五章 驾校考试系统的实现205.1考试模块205.2成绩查询模块225.3试卷管理模块255.4信息管理模块295.5组卷模块31第六章 系统运行与测试336.1测试概述336.2系统部分单元测试方法336.3测试截图336.4测试总结37结论38谢辞39参考文献
9、40大连交通大学2011届本科生毕业设计(论文)第一章 前言1.1 开发背景及意义在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网上考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的Internet进行,相对于传统的白纸黑字考试模式来说,网上考试一方面可以突破时空的界限,使考生可以足不出户进行考核,这就减除了组织考场和考生奔波于考场所造成的资源消耗和环境污染,符合现代人的绿色生活理念。另一方面,考生在自己熟悉的环境中考试也会更自在,能更好地发挥自己的真实水平。而且由于网上考试利用了现代化技术,还由其自身属性衍生出一些有利于考试的功能作用。网上考
10、试的试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。网上考试在国外一些国家已经得到了蓬勃发展,人们选学课程和考试都是通过网上进行的。例如国外一些著名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等,都是采用网上考试的形式进行的。在国内,目前绝大多数考试还停留在传统考试方
11、式上,对互联网的真正应用仅限于一些考试的网上报名和成绩查询,还没有真正形成网上考试规模。因此,研究开发驾校考试系统有利于我国教育事业与国际接轨和促进绿色环保型教育的发展。1.2论文研究目标本系统结合实际需求,提供学员上网考试、立即查询成绩,教官添加、修改、删除试题和考试科目信息,管理学员成绩,管理员管理教官和学员资料等功能。力求成为一个符合大众操作习惯的,能运用到实际中去的人性化系统。其中运用到的技术有:java、JSP、 SQL server 2000、css网页美工、photoshop图形处理。第二章 驾校考试系统需求分析2.1 需求概述根据对考试过程的实际调查了解,在整个考试过程中,主要
12、涉及到组织考生考试和老师批改试卷两个方面,对考试组织方而言,他们需要事先布置好考场,准备好足够的试卷,做好考试监督。对老师方面而言,老师需要在考后进行大量的试卷批改工作。就这两方面所耗费的人力物力资源都是不少的,这就与现今人们绿色环保的生活理念相驳了。然而,网上考试一方面可以突破时空的界限,使考生可以足不出户进行考核,这就减除了组织考场和考生奔波于考场所造成的资源消耗和环境污染,符合现代人的绿色生活理念。另一方面,考生在自己熟悉的环境中考试也会更自在,能更好地发挥自己的真实水平。而且由于网上考试利用了现代化技术,就可以省去了老师批改试卷的步骤了。因而,网上考试是未来的潮流。2.2 系统开发目标
13、一、功能目标基于上述对系统开发背景的描述和对系统需求的描述,驾校考试系统的设计应达到以下的目标:(1)极大地利用网上无限的优秀试题资源,从而整理出庞大的优秀试题数据库。(2)使考生在不同的地理位置上也能正常参加考试,打破了传统的纸笔考试的局限性。(3)教官可以根据自己的丰富教学知识设计新的试题。二、其它目标实用性:要为网上考试提供方便。操作简单:本系统应该适用于不同水平的使用者,包括教官和学员,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。2.3 功能需求在本次设计中,主要涉及到三种类型用户对该系统的使用,即学员、教官以及管理员。这三种用户根据不同的用户姓名和密码登录,经过验证后
14、进入各自的界面。学员通过身份验证后进入考试窗口。系统的考试窗口提供了三项功能选择:考试、查询成绩、自身资料修改。考试:进入考试界面后选择还没考过的试卷进行考试。查询成绩:考完试后立即可以查询到成绩,还可以看见以前的考试成绩。自身资料修改:对自己的个人资料进行修改。系统提供给教官的功能有:题库管理、添加新题、试卷管理、添加试卷、查询学员成绩、资料修改。题库管理:对已有试题进行编辑和删除。添加新题:给题库添加新的试题。试卷管理:预览、(取消)发布、删除试卷的功能。 添加试卷:添加新的试卷。查询学员成绩:查看本专业考过试的学员的成绩。 资料修改:对自己资料的修改。系统提供给管理员的功能有:学院、班级
15、、科目的管理和教官、学员、自身账户的管理。教官账户管理:添加新教官、删除已有教官。学员账户管理:添加新学员、删除已有学员。自身账户管理:修改自身账户。学院管理:添加新的学院、删除已有学院。班级管理:添加新的班级、删除已有班级。科目管理:添加新的科目、删除已有科目。2.4 性能需求(1)网络环境下的多用户系统。信息主要存储在服务器端的数据库中,由各用户在规定的权限下在各自的客户端上录入、修改、删除相关的内容。2(2)数据的完整性和准确性。录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确性。4(3)数据安全性。本系统采用二级安全保障。第一级:依赖于网络本身对用户使用权限的规
16、定。第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制。2.5 开发方案的比较与选择 1、开发方案比较系统架构的选择,对系统的开发来说是至关重要的,因此,选择一个正确、合适的软件架构是十分必要。本系统是个典型的管理信息系统,目前对管理信息系统的开发设计主要有C/S和B/S两种结构,下面对两种结构进行一下简单的比较。2运用C/S结构,采用PB、Delphi或VB等技术来开发。操作系统采用 Windows2000,数据库软件使用Oracle数据库,C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle,S
17、ybase,Informix或SQL Server。客户端需要安装专用的客户端软件。C/S结构的数据库管理系统,如图1所示。图1 C/S结构图即一般用户在客户端上操作时,客户端向服务器端数据库提出请求。这时,服务器发出响应;客户端收到响应后,开始执行任务。数据库管理员在服务器端上利用管理平台管理和维护数据库。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle,Sybase, Informix或SQL Server等数据库。浏览器通过Web Server同数据库
18、进行数据交互。B/S结构原理如图2所示,多数页面都是通过JSP脚本程序直接访问数据库和文件系统,有部分JSP程序通过组件(上传组件)访问数据库和文件系统。JSP页面JSP页面 上传组件文件系统数据库图2 B/S结构系统工作原理图2、开发方案的确定驾校考试系统的设计主要是使用Web浏览器风格的界面来进行数据检索和更新,作为当前流行的Web发展趋势,浏览器界面作为这个系统所有用户熟悉和友好访问的所有类型数据的界面,系统应该为用户提供一个公共的外部接口。驾校考试系统的设计在于所有用户把这个系统看作一系列相互连接的网页,可以从任何一台连接在Internet上的计算机用浏览器进行访问。用户通过选择链接或
19、在基于Web的表单上输入信息与Web浏览器进行交互。这个信息通过Internet传送到Web服务器,Web服务器识别出外部数据的请求,并且把请求传递给在Web服务器上的应用程序代理,这个代理的任务是把数据请求映射到对服务器的应用程序查询。应用服务器为请求提供服务,然后代理把返回的信息转变为一个网页,这个网页被传送到Web服务器以显示给最终用户。10由于B/S构架管理软件只安装在服务器端上,网络管理人员只需要管理服务器,用户界面在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。作者使用B/S模式来开发在线学习系统,它将具有以下优
20、点:l 实用性:为网上考试提供方便。l 操作简单:本系统应该适用于不同水平的使用者,包括教官和学员,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。l 代码可读性好:代码将尽可能简洁。22.6 系统开发环境及工具2.6.1 开发/运行环境客户端软件操作系统:Windows98/ME/2000/Xp及以上版本浏览器:Internet Explorer(IE)6及以上版本服务器端软件操作系统:Windows NT/2000 Server/XP及以上版本浏览器:Internet Explorer(IE)6及以上版本服务器:TOMCAT6.0数据库: SQL Server 2000其它软件
21、:Adobe Photoshop CS42.6.2 开发工具的选取1、JSP技术JSP的功能十分强大,它可以用来创建和运行动态网页或Web应用程序。它可以与数据库和其它程序进行交互,是一种简单、方便的编程语言。JSP的网页文件的格式是.jsp,现在常用于各种动态网站中。 JSP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用JSP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的Web应用程序。它利用JavaScript 或JAVA脚本语言使用户的数据和服务器的数据进行交换,从而达到动态数据库的目的。当浏览器浏览JSP网页时,Web服务器就会根
22、据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。62、系统数据库的选择数据库技术在计算机软件领域研究中一直是非常重要的主题。产生于60年代的数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为时下最热门技术之一。作为一款基于WEB的驾校考试系统来说,数据库当然是不可缺少的一部分。选择什么样的数据,对系统最终的实现起着至关重要的作用。现在比较流行的大中型关系型数据库有IBM DB2、Oracle、SQL Server、Sybas
23、e、Informix等,常用的小型数据库有Access、Paradox、FoxPro等,现在个人用户比较常用的主要是基于中小型数据库MS SQL Server和Access的。Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统(如Visual FoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成
24、。这种安排使SQL Server能充分利用操作系统所提供的特性。对于今天复杂的浏览器/服务器系统来说,SQL Server是一个很好的选择。4第三章 驾校考试系统的设计3.1 系统数据流程描述1、顶层数据流图:包含三个实体即考生、教官、管理员,六个数据处理即学员登录、学员考试、教官登录、教官管理、管理员登录、管理员管理。该图反应出了驾校考试系统总的情况,其数据流如图3所示。图3顶层数据流2、学员考试数据流图:包括一个实体(学员)和考试、查询成绩等多个数据处理,该图反应出了学员学习情况及三个数据存储。学员通过考试来获得考试成绩。其中,学员考试的试卷来自试卷数据库中,从成绩数据库可以查询考试分数,
25、从资料记录中得到得到个人资料并且可以做出修改。其数据流如图4所示。图4 学员模块数据流图3、教官管理数据流图:包括一个实体(教官)和试题管理、试卷管理等多个数据处理及六个数据存储。该图体现了教官对系统的管理情况,教官通过试题管理、试卷管理、添加试卷、添加试题来完成对试卷试题的编辑和发布。教官从学员答题的情况和成绩的情况考虑应该增减什么试题试卷。其数据流如图5所示。图5 教官模块数据流图4、管理员管理数据流图:包括一个实体(管理员)和学院管理、科目管理等多个数据处理及六个数据存储。该图体现了管理员对系统的管理情况,管理员可以进行所有用户的账户管理和学院、班级、科目的管理。其数据流如图6所示。图6
26、 管理员模块数据流图3.2 系统总体结构设计本论文设计的驾校考试系统是利用Jsp和SQL server 2000技术来构建一个基于因特网的动态交互式考试信息化平台,该系统可以在WindowsXP局域网或Internet上使用。在总体结构上是采用3层B/S结构,各类教学资源在服务器一端,采取中心数据库SQL server 2000统一存放和组织,学员在客户机一端,无须任何配置工作,只须使用浏览器向Web服务器代理提出请求,服务代理通过中间组件与数据库链接,把请求服务的考试内容以Web页面形式通过浏览器反馈给学员。6系统由三个大模块和十五个小模块组成。整个系统结构如图7所示。网上考试系统教师模块学
27、生模块管理员模块考试查询成绩修改资料添加新题试卷管理添加试卷学生成绩题库管理资料修改学生账户自身账户学院管理班级管理教师账户科目管理图7 系统结构图3.3 功能模块设计3.3.1 考试模块由于采用Web技术实现,所以从理论上讲,考试可以在任何时候、任何地方进行,但是为了使考场易于组织和管理,所以本系统的考生必须先注册一下,然后才能进行考试,如果考生没有注册,系统也会认为是非法考生,系统给出提示信息,并重新定位到登录页面;如信息正确,则显示试卷页面,试卷页面上的试题内容根据考生输入的试卷代号从数据库中取出符合条件的记录动态地生成。同时在页面上显示考试设定的时间,当考生点击“交卷”按钮时,系统就会
28、把考生答案传送至服务器的数据库中保存起来,并把数据库中标记考生是否参加过考试的标记置为已考。考试子系统是网络考试系统的核心部分,它的工作流程如图8所示:图8 考试流程图3.3.2 查询成绩模块此模块可分为学员查询成绩模块与教官查询成绩模块。学员登录后可以对自己的成绩进行查询,采取一考完就可以查询的模式,不过学员只能查询自己的成绩。教官登录后也可以进行成绩查询,不过与学员不同的是,教官可以查询自己所教专业的所有学员的成绩。工作流程如图9所示:图9 成绩查询流程图3.3.3 试卷管理模块进行考试必须要有试卷,网上考试也不例外。在此模块中教官可以对所有试卷进行管理,其中包括预览、发布和删除试卷。3.
29、3.4 信息管理模块本模块主要分为两个部分。一是教官用户管理,二是考生信息的管理。这其中就包括对教官及考生信息的增加、修改与删除。3.3.5 判卷模块本系统的考试暂时只实现了客观单选题的考核,判卷流程如下:考生答完所有题目后提交试卷后,系统检索对应试卷的分数情况,然后开始核对每题的答案是否与正确答案一致,如答案一致就得到该题的分数,把每道正确答题的得分累计得总分,最后从成绩表中添加该考生该试卷的记录,填入考试分数。第四章 系统后台数据库设计4.1数据库连接4.1.1 配置SQL server 2000启动数据库,进入企业管理器后,对数据库按右键,选择所有任务附加数据库,然后选择数据库备份,就可
30、以添加数据库了。4.1.2 连接数据库在web中连接数据库,可以创建一个conn.java文件,然后编写代码如下:public conn() try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); catch (Exception e) try String path = jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=user1;String name = sa;String word = ;conn = DriverManager.getConnection
31、(path, name, word); catch (Exception e) 4.2 数据库设计概述数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那
32、么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般我们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。44.2.1 数据表实现网络考试系统离不开数据库系统的支持。由于数据库独立于程序而存在,具有较好的安全性,不论是试题、答案,还是考生信息都需要存放在数据库中。本系统的数据库采用Microsoft公司的大型数据库
33、系统SQL Server 2000。主数据库名为User1,现将主要表结构描述如下:表1 考题类型表编号列名数据类型空标记/主键说明1IdInt(4)N/Y编号2leixingvarchar(50)N/N考题题型表2 班级表编号列名数据类型空标记/主键说明1IDInt(4)N/Y编号2banjivarchar(50)N/N班级名称3xueyuanvarchar(50)N/N学院名称表3 试卷信息表编号列名数据类型空标记/主键说明1Idint(4)N/Y编号2shijuan_namevarchar(50)N/N试卷名称3shijuan_bumenvarchar(50)N/Y试卷类型4timu_s
34、huliangvarchar(50)N/N题目数量5meitifenshuvarchar(50)N/N每题分数6zongfenvarchar(50)N/N总分7kaoshi_sjchar(10)N/N考试时间表4 人员表编号列名数据类型空标记/主键说明1idInt(4)N/Y编号2UsernameVarchar(50)N/N账号3passwordVarchar(50)N/N密码4rnameVarchar(50)N/N姓名5TimeaVarchar(50)N/N生日6sexVarchar(50)N/N性别7XueyuanVarchar(50)N/N学院8zhuanyeVarchar(50)N/N
35、专业9banjiVarchar(50)N/N班级10xuehaoVarchar(50)N/N学号11emailVarchar(50)N/N邮箱12quanxianVarchar(50)N/N权限表5 学院表编号列名数据类型空标记/主键说明1idint(4)N/Y编号2xueyuanVarchar(50)N/N学院名称表6 成绩表编号列名数据类型空标记/主键说明1idint(4)N/Y编号2student_namevarchar(50)N/N考生姓名3shijuan_namevarchar(50)N/N试卷名4kaoshi_cjvarchar(50)N/N考生成绩5zhuanyevarchar(
36、50)N/N专业6xueyuanvarchar(50)N/N学院7usernamevarchar(50)N/N考生账号表7 答案表编号列名数据类型空标记说明 1Idint(4)N/Y编号2Leixingvarchar(50)N/N考题类型3Timuvarchar(5000)N/N题目4Xxavarchar(50)N/N答案a5Xxbvarchar(50)N/N答案b6Xxcvarchar(50)N/N答案c7Xxdvarchar(50)N/N答案d8daanvarchar(50)N/N正确答案表8试卷表编号列名数据类型空标记说明 1Idint(4)N/Y编号2Leixingvarchar(22
37、)N/N考题类型3Timuvarchar(2000)N/N题目4Xxavarchar(22)N/N答案a5Xxbvarchar(22)N/N答案b6Xxcvarchar(22)N/N答案c7Xxdvarchar(22)N/N答案d8daanvarchar(22)N/N正确答案4.2.2 系统总体E-R图图10系统总体E-R图第五章 驾校考试系统的实现5.1 考试模块该模块的用户为学员,学员可通过该模块实现网上考试。考生输入正确的用户名和密码后进入考生模块主界面,考生选择试卷进行考试,考试完毕后提交试卷即可结束考试。关键代码如下:(共题,每题分,总分)(时间:分钟)alert(您已经考过了!);window.location=kaishidati.jsp;input type=hidden name=shuliang value=input type=hidden name=student_name value=input type=hidden name=shijuan_name value=input type=hidden name=zhuanye value=input type=hidden name=xueyuan value= 题目: td height=