【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Java开源代码-基于JAVA的在线考试系统开发设计-毕业设计学位论文范文模板参考资料 - 毕业设计的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
基于
JAVA 的在线考试系统【内容提要】 在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。
我主要开发系统的后台
管理系统—
JAVA 在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。
本
论文主要介绍了对
JAVA 在线考试管理子系统的分析、设计和开发的全部过程。
运用 ER 图,程序流程图等对在线管理子系统的设计过程进行详细的说明。
全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五部分。
开发方案中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接及数据的备份与还原。
【关键词】:JSP,
JAVA,SQL Server 2000 数据库,B/S 模式 前 言 ......................................................................................................................................................1 1、 开 发 方 案 ............................................................................................................................................2 1.1 问 题 分 析 .......................................................................................................................................2 1.2 项目目的 ........................................................................................................................................2 1.3 方案选择 ........................................................................................................................................2 1.4 开发框架技术 ................................................................................................................................4 2、 需求分析 .............................................................................................................................................5 2.1 任务概述 ........................................................................................................................................5 2.2 功能需求概述 ................................................................................................................................5 2.2 运行环境 ........................................................................................................................................7 3、系统
设计 ..............................................................................................................................................7 3.1 指导思想 ........................................................................................................................................7 3.2 系统结构图 ....................................................................................................................................9 3.3 数据库设计 ..................................................................................................................................12 3.4 系统模块部分设计.......................................................................................................................17 4、关键技术解决 ....................................................................................................................................24 4.1 系统架构与数据库的连接...........................................................................................................24 4.2 框架技术的整合 ..........................................................................................................................26 4.3 数据的备份与还原.......................................................................................................................27 5、结束语 ................................................................................................................................................28 参考文献 ..................................................................................................................................................29 ABSTRACT .............................................................................................................................................30 基于
JAVA 的在线考试系统 前 言 现今,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。
如微软的 MCSE、Cisco 的 CCNA 等。
我们国家的自考或是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在走。
我们相信在今后这一系列的考试将会走向网络化考试的。
这样才是符合信息发展的。
所以我们考虑这是一个机会。
我们要给不同的考试一个好的解决
方案。
这个方案在技术上来讲我们是采用 B/S 模式。
在 Windows/Linux 平台上,使用 IE 浏览器,完成抽题、考试、交卷等考试任务。
各考点模块通过网络获取题库,考点模块按照题库中的抽题策略,自动给每个考生生成一份试卷,考生在线作答,考试结果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。
“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化
学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。
学生可以随时、随地进行
课程结业考试。
现阶段学校与社会上的各种考试大都采用传统的考试方式在此方式下组织一次考试至少要经过五个步骤即人工出卷考生考试人工阅卷成绩评估和试卷分析。
显然随着考试类型的不断增加及考试要求的不断提高教师的工作量将会越来越大并且其工作将是一件十分烦琐和非常容易出错的事情可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展网络应用不断扩大如远程教育和虚拟大学的出现等等且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试以减轻教师的工作负担及提高工作效率与此同时也提高了考试的质量从而使考试更趋于公证、客观、更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
为了适应新形势的发展我们推出了这一系统使其尽快在各类考试中发挥高效便捷的作用把老师从繁重的
工作中解脱出来。
1 基于
JAVA 的在线考试系统1、 开 发 方 案1.1 问 题 分 析 传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析
试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。
尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。
而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。
它可以利用互联
网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。
在当今信息时代计算机技术与网络技术越来越广地应用于各个领域改变着人们的学习、工作、生活乃至思维方式也引起了教育领域的重大变革。
将
计算机与网络技术应用于现代高等教育中是现代高等教育发展的需要也是改革教育模式提高学校教学效果和教学效率、提高科研和管理水平的必要手段。
1.2 项目目的 在线考试系统的总体目标: ①、 在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到 分数统计总结的所有工作。
②、 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。
③、 考试数据的存放和处理必须对考试保密,需要一定的安全性保障。
对考试的
系统目标: ①、 这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生 在任何地方进行身份确认,都能完成考试。
②、 题目最好有一定的稳定性和随机性。
稳定性可以保证每一次考试对每一个考生是公平的, 随机性可以避免作弊的发生。
③、 考试的部分结果在考生考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错 了,并给出反馈信息说明理由。
对教师的系统目标: ①、 提供一个功能全面的考核管理客户端,可以进行考试设计和安排。
②、 通过管理客户端,教师可以进行考试的身份管理。
③、 考生的考试结果可以被保存下来,供教师进行分析统计和察看。
1.3 方案选择 ①、 开发在线考试系统,提出以下解决方案: 选择 SQL Server 2000 作为后台的数据库,选择
JAVA、JSP、JavaScript、Html 作为应用程序开发工具,运用 Tomcat 服务器技术,整个系统完全基于 B/S Browser/Server模式进行设计。
②、
JAVA 简介 2 基于
JAVA 的在线考试系统
Java 是 Sun 公司推出的新的一代面向对象程序设计语言,特别适合于 Internet 应用程序开发。
Java的产生与流行是当今 Internet 发展的客观要求,
Java 是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在 Internet 环境上开发的应用系统。
③、 Web 应用程序开发环境—JSP 技术JSP 的全称是
Java Server Pages,它是 SUN 推出的一种动态网页技术标准。
它在传统的静态页面文件(.html.htm)中加入
JAVA 程序片段和 JSP 标记,就构成了 JSP 页面。
JSP 具有以下的优点: a 将业务层与表示层分离:使用
JSP 技术,网络开发人员可充分使用
HTML 来设计页面显示部 分(如字体颜色等),并使用 JSP 指令或者
JAVA 程序片段来生成网页上的动态内容; b 能够跨平台:JSP 支持绝大部分平台,包括现在非常流行的 LINUX 系统,应用非常广泛的 Apache 服务器也提供了支持 JSP 的服务; c 组件的开发和使用很方便:如 ASP 的组件是由 C,
VB 等语言开发的,并需要
注册才能使 用;而 JSP 的组件是用
Java 开发的,可以直接使用; d 一次编写,处处运行: JSP 作为
JAVA 开发平台的一部分, 具有
JAVA 的所有优点,包括 Write once Run everywhere. ④、 Tomcat 应用服务器 目前支持 JSP 的应用服务器是较多的, 被 Tomcat 是其中较为流行的一个 Web 服务器, JavaWorld杂志的编辑选为 2001 年度最具创新的
Java 产品,可见其在业界的地位。
Tomcat 是一个免费的
开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。
你在浏览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat 要将 Jsp 转化为 Servlet 文件,然后编译。
编译以后,访问将会很快。
Tomcat 也具有传统的 Web 服务器的功能:处理 Html 页面。
但是与 Apache 相比,它的处理静态Html 的能力就不如 Apache。
我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。
Tomcat 是一个很好的工具,不仅仅因为其
免费,功能强大,更因为其开放性,越来越受到人们的重视。
⑤、 SQL server 2000 Microsoft SQL Server2000 是由 Microsoft 公司开发的,简称 SQL Server,由一系列相互协作的组件构成,能满足最大的 Web 站点和企业数据处理系统存储和分析数据的需求。
Microsoft SQL Server 2000 具有如下特性: 其数据库引擎提供完整的 XML 支持 一个数据库引擎可以在不同的平台上使用 其关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
一系列管理和开发工具,是其系统容易安装 、部署、管理和使用。
有析取和分析汇总数据以进行联机分析处理 OLAP 的工具 ⑥、 B/S 开发模式 伴随着 Internet 的迅速发展,计算机技术正在由基于 C/S(client/ Server)模式的应用系统转变为基于 B/S 模式的应用系统。
过去,网络软件的开发都采用 C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客 户端程序,因此,必然导致以下问题: 3 基于
JAVA 的在线考试系统 a 系统安装、调试、维护和升级困难。
由于客户端的硬件配置可能存在差异,
软件环能各不 相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对 客户端分别处理。
b 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。
B/S 模式带来了巨大的好处: a 开发成本及维护成本降低。
由于 B/S 架构管理软件只安装在服务器端(Server)上,即应 用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需 要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW 浏览器 实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人 员只需要做硬件维护。
b 良好的安全性能,防火墙技术可以保证后台数据库的安全性。
所有的配置工作都集中在服 务器端且所有客户端请求都是通过 DBMS 来访问数据库,从而大大减少了数据直接暴露的风 险。
1.4 开发框架技术 对于框架技术,我们采用 Struts SpringHibernate 的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用
Java 技术在
web 的应用。
Struts 是应用比较广泛的一种表现层框架 Struts 是一个为开发基于模型Model-视图View-控制器ControllerMVC模式的应用架构的
开源框架,是利用 Servlet,JSP 和 custom tag library 构建 Web 应用的一项非常有用的技术。
由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速。
它使用服务层框架可以将JavaBeans 从 Jsp/Servlet 中分离出来,而使用表现层框架则可以将 Jsp 中剩余的 JavaBeans 完全分离,这部分 JavaBeans 主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts 是应用比较广泛的一种表现层框架。
Spring 服务层框架 它也是一个
开源框架,它由 Rod Johnson 创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。
然而,Spring 的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何
Java 应用都可以从 Spring 中受益。
目的:解决企业应用开发的复杂性 功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企业应用功能 范围:任何
Java 应用简单来说,Spring 是一个轻量级的控制反转IoC和面向切面AOP的容器框架。
Hibernate 通过持久层的框架将数据库存储从服务层中分离出来 4 基于
JAVA 的在线考试系统 它是 O/R Mapping 的一种实现是目前在
JAVA 界使用非常广泛的 O/R Mapping 的一种实现,可以实现关系型数据库和对象之间的映射。
用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。
表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写 JDBC 等 SQL 语句(如 Ibatis);使用 O/R Mapping 技术实现的 Hibernate 和 JDO 技术;当然还有 EJB 中的实体 Bean 技术。
Hibernate 的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和 Hibernate 提供的一 些基本类,就可以达到使用数据库的目的。
例如,使用 Hibernate 的查询,可以直接返回包含某个值对象的
列表(List),而不必向传统的 JDBC 访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。
Hibernate 提供的 HQL 是一种类 SQL 语言,是提供对象化的数据库
查询方式,但 HQL在功能和使用方式上都非常接近于标准的 SQL2、 需求分析2.1 任务概述 在线考试管理子系统主要实现题库管理、在线制作试卷、在线控制考试、自动评分(客观题部分)、自动交卷、考生管理、成绩查询、试卷管理等功能,充分利用计算机科学与技术,改变传统的考试操作方式,实现无纸化考试的模式。
2.2 功能需求概述 系统需要解决的主要
问题 我主要开发的是后台管理子系统,在此系统中我们主要对前台考试系统的显示信息进行管理和设置。
我将子系统分为以下功能模块: 在线考试管理子系统 题 试 考 评 成 用 权 信 库 卷 试 卷 绩 户 限 息 管 管 管 管 管 管 管 管 理 理 理 理 理 理 理 理题库管理:用于对单个试题的增、删、改、查等基本维护,还可对题库进行数据备份和数据还原。
我们针对不同题型、不同应用范围及不同科目对试题进行维护。
试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组卷。
还可对考生的基本信息进行维护。
考试管理:对考试分配试卷,并对考试的基本信息进行维护。
相当于人工安排考试的过程评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管理。
成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。
用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统管理员、老师、教务处人员、 5 基于
JAVA 的在线考试系统其他权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。
系统应该具备的基本功能 各模块需完成以下功能: 题库管理 试卷管理 基本 试题 其它 试卷信 试卷其 维护 维护 维护 息维护 他维护 随 人 综 题 范 科 机 工 合 型 围 目 组 组 组 维 维 .