文档库 最新最全的文档下载
当前位置:文档库 › 基于JAVA的试题管理系统的开发(毕业论文)

基于JAVA的试题管理系统的开发(毕业论文)

毕业设计(论文)

题目: 基于Java技术的在线考试

系统的开发

摘要

在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA 在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。

全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接及数据的备份与还原。

本毕业设计的内容是设计并且实现一个基于web技术的在线考试系统,故而系统主要以j2EE作为开发基础,主要使用了struts+spring等多种协议或技术,用eclipse作为开发工具,以MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具。基本实现了网上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;用户注册、登录、注销,个人信息的查询、修改;考试管理,套题管理,成绩管理。该系统界面简单、操作方便,容易维护。

关键词:在线考试j2EE struts + spring

目录

摘要I

Abstract 错误!未定义书签。

第一章引言 (1)

1.1 课题背景 (1)

1.2 课题目的和意义 (1)

1.3 本文结构 (1)

第二章系统应用的关键技术 (2)

2.1 JSP技术介绍 (2)

2.1.1 JSP的概述 (2)

2.1.3 JSP的强势与劣势 (3)

2.1.4 JSP与ASP的比较 (4)

2.2 Java组件JavaBeans (4)

2.2.1 什么是JavaBeans (4)

2.2.2 JSP与JavaBeans的关系 (5)

2.3 J2EE概述 (5)

2.4关于Struts (6)

2.4.1 Struts简介 (6)

2.4.2 Struts的主要功能 (7)

2.4.3 Struts工作原理 (7)

2.5 关于Spring (8)

2.5.1 Spring简介 (8)

2.5.2 为什么需要Spring (10)

2.5.3 Spring带给我们什么 (10)

2.6 关于B/S开发模式 (11)

2.6.1为什么引入B/S开发模式 (11)

2.7.1 mysql的特点 (11)

2.7.2 mysql的安装和配置(部分截图)[12] (12)

2.8 Tomcat服务器 (14)

2.8.1 Tomcat 服务器简介 (14)

2.8.2 Tomcat的特点 (15)

2.8.3 Tomcat的优势 (15)

2.8.4 Tomcat服务器的安装和配置 (15)

小结16

第三章系统需求分析和总体设计 (17)

3.1 系统功能需求 (17)

3.2 系统角色及其功能分析 (17)

3.2.1 系统的2个角色: (17)

3.2.2 系统角色的功能 (18)

3.3 总体设计思想概述 (18)

3.4 数据库设计 (19)

3.4.1 E-R图 (19)

3.4.2数据表的设计 (20)

3.5 系统的类设计 (22)

3.5.1 DAO类设计 (22)

3.5.2 connDB类设计(部分) (22)

3.5.3 过滤器类设计 (23)

3.5.4 监听器类设计 (24)

3.6系统的用例图 (24)

3.6.1 总体用例分析 (25)

3.6.2 用户管理用例分析 (25)

3.6.3 考试管理用例分析 (26)

3.6.4 考试题目管理用例分析 (27)

3.6.5 成绩管理用例分析 (27)

小结28

第四章系统的详细设计 (28)

4.1 数据库与connDB类映射的实现 (28)

4.2 主要模块的设计说明与界面 (29)

4.2.1用户管理模块 (29)

4.2.2考试管理模块 (35)

4.2.3 题目管理模块 (38)

4.3 系统的测试 (46)

小结47

第五章总结与展望 (47)

5.1 工作总结 (47)

5.2 后续工作展望 (48)

参考文献 (49)

附录50

致谢54

第一章引言

1.1课题背景

网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个重要特征,并对教育的发展形成新的推动力。随着Internet/Intranet的迅速发展和广泛普及,网络考试系统成为现代教育技术未来发展方向之一。作为网络考试的一个子系统——网络阅卷子系统,也成为一个重要的研究领域。现代网络考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。网络阅卷子系统突破了传统考试方式的时空限制,使阅卷方式更为灵活,同时充分利用计算机进行自动阅卷功能,大大减轻了教师的工作量。

1.2课题目的和意义

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

1.3本文结构

本文共分五个章节,系统地阐述了系统开发的全过程。

第一章,主要介绍了开发的背景、目的和意义。

第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。

第三章,主要对系统进行需求分析并进行总体设计。需求分析阶段通过分析系统的功能模块的划分以及角色的划分,为系统的总体设计提供依据。总体设计阶段通过对数据库、过

滤器、监听器、和实体类的设计,以及各个模块用例图的描述,形成了开发的整体思路。

第四章,主要介绍了主要模块的设计与实现,并给出关键源代码和最终的效果图。

第五章,主要是对这次毕业设计的总结和对后续工作的展望。

第二章系统应用的关键技术

2.1 JSP技术介绍

2.1.1 JSP的概述

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。

JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web 开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。

2.1.2 JSP的运行机制

JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet 对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。

JSP请求的步骤[2]如图2-1所示。

(1)用户机请求一个JSP页面。

(2)JSP引擎编译该JSP成一个servlet。

(3)生成的servlet被编译并装载。

(4)编译的servlet服务请求并把一响应发送回用户机。

JSP主要是针对Java程序处理不熟悉的人设计的。与Servlet 相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Servlet方便。

2.1.3 JSP的强势与劣势

JSP的强势:

(1)可移植性。JSP是用Java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。

(2)有效性。JSP的初始化代码仅在Web服务器第一次加载时执行一次。一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。

(3)强大的可伸缩性和可扩充性。它能够在面向对象的语言(Java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。

(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)Java Servlet是一种开发Web应用的理想框架。JSP以Servlet技术为基础,又在许多方面作了改进。利用跨平台的JavaBeans组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。

JSP的劣势:

(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB

等多种产品,这就需要大量的学习和培训才能掌握它们,

将它们有效地搭配在一起,灵活地加以运用。

(2)Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来

存储一系列.Java文件和.class文件以及对应的版本文件。

(3)JSP只有对Java相当熟悉的人才能用得很好。

(4)JSP程序调试困难。

2.1.4 JSP与ASP的比较

JSP与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:

(1)Web服务器的支持:大多数通用的Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。

(2)平台的支持:JSP具有平台独立性,只要是一般的Java 程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于一直到其它平台上。

(3)组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans 和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。

(4)脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。

(5)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。

(6)与Access数据库的连接:JSP使用JDBC建立与Access 数据库的连接,而ASP对Access数据库使用Data Active Objects。

(7)用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的[3]。

2.2 Java组件JavaBeans

2.2.1 什么是JavaBeans

JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java

类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans[4]。

2.2.2 JSP与JavaBeans的关系

使用JSP技术,Web页面开发人员可以使用HTML和XML 标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。

在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。

绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans 或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。

2.3 J2EE概述

J2EE(Java 2 Platform Enterprise Edition)是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java 平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE(Java 2 Platform Standard Edition)和适用于企业级应用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE 架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE

应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE 企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。

J2EE的优势主要有以下几点:

(1)高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:状态管理服务-- 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

(2)持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象CACHE服务,让开发人员编制高性能的系统,极大提高整体部署的伸缩性。(3)支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE 标准也允许用户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(4)可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新用户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

(5)稳定的可用性:一个服务器端平台必须能全天候运转以满足公司用户、合作伙伴的需要。这是实时性很强商业系统理想的选择[5]。

2.4关于Struts

2.4.1 Struts简介

相关文档
相关文档 最新文档