基于JAVA的在线考试系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Domain Model Business Objects Struts-Spring-Hibernate 架构
3.1.4系统结构图 本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下
2.2、 功能模块划分
2.2.2子系统分为以下功能模块:
在线考试管理子系统 信息管理 评卷管理 试卷管理 题库管理 成绩管理 考试管理
用户管理 权限管理
题库管理:用于对单个试题的增、删、改、查等基本维护,还可对题库 进行数据备份和数据还原。我们针对不同题型、不同应用范围及不同科 目对试题进行维护。 试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组 卷。还可对考生的基本信息进行维护。 考试管理:对考试分配试卷,并对考试的基本信息进行维护。相当于人 工安排考试的过程 评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管 理。 成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成 绩的统计管理。 用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统 管理员、老师、教务处人员、其他 权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。
用户管理 权限管理 信息管理
权限信息维护
用户基本信息
信息基本维护
用户分配权限
用户基本信息维护:对使用本系统的用户进行维护,而用户的权限由权 限管理进行维护,并分配给用户,使用户只能访问自己拥有的权限内。 权限信息维护:对基本的权限进行维护,用户可自定义维护权限。 用户分配权限:对未分配权限的用户进行权限的分配,即对 分配权限 的增、删、改、查操作。 信息基本维护:我们的信息除了有关考试的信息外,还有公告、新闻、 留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、 删、改、查操作,而留言是由前台的用户(学生)或游客录入的,我们 要防止垃圾数据显示,即对留言有权更改等操作。
3、 系统设计
3.1、实现技术
3.1.1、系统工程的流程思想 我们在系统开发过程中,采用软件工程的开发管理,在开发的过程中也 遵循软件工程的思想,软件工程的主要环节有:人员管理(自己模 拟)、项目管理(我的小组模拟)、可行性与需求分析、系统设计、程 序设计、测试、维护等,如下所示。
人员管理
维护 测试 程序设计 系统设计 可行性与需求分析
2.1.2方案选择
开发在线考试系统,提出以下解决方案:
选择SQL Server 2000作为后台的数据库,选择JAVA、JSP、 JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整 个系统完全基于B/S (Browser/Server)模式进行设计。
2.1.3开发框架技术 对于框架技术,我们采用Struts+ Spring+Hibernate的整合,其实任何 一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三 种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用 Java技术在web的应用。 Struts是应用比较广泛的一种表现层框架 Struts是一个为开发基于模型(Model)-视图(View)-控制器 (Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP 和custom tag library构建Web应用的一项非常有用的技术。由于 Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务 层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架 则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责 显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自 己的标签库,Struts是应用比较广泛的一种表现层框架。 Spring 服务层框架
考试管理
考试信息维护 分配评卷人
评卷管理 成绩管理
评卷人评卷
考生信息维护
考生成绩维护
成绩其他维护
考试信息维护:对考试的时间、地点、监考人、考试用的试卷、试卷总 分数及答卷总时间等考试的基本要素进行设置。 考生信息维护:对考试的学生的基本信息进行增、删、改、查操作,在 操作之后会自动刷新主页,以使信息更新。 分配评卷人:对考试所用试卷的客观题分配评卷人,并对评卷的基本信 息进行维护。 评卷人评卷:对分配试卷的评卷人可以在此进行评卷。 考生成绩维护:对考试的考生成绩信息进行统计与汇总,对有权限的人 可进行成绩的增、删、改、查操作。 成绩其他维护:对考生成绩信息的批量查询,并可进行数据导出、数据 备份、数据恢复。
• 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 • 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容 器框架。 Hibernate通过持久层的框架将数据库存储从服务层中分离出来
它是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在 功能和使用方式上都非常接近于标准的SQL
基于JAVA的在线考试系统
班级:03041 学号:0304137
姓名:李 逸 杰
摘要:
在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过
互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适
合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统
—JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试
3.1.3、代码分层思想 由于采用B/S设计模式分层思想,同时根据软件工程的管理思想及系统 分析的设计与分析的思想进行系统的开发,利用Java语言开发Web应用 程序,提供String+Hibernate+Spring框架对系统的程序代码结构进行 分层。分层的策略如下: serviceLocator
系统应该具备的基本功能 各模块需完成以下功能:
题库管理 试卷管理
试卷其他维护 试卷信息维护 其它 维护 试题 维护 基本 维护
综合组卷 人工组卷
随机组卷 题型维Байду номын сангаас 科目维护 范围维护
题型维护:对试题的题型进行增、删、改、查操作。在操作之后会自动 刷新主页,以使信息更新。 范围维护:对试题的应用范围进行增、删、改、查操作。在操作之后会 自动刷新主页,以使信息更新。 科目维护:对试题的科目进行增、删、改、查操作。在操作之后会自动 刷新主页,以使信息更新。 试题维护:对试题的基本信息进行增、删、改、查操作。在操作之后会 自动刷新主页,以使信息更新。 其他维护:对试题信息的批量查询,并可进行数据导出、数据备份、数 据恢复。 随机组卷:用户只需对试卷题型进行设置就可组卷的方式。 人工组卷:可使用户选择试卷的题型中的试题的组卷方式。 综合组卷:是随机组卷与人工组卷的混合组卷方式,即用户对某一类型 的试题可进行选择,也可对试题不进行选择。 试卷其他维护:对试卷信息的批量查询,对试题的数据备份与还原。
表示层 Struts Struts Action, ActionForm, Jsp, Struts-config.xml,etc. DAO Classes
业务层 Spring Hibernate session Management
持久层 Hibernate DataSource/Connection Pool Transactions Business Service Classes QueryLanguage Support and other Hibernate Services
卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA
在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序
流程图等对在线管理子系统的设计过程进行详细的说明。全文共分为开
发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案
中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技
对考试的系统目标:
1、 这个软件是分布式的,这意味着只要有考试客户端可以连接
到考试应用服务器,任何考生在任何地方进行身份确认,都 能完成考试。 2、 题目最好有一定的稳定性和随机性。稳定性可以保证每一次 考试对每一个考生是公平的,随机性可以避免作弊的发生。 3、 考试的部分结果在考生考完之后就可以知道,同时提供一个 机会让考生知道自己哪里做错了,并给出反馈信息说明理 由。 对教师的系统目标: 1、 提供一个功能全面的考核管理客户端,可以进行考试设计和 安排。 2、 通过管理客户端,教师可以进行考试的身份管理。 3、 考生的考试结果可以被保存下来,供教师进行分析统计和察 看。
术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功
能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模
块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框
架的整合技术、开发框架与数据库的连接及数据的备份与还原。
关键字: JSP,JAVA,SQL Server 2000数据库,B/S模式
项目管理
软件工程的主要环节
3.1.2、面向对象机制的设计思想 所有计算机均由两种元素组成:代码和数据。精确的说,有些程序
是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写 的。 第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系 列的线性步骤(代码)为特征,可被理解为作用于数据的代码。如 C 等 过程化语言。 第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着 程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特 点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模 型在组织方式上有:抽象、封装、继承和多态的好处。
2、 系统设计
2.1、设计原则
2.1.1项目目的 在线考试系统的总体目标: 1、 在线考试系统可以帮助教师完成一个考试从题目设计,考试 安排,考试实施,考卷批改到分数统计总结的所有工作。 2、 所有的考试数据和其它数据库需要一种主流的方式进行存储 和管理,例如使用数据库技术。 3、 考试数据的存放和处理必须对考试保密,需要一定的安全性 保障。
1、 引言
现今,不管是国内还是国外的各大厂家,都在不断的推出一系 列的考试、认证。如微软的MCSE、Cisco的CCNA等。我们国家的自考或 是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在 走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是 符合信息发展的。所以我们考虑这是一个机会。我们要给不同的考试一 个好的解决方案。 这个方案在技术上来讲我们是采用B/S模式。 在 Windows平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。
它也是一个开源框架,它由Rod Johnson创建。它是为了解决企业 应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只 可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开 发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从 Spring中受益。 • 目的:解决企业应用开发的复杂性
3.1.4系统结构图 本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下
2.2、 功能模块划分
2.2.2子系统分为以下功能模块:
在线考试管理子系统 信息管理 评卷管理 试卷管理 题库管理 成绩管理 考试管理
用户管理 权限管理
题库管理:用于对单个试题的增、删、改、查等基本维护,还可对题库 进行数据备份和数据还原。我们针对不同题型、不同应用范围及不同科 目对试题进行维护。 试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组 卷。还可对考生的基本信息进行维护。 考试管理:对考试分配试卷,并对考试的基本信息进行维护。相当于人 工安排考试的过程 评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管 理。 成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成 绩的统计管理。 用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统 管理员、老师、教务处人员、其他 权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。
用户管理 权限管理 信息管理
权限信息维护
用户基本信息
信息基本维护
用户分配权限
用户基本信息维护:对使用本系统的用户进行维护,而用户的权限由权 限管理进行维护,并分配给用户,使用户只能访问自己拥有的权限内。 权限信息维护:对基本的权限进行维护,用户可自定义维护权限。 用户分配权限:对未分配权限的用户进行权限的分配,即对 分配权限 的增、删、改、查操作。 信息基本维护:我们的信息除了有关考试的信息外,还有公告、新闻、 留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、 删、改、查操作,而留言是由前台的用户(学生)或游客录入的,我们 要防止垃圾数据显示,即对留言有权更改等操作。
3、 系统设计
3.1、实现技术
3.1.1、系统工程的流程思想 我们在系统开发过程中,采用软件工程的开发管理,在开发的过程中也 遵循软件工程的思想,软件工程的主要环节有:人员管理(自己模 拟)、项目管理(我的小组模拟)、可行性与需求分析、系统设计、程 序设计、测试、维护等,如下所示。
人员管理
维护 测试 程序设计 系统设计 可行性与需求分析
2.1.2方案选择
开发在线考试系统,提出以下解决方案:
选择SQL Server 2000作为后台的数据库,选择JAVA、JSP、 JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整 个系统完全基于B/S (Browser/Server)模式进行设计。
2.1.3开发框架技术 对于框架技术,我们采用Struts+ Spring+Hibernate的整合,其实任何 一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三 种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用 Java技术在web的应用。 Struts是应用比较广泛的一种表现层框架 Struts是一个为开发基于模型(Model)-视图(View)-控制器 (Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP 和custom tag library构建Web应用的一项非常有用的技术。由于 Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务 层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架 则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责 显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自 己的标签库,Struts是应用比较广泛的一种表现层框架。 Spring 服务层框架
考试管理
考试信息维护 分配评卷人
评卷管理 成绩管理
评卷人评卷
考生信息维护
考生成绩维护
成绩其他维护
考试信息维护:对考试的时间、地点、监考人、考试用的试卷、试卷总 分数及答卷总时间等考试的基本要素进行设置。 考生信息维护:对考试的学生的基本信息进行增、删、改、查操作,在 操作之后会自动刷新主页,以使信息更新。 分配评卷人:对考试所用试卷的客观题分配评卷人,并对评卷的基本信 息进行维护。 评卷人评卷:对分配试卷的评卷人可以在此进行评卷。 考生成绩维护:对考试的考生成绩信息进行统计与汇总,对有权限的人 可进行成绩的增、删、改、查操作。 成绩其他维护:对考生成绩信息的批量查询,并可进行数据导出、数据 备份、数据恢复。
• 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 • 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容 器框架。 Hibernate通过持久层的框架将数据库存储从服务层中分离出来
它是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在 功能和使用方式上都非常接近于标准的SQL
基于JAVA的在线考试系统
班级:03041 学号:0304137
姓名:李 逸 杰
摘要:
在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过
互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适
合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统
—JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试
3.1.3、代码分层思想 由于采用B/S设计模式分层思想,同时根据软件工程的管理思想及系统 分析的设计与分析的思想进行系统的开发,利用Java语言开发Web应用 程序,提供String+Hibernate+Spring框架对系统的程序代码结构进行 分层。分层的策略如下: serviceLocator
系统应该具备的基本功能 各模块需完成以下功能:
题库管理 试卷管理
试卷其他维护 试卷信息维护 其它 维护 试题 维护 基本 维护
综合组卷 人工组卷
随机组卷 题型维Байду номын сангаас 科目维护 范围维护
题型维护:对试题的题型进行增、删、改、查操作。在操作之后会自动 刷新主页,以使信息更新。 范围维护:对试题的应用范围进行增、删、改、查操作。在操作之后会 自动刷新主页,以使信息更新。 科目维护:对试题的科目进行增、删、改、查操作。在操作之后会自动 刷新主页,以使信息更新。 试题维护:对试题的基本信息进行增、删、改、查操作。在操作之后会 自动刷新主页,以使信息更新。 其他维护:对试题信息的批量查询,并可进行数据导出、数据备份、数 据恢复。 随机组卷:用户只需对试卷题型进行设置就可组卷的方式。 人工组卷:可使用户选择试卷的题型中的试题的组卷方式。 综合组卷:是随机组卷与人工组卷的混合组卷方式,即用户对某一类型 的试题可进行选择,也可对试题不进行选择。 试卷其他维护:对试卷信息的批量查询,对试题的数据备份与还原。
表示层 Struts Struts Action, ActionForm, Jsp, Struts-config.xml,etc. DAO Classes
业务层 Spring Hibernate session Management
持久层 Hibernate DataSource/Connection Pool Transactions Business Service Classes QueryLanguage Support and other Hibernate Services
卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA
在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序
流程图等对在线管理子系统的设计过程进行详细的说明。全文共分为开
发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案
中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技
对考试的系统目标:
1、 这个软件是分布式的,这意味着只要有考试客户端可以连接
到考试应用服务器,任何考生在任何地方进行身份确认,都 能完成考试。 2、 题目最好有一定的稳定性和随机性。稳定性可以保证每一次 考试对每一个考生是公平的,随机性可以避免作弊的发生。 3、 考试的部分结果在考生考完之后就可以知道,同时提供一个 机会让考生知道自己哪里做错了,并给出反馈信息说明理 由。 对教师的系统目标: 1、 提供一个功能全面的考核管理客户端,可以进行考试设计和 安排。 2、 通过管理客户端,教师可以进行考试的身份管理。 3、 考生的考试结果可以被保存下来,供教师进行分析统计和察 看。
术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功
能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模
块的设计;关键技术介绍了在具体实现时需解决的一些技术,如开发框
架的整合技术、开发框架与数据库的连接及数据的备份与还原。
关键字: JSP,JAVA,SQL Server 2000数据库,B/S模式
项目管理
软件工程的主要环节
3.1.2、面向对象机制的设计思想 所有计算机均由两种元素组成:代码和数据。精确的说,有些程序
是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写 的。 第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系 列的线性步骤(代码)为特征,可被理解为作用于数据的代码。如 C 等 过程化语言。 第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着 程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特 点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模 型在组织方式上有:抽象、封装、继承和多态的好处。
2、 系统设计
2.1、设计原则
2.1.1项目目的 在线考试系统的总体目标: 1、 在线考试系统可以帮助教师完成一个考试从题目设计,考试 安排,考试实施,考卷批改到分数统计总结的所有工作。 2、 所有的考试数据和其它数据库需要一种主流的方式进行存储 和管理,例如使用数据库技术。 3、 考试数据的存放和处理必须对考试保密,需要一定的安全性 保障。
1、 引言
现今,不管是国内还是国外的各大厂家,都在不断的推出一系 列的考试、认证。如微软的MCSE、Cisco的CCNA等。我们国家的自考或 是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在 走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是 符合信息发展的。所以我们考虑这是一个机会。我们要给不同的考试一 个好的解决方案。 这个方案在技术上来讲我们是采用B/S模式。 在 Windows平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。
它也是一个开源框架,它由Rod Johnson创建。它是为了解决企业 应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只 可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开 发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从 Spring中受益。 • 目的:解决企业应用开发的复杂性