版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 编 号: 审定成绩: 毕 业 设 计 (论 文)设计(论文)题目:基于JSP的在线考试系统设计与实现 单位(学院): 重庆邮电大学 学 生 姓 名: 杨 旭 川 专 业: 计算机网络 班 级: 2006级 指 导 教 师: 张 莉 莉 答辩组负责人: 填表时间:二九年十二月重庆邮电大学教务处摘 要伴随着Internet技术应用的蓬勃发展,人们与Web的关系也日益密切。在我国,政府上网工程、电子商务、教育科研一系列围绕Internet的Web技术及应用的建设正全面展开。远程教育已成为当今的新型教育形式,大力发展远程教育,提高全民的科学文化素质,实现教育普及,是增强我国综合国力刻不容缓的有力举措
2、,实现教育面向现代化、面向未来。随着人们接受信息量逐渐的增多,单单的人工评定教学效果,已经不能满足素质教育的要求,这样基于互联网的在线考试系统便应运而生了。考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。本文首先分析了在线考试系统的现状及发展趋势,探讨了在线考试系统的开发模式和实现技术。然后,介绍了该系统的主要功能。从实际应用问题的需要出发,该系统的设计环境主要基于B/S模式,采用了JSP语言,利用国内流行的开发
3、平台J2SE、SQL 2005数据库,进行JavaBean类封装,实现JDBC数据池的连接,这样大大减少了数据的频繁调度。对于用户提交的程序测试,都采取了严格的测试。此外,在开发过程中,我们还挖掘了大量JSP所特有的开发形式,从而使在线考试系统具有自己鲜明的特色。关键词:JSP,JavaBean,JDBC,考试系统ABSTRACTWith the vigorous development of Internet technology, people and the webs increasingly close relationship. In China, the government on
4、-line engineering, e-commerce, education and scientific research around the Internet, a series of web technology and applications, construction is in full swing. Distance education has become the new form of education, vigorously develop distance learning, to enhance the peoples scientific and cultu
5、ral quality and achieve universal education is a pressing need to enhance Chinas overall national strength, an effective measure to realize the modernization of education for the future. With the acceptance of a gradual increase in the amount of information alone manual assessment of the effect of t
6、eaching can no longer meet the requirements of quality education.This Internet-based online examination system was born. Test is to examine the students acquire knowledge of the extent of acceptance and understanding of an important means of paperless papers, the examination of the time, place and n
7、ature of research and development of these features are the main causes of network test system, the network test system is far from go beyond the traditional fixed-time test, fixed place of examination mode constraints, students and teachers will bring great convenience.This paper first analyzes the
8、 online examination system status and development trend of the online examination system development model and implementation technology. Then, introducing the main functions of the system. From a practical application of the needs, the system design environment is mainly based on B / S mode, using
9、JSP language, use of domestic popular development platform J2SE, SQL 2005 databases, JavaBean class packages to achieve JDBC data pool connections, thereby greatly to reduce the frequency of data scheduling. For the user submits a program testing, have adopted a strict test. In addition, in the deve
10、lopment process,We have also excavated a large number of JSP-specific forms of development, so that online examination system has its own distinct characteristics.Keywords:JSP,JavaBean,JDBC,Examination System目 录 TOC o 1-3 h z u HYPERLINK l _Toc219607085 摘 要 PAGEREF _Toc219607085 h I HYPERLINK l _Toc
11、219607086 ABSTRACT PAGEREF _Toc219607086 h II HYPERLINK l _Toc219607087 1 绪论 PAGEREF _Toc219607087 h 1 HYPERLINK l _Toc219607088 1.1 引言 PAGEREF _Toc219607088 h 1 HYPERLINK l _Toc219607089 研究与技术前景 PAGEREF _Toc219607089 h 1 HYPERLINK l _Toc219607090 本人主要工作 PAGEREF _Toc219607090 h 2 HYPERLINK l _Toc219
12、607091 论文的组织和结构 PAGEREF _Toc219607091 h 2 HYPERLINK l _Toc219607092 2 需求分析 PAGEREF _Toc219607092 h 3 HYPERLINK l _Toc219607093 系统概况 PAGEREF _Toc219607093 h 3 HYPERLINK l _Toc219607094 设计模式 PAGEREF _Toc219607094 h 3 HYPERLINK l _Toc219607095 2.1.2 B/S模式的优点 PAGEREF _Toc219607095 h 3 HYPERLINK l _Toc21
13、9607096 需求概况 PAGEREF _Toc219607096 h 4 HYPERLINK l _Toc219607097 功能需求 PAGEREF _Toc219607097 h 4 HYPERLINK l _Toc219607098 业务需求 PAGEREF _Toc219607098 h 4 HYPERLINK l _Toc219607099 技术需求 PAGEREF _Toc219607099 h 5 HYPERLINK l _Toc219607100 相关技术 PAGEREF _Toc219607100 h 5 HYPERLINK l _Toc219607101 主要实现技术J
14、SP PAGEREF _Toc219607101 h 5 HYPERLINK l _Toc219607102 2.3.2 JSP的特点 PAGEREF _Toc219607102 h 6 HYPERLINK l _Toc219607103 2.3.3 JSP与其他语言的区别 PAGEREF _Toc219607103 h 6 HYPERLINK l _Toc219607104 2.3.4 JavaBean PAGEREF _Toc219607104 h 7 HYPERLINK l _Toc219607105 2.3.5 SQL 2005与JDBC技术 PAGEREF _Toc219607105
15、 h 8 HYPERLINK l _Toc219607106 2.3.6 Tomcat PAGEREF _Toc219607106 h 8 HYPERLINK l _Toc219607107 开发测试平台的选择 PAGEREF _Toc219607107 h 8 HYPERLINK l _Toc219607108 本章小结 PAGEREF _Toc219607108 h 9 HYPERLINK l _Toc219607109 3 概要设计 PAGEREF _Toc219607109 h 10 HYPERLINK l _Toc219607110 系统组成结构 PAGEREF _Toc219607
16、110 h 10 HYPERLINK l _Toc219607111 系统流程图 PAGEREF _Toc219607111 h 10 HYPERLINK l _Toc219607112 主要数据流图 PAGEREF _Toc219607112 h 11 HYPERLINK l _Toc219607113 数据库设计 PAGEREF _Toc219607113 h 12 HYPERLINK l _Toc219607114 3.4.1 ER图设计 PAGEREF _Toc219607114 h 12 HYPERLINK l _Toc219607115 数据表设计 PAGEREF _Toc2196
17、07115 h 13 HYPERLINK l _Toc219607116 实现与数据库的连接 PAGEREF _Toc219607116 h 14 HYPERLINK l _Toc219607117 本章小结 PAGEREF _Toc219607117 h 16 HYPERLINK l _Toc219607118 4 详细设计 PAGEREF _Toc219607118 h 17 HYPERLINK l _Toc219607119 文档结构和主界面 PAGEREF _Toc219607119 h 17 HYPERLINK l _Toc219607120 主要模块代码实现 PAGEREF _To
18、c219607120 h 18 HYPERLINK l _Toc219607121 用户认证模块 PAGEREF _Toc219607121 h 18 HYPERLINK l _Toc219607122 用户信息管理模块 PAGEREF _Toc219607122 h 20 HYPERLINK l _Toc219607123 试题管理模块 PAGEREF _Toc219607123 h 23 HYPERLINK l _Toc219607124 教学管理模块 PAGEREF _Toc219607124 h 25 HYPERLINK l _Toc219607125 本章小节 PAGEREF _To
19、c219607125 h 27 HYPERLINK l _Toc219607126 5 系统测试 PAGEREF _Toc219607126 h 28 HYPERLINK l _Toc219607127 逻辑测试 PAGEREF _Toc219607127 h 28 HYPERLINK l _Toc219607128 5.1.1 Java类测试 PAGEREF _Toc219607128 h 28 HYPERLINK l _Toc219607129 5.1.2 JSP代码片测试 PAGEREF _Toc219607129 h 28 HYPERLINK l _Toc219607130 功能测试
20、PAGEREF _Toc219607130 h 29 HYPERLINK l _Toc219607131 登录注册测试 PAGEREF _Toc219607131 h 29 HYPERLINK l _Toc219607132 考试测试 PAGEREF _Toc219607132 h 31 HYPERLINK l _Toc219607133 其他测试 PAGEREF _Toc219607133 h 32 HYPERLINK l _Toc219607134 出现的问题 PAGEREF _Toc219607134 h 33 HYPERLINK l _Toc219607135 本章小结 PAGEREF
21、 _Toc219607135 h 33 HYPERLINK l _Toc219607136 6 工作总结和心得体会 PAGEREF _Toc219607136 h 34 HYPERLINK l _Toc219607137 工作总结 PAGEREF _Toc219607137 h 34 HYPERLINK l _Toc219607138 心得体会 PAGEREF _Toc219607138 h 34 HYPERLINK l _Toc219607139 致 谢 PAGEREF _Toc219607139 h 35 HYPERLINK l _Toc219607140 参考文献 PAGEREF _To
22、c219607140 h 36 HYPERLINK l _Toc219607141 附录1:参考英文文献 PAGEREF _Toc219607141 h 37 HYPERLINK l _Toc219607142 附录2:英文文献翻译 PAGEREF _Toc219607142 h 421 绪论1.1 引言WWW是目前Internet上最主要的信息服务类型,它的影响逐渐深入到我们生活的方方面面,Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Web的考试系统正成为
23、人们的研究热点之一,在英国,已经实现了英语资格考试的网上学习和水平认证全过程。现在网络技术逐渐渗入社会生活各个层面,传统的考试方式必将面临着变革,而Web网络考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务
24、器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用Web网络考试方式将是以后考试发展的趋势。网络考试系统的实现技术有多种,可以采用传统的客户机/服务器型的MIS型架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响,因此本文讨论的网络考试系统采用Web技术实现。Web技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/服务层/数据库层,因此Web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层
25、所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分开在不同的计算机上),本文所讨论的在线考试系统是基于JSP技术实现。1.2研究与技术前景如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于Web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成
26、绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。1.3本人主要工作搜集考试系统用户需求进行需求分析进行系统功能规划和模块设计编写代码实现考试系统并实施测试进行系统综合调试1.4论文的组织和结构第一部分:绪论。本章是全文的概述,主要介绍论文的主要工作和结构;第二部分:需求分析。主要介绍了在线考试系统的概况和用户对系统的需求,以及本论文的研究背景和研究工作;第三部分:概要设计。对考试系统的工作原理、流程、功能分划等进行简单描述;第四部分:详细设计。通过代码编写,实现
27、考试系统的所有的功能;第五部分:系统测试。对系统的各个模块进行测试,以确定是否达到预期的效果,及后期系统的修改与维护工作;第六部分:总结。本章对全文工作进行总结,并指出还需要改进的地方。2 需求分析2.1系统概况2.1.1设计模式本系统是基于JSP的在线考试系统,是以B/S(Browser/Server)模式为基础构架的,分为三层体系模式:表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。服务器端主要实现对数据访问、控制、对客户浏览器提供服务,实现浏览器与服务器之间的交互;而浏览器主要与服务器端进行数据交换、采取信息、实现人机交互。表示层即表现为最直观的用户界面;业务逻辑层即特定的数
28、据操作实现,实现对数据的封装;数据访问层即对数据库进行直接操作、控制,达到事务的控制。图2.1 系统的三层体系结构2.1.2 B/S模式的优点1、B/S模式是基于标准的开放、非专有的,是经标准化组织指定而非单一厂商制定的。2、B/S技术成本较低,一般只需安装、配备还在服务器上。在客户机上的工作较少,故障较少。C/S模式的应用无论安装、配备、升级,都要在所有的客户机上实施。B/S的技术维护工作主要集中在服务器,客户机的工作维护量很少,因为客户机只要简单的Web Browser技术便可实现用户的需要,维护简单,而C/S模式则不同,它的服务器与客户机的维护工作量很大。此考试系统采用JSP+JavaB
29、ean+SQL 2005开发的在线考试系统。学生可以通过浏览器方便、快捷的访问教师服务器端,进行在线评估教学成果,减少人工干预,科学地进行评定成绩。2.2需求概况2.2.1功能需求本系统功能划分为三种角色,他们主要有以下功能特点:1、超级管理员(Administrators)超级管理员拥有系统的最高权限,拥有对学生、教师的注册、增加、修改权限,监控考试系统状态,试卷的生成与分发,考试时间和科目的控制,指引教师和学生进行正确的操作和提供帮助,以及学生考试成绩的统计,以及对各模块的管理与维护。2、学生(Students)学生即一个班中的注册用户,凭学号、姓名注册之后,登录系统后拥有选择当前考试科目
30、、在线测试等功能,当开考信号发出后,考试为统一考试时,学生只能在规定的时间里,固定的科目内答题并交卷;如考试为不定时考试时,学生可以在不同时间内,完成定量时间的题目并交卷,交评判系统。同时拥有对个人信息的处理权,修改个人密码,向老师请求帮助等。3、教师(Teachers)教师,即学生的直接作用对象,教师可以对学生的信息进行处理,查看班级、考试在线人数、缺考人数,进行出题管理,试卷的选配,以及考试完后直接提取、查询考试的成绩。2.2.2业务需求本系统从业务角度来说,应主要实现了以下业务:在线考试业务这是本考试系统必然实现的业务,学生通过考试系统平台,在线选题、答题,完成在线题目,取得成绩。人员信
31、息管理业务系统实现对人员注册、登录及日后考试成绩的统一调度,生成报表,使系统的各种角色各司其职。试卷管理业务教师通过系统进行出题,决定当堂考试的科目的考试方式、抽题方式,出题、修改、删除题目,并赋予试题答案,以备试卷评定之用。试卷评定业务将学生的答题试卷根据标准答案统一评定成绩,生成学生成绩。监控业务通过统一的控制中心,实现对考场的监控,保证考试有序的开展。2.2.3技术需求网络通信实现学生机与老师服务器的互通性,是实现本系统的前提,必须构建好小型局域网,分配好IP地址,架设Web服务器,实现可操作性。数据库支持本系统需求数据库支持,在线考试的大量信息都需要与数据库保持着紧密联系,应保证每一种
32、角色的信息都能准确无误地存储入数据库,查询出的信息无二义性,确保数据操作的一致性,这就对数据库有较高的要求。容错机制考生用户在和教师在考试过程中,难免不会产生操作或其他错误,以及数据库的容错,都需要一个良好的容错机制来进行控制。2.3相关技术本在线考试与自动评分系统主要采用JSP、HTML、SQL 2005数据库、Tomcat等技术和工具,整体设计遵循软件工程的方法,经过需求分析、概要设计、代码的编制、和系统实现、测试几个阶段。2.3.1主要实现技术JSPJSP(Java Server Pages)是由Sun Micro Systems公司于1999年6月倡导,许多公司参与一起建立的一种动态网
33、页技术标准。它的实现是在传统的网页HTML文件(*htm,*html)中加入Java程序片段(Scriptlet)和JSP标记(*jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以实现建立动态网站所需要的功能,包括操作数据库、重新定向网页及发送E-mail等等。所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,从而对客户浏览器的要求很低。2.3.2 JSP的特点JSP技术有以下几个显著的优点:应用程序内容与页面显示分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页
34、面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如本系统中的时时获得在线考试的每个考生的信息等)。 在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBean组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XM)页面的形式发送回浏览器。可重用组件 绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBean或者Enterprise JavaBean组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。采用标识 Web页面开发人
35、员不会都是熟悉脚本语言的编程人员。标准的JSP标识能够访问和实例化JavaBean组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 适应平台 几乎所有平台都支持Java,JSPJavaBean几乎可以在所有平台下通行无阻。2.3.3 JSP与其他语言的区别1、ASPASP即Active Sever Pages,由微软公司开发的类似HTML、Script(脚本语言)、与CGI的结合体。它没有提供自己专门的编程语言,而是允许用户使用许多已有的脚本语言编写ASP应用程序。它相比HTML更有灵活性,比一般的脚本语言要安全得多。ASP可以包含标签,通过使用ASP的
36、组件和对象技术,使用ActiveX控件,调用对象属性和方法,以简单式的实现强大的交互功能。缺点是局限于微软的操作系统,工作环境单一,又因ActiveX对象具有对象特性,所以ASP技术要实现跨平台工作将变得不易。2、PHPPHP即Hypertext Preprocessor(超文本预处理器),其语法借鉴了C、Java、Perl等语言,只需少量的编程即可实现交互。它与HTML语言具有良好的兼容性,可以在脚本代码中加入HTML标签,可提供标准的数据库接口,兼容性强,扩展性强,可进行对象编程。JSP与其他语言诸如ASP、PHP的区别,如下表所示:表2.1 JSP与ASP、PHP的区别JSPASPPHP
37、运行速度快较快较快运行耗损较小较大较大难易程度容易掌握简单简单运行平台绝大部分平台Windows平台Windows/Unix扩展性好较好较差安全性好较差好函数支持多较少多数据库支持多多多厂商支持多较少较多对XML的支持支持不支持支持对组件的支持支持支持不支持对分布式的支持支持支持不支持应用程度较广较广较广2.3.4 JavaBeanJavaBean技术组件是Java类,是跨平台、可重用的组件,这些类遵循一定的标准,封装成具有某种属性和方法的对象,实现对对象的封装。分为用户接口和没有用户接口两种。JavaBean的应用对于程序员的好处是可以重复利用从而提高编程效率,简化代码编写过程。它较多的运用
38、于可视化领域,但最近几年逐步在非可视化领域里占有一席之地。JSP运用JavaBean技术不仅可以运用使程序员代码工作大为减少,而且对用户对象来说,安全性更为提高,技术可靠性也较高。2.3.5 SQL 2005与JDBC技术本系统采用微软的SQL 2005作为后台数据库,它的特点是提供数据镜像、在线检索等强大功能,这些都是系统中所必备的。Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBCODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序
39、,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。图2.2 JSP与数据库连接图2.3.6 TomcatTomcat服务器是世界主流的应用Web服务器,究其软件的开源性深得众多Web开发者喜爱。它主要应用于中小型网站架设和并发访问不是很多的环境条件下,它不仅可以自己可以单独作为Web服务器,同时也可作为结合其他的Web服务器的支持部件,或只担任Servlet或者JSP的容器。2.4开发测试平台的选择开发平台:JDK1.6+Eclipse3.4.1+Tomcat6.0+SQL 2005测试平台:软件环境:服务器端:Windows NT
40、/2000/XP/2003 Server,Tomcat 6.0,JDK 1.6或以上,IE浏览器等。数据库:采用SQL 2005数据库,运用于服务器端。客户端:Windows 95/98/2000,IE浏览器。硬件环境:服务器端: CPU:PIII500以上 ,内存:512M以上。客户端: CPU:P200MMX以上,内存:32M以上。图2.3 Eclipse3.4.1主界面2.5本章小结本章主要概要分析了用户和系统需求,实现开发系统的相关技术和平台。3 概要设计3.1系统组成结构本系统功能模块主要分为以下几个模块:1、用户认证模块实现用户登录、注册,后台实行JavaBean封装,用户登录进行
41、数据库查询验证,如果不是注册用户系统会提示注册,用户进行注册时,自动进行数据库插入操作,使之成为数据库中合法的新用户。2、人员信息管理模块对考生、教师人员信息进行管理,管理员有进行高级管理的权限,对考生所属班级、成绩等进行查询、管理。3、试题管理模块出题、选择考试题目及确定考试的方式,提供自定义出题和随机出题目,老师可以根据实际情况选择考试的方式,出题可以出选择、填空、问答题等。4、教学管理模块考生交卷之后,自动评定考生成绩,以提供老师、管理员查询成绩,教师可以根据学生个人信息和集体信息进行查询,检验实时的教学效果。在线考试系统用户认证模块人员信息管理模块试题管理模块教学管理模块图3.1 在线
42、考试的模块组成结构3.2系统流程图系统的主要流程为:用户(可能是注册用户也可能是非注册用户)在登录系统时,考试系统会根据用户输入的用户用户名和密码进行数据库查询验证,账号合法,则进行下一步,如果不合法,则提示用户注册之后再进行登录。注册用户登录之后,则会迭代,来进行身份判定,根据用户注册的身份不同,则系统会指引向不同的界面。如果是管理员,则进行普通、高级管理的整个管理模块,而如果是教师则只能进行试题的出题、学生信息的查询,如果是学生,则只能进行最基本的答题功能。教程教学接口主要是为考生考试和教师查看教学成果而设计。图3.2系统主要流程图以下是本系统的主要数据流图,如下图所示:3.4数据库设计3
43、.4.1 ER图设计本系统的主要实体有管理员实体、教师实体、学生实体、试题实体、成绩实体,它们的主要属性如下:1、管理员实体:用户身份id,用户名username,用户密码passwd,用户类型type。2、教师实体:用户身份id,用户名username,用户密码passwd,用户类型type,用户所教年级grade,用户教学科目Exam_sub。3、学生实体:用户身份id,用户名username,用户密码passwd,用户类型type,用户所在年级grade,用户所在班级,用户考试科目Exam_sub。4、试题实体:试题编号id,试题题目Exap_topic,试题内容Exam_con,用户考
44、试科目Exam_sub,试题答案Exam_answer,试题类型type。5、用户身份id,用户名username,考试科目Exam_sub,用户考试成绩score。管理员和教师、学生的关系是管理1:m,学生和试题的关系是答题m:n,教师与试题的关系是出题1:m,教师和成绩的关系是查询1:m。图3.4系统ER图3.4.2数据表设计其中Type类型字段,1为管理员,2为教师,3为学生。管理员表(Administrators)主要用于存放系统最高权限的管理员的相关信息。表3.1 管理员表字段类型长度允许为空主键idInt10否是usernameVarchar20否否passwdVarchar40是
45、否Typeint4否否教师表(Teachers)主要用于存放系统内的出题的教师的相关信息。表3.2 教师表字段类型长度允许为空主键idInt10否是usernameVarchar20否否passwdVarchar40是否Typeint4否否gradeVarchar20否否Exam_subVarchar100是否学生信息表(Students)主要用于存放学生相关的信息。表3.3学生信息表字段类型长度允许为空主键idInt10否是usernameVarchar20否否passwdVarchar40是否typeint4否否gradeVarchar20否否试题表(Examination)主要胜于存放出
46、题目老师的试题和答案。表3.4 试题表字段类型长度允许为空主键Exam_idInt10否是Exam_topicVarchar100否否Exam_conVarchar100是否Exam_answerVarchar60是否Exam_typeVarchar60是否Exam_subVarchar100是否成绩表(Score)主要用于存放学生考试后的成绩。表3.5 成绩表字段类型长度允许为空主键idInt10否是usernameVarchar20否否scoreVarchar30是否Exam_subVarchar100是否3.4.3实现与数据库的连接在服务器端运行的SQL 2005数据库服务器,如使用JD
47、BC访问数据库,那么还需要在服务器布署SQL 2005的驱动程序,将其布置在Tomcat服务器的安装目录的lib文件夹下。对数据库的连接管理操作,可以用一个Java类来实现,代码如下:public class DBConMgr /定义一个连接管理类private String driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver;private String userName=sa;/数据库用户名private String userPwd=;/数据库用户密码private String url= jdbc:sqlserver:/loc
48、aohost:1443;DatabaseName=Exam ;/连接字符串Private Connection conn=null; /数据库连接对象public Statement sm=null;/数据库语句对象 public void ConnectDB()/定义一个连接的方法try Class.forName( driverName); /注册驱动程序conn = DriverManager.getConnection(url,userName , userPwd);sm=conn.createStatement();System.out.println(数据库连接成功!); catc
49、h(Exception e) e.printStackTrace(); System.out.println(数据库连接失败!);public String gb2iso(String qs)/此方法是将字符转换成简体中文标准编码try if (qs = null) return NULL; else return new String(qs.getBytes(gb2312),iso-8859-1); catch(Exception e) System.out.print(gb2iso error:+e.getMessage(); return NULL; public void CloseD
50、B()/定义一个关闭数据库连接的方法try if (sm != null) sm.close();Conn.close(); catch (SQLException SqlE) Sql.EprintStackTrace();System.out.println(数据库关闭失败!); /异常时打印失败信息3.5本章小结本章主要进行系统功能规划,进行数据库设计。4 详细设计4.1文档结构和主界面本系统的主目录在Eclipse的/exam1,本系统的文档结构图如下图4.1所示:图4.1文档结构图本系统的主界面如下图4.2所示:图4.2考试系统主界面4.2主要模块代码实现4.2.1用户认证模块用户注册
51、主要由sreg1.jsp实现,其主要代码:实现管理员登录的log.jsp实现管理员的管理,其主要代码:图4.3 系统登录主界面图4.4用户注册界面4.2.2用户信息管理模块用户信息管理主要由gm1.jsp实现修改密码,其主要代码:/根据传递过来的字符进行数据库修改操作用户信息管理模块中的insert1.jsp主要用于实现添加管理员,其主要代码:4.5用户信息管理界面4.6添加管理员界面4.2.3试题管理模块生成自定义试题主要由radom1.jsp实现,其主要代码:生成随机试题主要由anwser1.jsp实现,其主要代码:图4.7出题界面4.2.4教学管理模块教学管理模块中的查询集体信息主要由j
52、tx.jsp实现,其主要代码:教学管理模块中的查询个人信息主要由jcy.jsp实现,其主要代码:4.8集体查询界面图4.9教学查询界面4.3本章小节本章主要进行系统的详细代码设计,展示实现的效果图。5 系统测试.1 Java类测试对Java类测试主要采用Eclipse的自带的Junit工具创建一个examTest类,对系统的exam类测试,最后能通过测试。如下图所示: examTest类测试 JSP代码片测试对JSP的代码片测试,采用断点的方法,进行测试,通过了大部分测试。如下图所示:图5.2 断点测试5.2.1登录注册测试本系统完成之后,对各个模块的功能进行详细的测试,首先对用户登录模块进行
53、测试,其步骤如下:在数据库的administrators表中注册一个名为0002账户的管理员,进行管理员登录测试。图5.3管理员注册在浏览器输入 :/localhost:8080/exam1进行登录。输入用户名为0002,密码为00002进行测试。图5.4输入浏览器地址和用户名、密码进行测试之后,发现能进行管理员的登录,达到了预期的效果。图5.5 系统管理员主界面其次,对学生注册模块进行测试,其步骤如下:1、在浏览器的地址栏中输入: :/localhost:8080/exam1/sreg.jsp,进入学生注册页面。2、注册一个学生的信息:准考证:00000003,姓名:许晶晶,性别:女,学号:
54、03,班级:06级4班,系别:计算机系。图5.6进行学生注册进行测试之后,发现在数据库的student表中多了一条名为“许晶晶”的记录,实现了学生注册的功能,注册模块测试成功。图5.7新加学生的记录5.2.2考试测试对系统的考试功能进行测试,步骤如下:1、登录系统的主界面,输入,进行控制考试,然后发布计算机试题。图5.8发布试题2、以刚创建的“许晶晶”进入考试系统考试,考试的主页是:,选择期末考试。图5.9选择考题3、进行下一步,便可以到达考生答题主界面。5.10考生答题主界面测试证明,在线考试的功能已达到。5.2.3其他测试对本系统,其他进行了查询成绩、监控测试,结果都能反应出系统的实际状况
55、。图5.11 监控业务测试5.3出现的问题在测试系统的时候,系统的大多数的功能都能实现,但还是存在一些问题。在用户的注册的时候,用户的信息进行校验很烦琐,JavaScript的正则表达式可以减少这些操作,所以在JavaScript正则表达式还应该好好练习,以简化代码编写。对于系统安全性,主要问题体现在对用户个人信息隐私的屏蔽上。在数据库接受用户注册的时候,密码是用明文的形式写入数据库的,这样在服务器端有着重大的安全隐患,黑客可以一量通过数据库连接并取得了用户的密码,这样一来将给系统的造成严重后果。其主要解决方案可以用加密密码来实现,如Java中自带的MD5算法。在测试过程中,我经过测试,排除了
56、系统的大部分错误。当然排除所有错误是不太可能的,有些未知的错误找不到出现的原因,系统需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。5.4本章小结本章主要进行系统的各模块测试,以验证是否达到预期目的。6 工作总结和心得体会6.1工作总结通过这段时间的系统开发和论文撰写过程,通过查阅、研究大量的相关文献,结合实际,使我对JSP方面的理论知识,包括对它的定义,内涵,特点,功能,技术等方面的研究都有了更深的了解。并亲自利用所学
57、知识建立了在线网络考试系统。虽然由于时间有限和本人能力有限,这个系统还不够完善,还有许多地方有待改进。但这短短两个月的毕业设计,对我所学知识是全方位的检查,在毕业设计中得到实际上的应用,它使我懂得了如何去开发一个系统或者一个软件,它也使我懂得了软件的结构,在设计过程中使我对JSP技术、SQL 2005数据库以及Web网站开发有了更深入的理解,对即将步入社会的我积累了经验。6.2心得体会另外通过这次毕业设计,我从中学到了许多新的知识,首先我觉得项目开发是一个思维的过程,在脑海里应有一个综合的构建图,然后分而治之,把问题简化,但是最后还是要把它的各项综合起来,重新检验他们相互之间会产生冲突,这就是
58、一个整体概念,问题总要归结到系统的整体测试。其次,我觉得做任何一件事都是一种坚持的过程,不管问题困难与否,怀着坚定的信念去解决问题,这样或许我才能说我理解了,我明白了,其实本来就是这样。而且同时通过这次毕业设计,也培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会,所谓系统开发如人生百味,酸甜苦辣皆有之。致 谢在论文完成之际,我要特别感谢我的指导老师张莉莉老师的热情关怀和悉心指导。在我撰写论文的过程中,她倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了她的悉心细致的教
59、诲和无私的帮助,特别是她广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。在论文的写作过程中,也得到了许多同学的宝贵建议,同时还到许多在工作过程中许多同事的支持和帮助,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!2009年12月30日参考文献飞思科技开发中心JSP应用开发详解电子工业出版社,2004张跃平,耿详义JSP程序设计清华大学出版,2009冯燕奎,赵德奎JSP应用案例教程清华大学出版社,2004张靓,顾慧敏等Java案例开发中国水利
60、水电出版社,2005孙卫琴Tomcat与Java Web开发技术详解电子工业出版社,2009李振捷,陈雄,王军JSP网站开发典型与实例精讲电子工业出版社,2006霍尔(美),布朗(美)赵学良译Servlet与JSP核心编程(第2版)清华大学出版社,2004Steve HolznerEclipseOReailly Publisher,2004Steve HolznerEclispe 集成开发工具东南大学出版社,2005詹森(美)Tomcat权威指南中国电力出版社,2004弗莱(美)张铭译JavaScript权威指南(第四版)机械工业出版社,2003萨师煊,王珊数据库系统概论(第四版)高等教育出版
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省西安市未央区浐灞区小学2023-2024学年六年级上学期期中英语试卷
- 林木育种的抗念珠菌选择与策略考核试卷
- 森林改培的生态效益评估与监测考核试卷
- 新高考历史三轮冲刺过关练习专题09 选择题(解析版)
- DB11T 762-2010 电子政务业务描述规范
- DB11∕T 1814-2020 城市道路平面交叉口红线展宽和切角规划设计规范
- 我们祝福课件教学课件
- 周文强课件教学课件
- 淮阴工学院《建设工程成本控制与规划》2022-2023学年期末试卷
- 2024年高考语文二轮复习:论证分析主观题(练习)(解析版)
- 河南省信阳市2024-2025学年七年级上学期期中历史试题(含答案)
- 2024至2030年高分子吸水树脂项目投资价值分析报告
- 期中测试卷(1-5单元)(试题)-2024-2025学年三年级上册数学人教版
- DB11T 731-2010 室外照明干扰光限制规范
- 2024年学校食堂管理工作计划(六篇)
- 学校食堂消毒记录
- 塔吊使用安全协议书
- 地 理气温的变化和分布课时1课件-2024-2025学年七年级地理上册(人教版2024)
- Unit4+My+space++Reading++The+1940s+House+课件高中英语沪教版(2020)必修第一册
- 4.1 中国特色社会主义进入新时代 课件高中政治统编版必修一中国特色社会主义-1
- 人教版(PEP)小学六年级英语上册全册教案
评论
0/150
提交评论