2013
级中期筛选课程设计报告
Java 在线考试系统设计与实现
学号:
专业:
导师:
姓名:
本报告只用于大家学习
2013
级中期筛选课程设计报告
摘 要
随着计算机应用及网络技术的迅猛发展,人们迫切要求利用这些技术来进行
在线考试,以减轻教师的工作负担以及提高工作效率,提高考试的质量。从而使考
试更趋于公正、客观。
本课题以校园考试系统为研究对象,利用软件工程理论和J2EE系统分析设计方
法,设计基于JSP和Servlet技术的在线考试系统,实现Java课程的学生在线考试系统的
设计,完成相关数据库和系统的开发,并进行功能测试。
在系统开发过程中主要采用J2EE开发与设计相关的理论和方法,采用Jsp和
Mysql等技术,借助Myeclipse开发工具,开发出能够提高考试效率,降低考试成本
的在线考试系统。
关键字:MVC;Hibernate;Spring
1. 系统所要解决的问题
课题重点在于减轻教师在考试中的工作量,减轻教务管理员的管理工作,使考
试更加便捷。寻求突破,方便用户对试题的管理,对试卷的组合,对评卷工作的简
化,对成绩管理的高效,以及对教务新闻的管理。同时为系统设置不同的权限,为
不同的用户角色提供不同的服务。同时,考虑在线考试系统的发展趋势,采用三层
的系统架构,以便将来拓展系统功能。
2. 系统结构及设计
2.1 系统结构
本系统采用 B/S(Browser/Server,浏览器/服务器模式)结构。B/S,是随
着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构,是 WEB 兴起
后的一种网络结构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一
了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护
和使用。客户机上只要安装一个浏览器(Browser),如 Netscape Navigator
或 Internet Explorer,服务器安装 Oracle、Sybase、Informix 或 SQL Server
等数据库。浏览器通过 Web Server 同数据库进行数据交互。这样就大大简化了
客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能
上网,再由系统管理员分配一个用户名和密码,就可以使用了。本系统运行环境架
构如图 2.1 所示。
2013
级中期筛选课程设计报告
图 2.1 系统运行环境架构
当前,主流的系统架构有三种:单层架构,双层架构和三层架构。通常意义上
的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层( BLL)、
数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。从开发角
度和应用角度来看,三层架构比双层或单层结构都有更大的优势。图 2.2 为系统采
用的三层逻辑架构。
2013
级中期筛选课程设计报告
图 2.2 系统三层逻辑架构
各个功能如下:
表示层(UI):它负责响应用户的请求,对于这一层越薄越好,一般不应该写
太多代码,或者为了页面显示的需要做少量的代码。大量的处理工作都交给其它的
层去完成。就好比传递员,只负责接受,并将请求向后传递,具体怎么做它不用管。
业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层
的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的
搭建。并且,业务逻辑层用来对数据进行有效性验证,牵涉到对敏感数据的操作都
需要经过这里做判断,然后才能决定操作是否合法。
数据访问层(DAL):也称为持久层,其功能主要是负责数据库的访问。主要
是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始
数据,也就是说,封装对数据库的操作。简单的说法就是实现对数据表的Select
(查询),Insert(插入),Update(更新),Delete(删除)等操作。数据访
问层封装了所有与数据库相关的代码,包括SQL语句、存储过程等,实现了对于其
他层的完全透明。
2.2 系统模块设计
本课题主要从功能实现角度进行模块划分及设计,系统总体功能模块划分如图
2.3所示。
图2.3 系统总体功能模块
2.3 功能模块设计
本系统分为3个功能模块:考生功能模块;教师功能模块;管理员功能模块;
考生功能模块:身份验证、进入考试、考试、结束、查成绩。考生用学号登录
2013
级中期筛选课程设计报告
考试网站,然后验证考生信息是否一致。所有考生等待服务器发送统一命令分发试
卷并同时进入考试中状态。在开考后20分钟后考生仍未到场,考生状态会自动设
置为“缺考”,不能参加此次考试。考试过程中可自由答题。考生考完试点击“交卷”,
经确认后交卷。考后即可查看考试分数。
教师功能模块:可以更改数据库的所有内容,可添加、查询、修改、删除考生
的信息,设置考试的相关内容。可有选择地录入试题,为题目分类并自动在正确答
案表里插入相应的标准答案。可为出现异常的考生延时等详细功能。
管理员功能模块:可以设置老师的信息、学生的信息,独立管理各种角色。
2.4 系统性能需求
在线考试系统在性能方面,需要满足以下要求:
1. 局域网600个客户端同时访问,系统足够健壮,服务负载能力能够满足用户
的业务请求,系统不出现停止响应的情况。
2. 数据库访问速度足够快,响应时间不超过2S,用户等待时间不超过3S。
3. 系统运行足够稳定,严禁频繁宕机。
2.5 系统业务需求
开发在线考试系统的目的是为了减少教师出卷、批改试卷、成绩统计等繁杂的
工作量。
在线考试系统的业务内容包括以下几个方面:
1. 用户导入:由教务处提供用户的基本信息及角色,导入系统数据库。无注册
环节,避免恶意注册的发生及脏数据的发生。
2. 教师开课情况导入及学生选课情况导入:这两部分信息,由教务处的信息门
户系统提供,分别记录了开课情况及学生选课情况。
3. 试题管理:教师教过的所有课程所属的科目的集合称为教师所涉足的科目。
教师能够在自己所涉足的科目下面管理试题,具体包括增加试题、删除试题、修改
试题、查看试题。
4. 试卷管理:教师对本学期所授课程具有组装试卷的功能,通过“手动组卷”或
者“自动组卷”完成试卷的组装。
5. 在线考试:试卷组装完成后,发布试卷,在规定时间内,选过这门课的学生
可以参加考试。若教师向其他本学期选同科目课程下的同学开放该试卷,则其他非
该教师的学生也可以参与该考试。
6. 批改试卷:学生交卷后,会自动进行选择题判分,剩余主观题目保持“未批
改”状态,由该试卷的出卷人批改。若该教师向其他本学期教同科目课程的教师开
放批改该试卷的功能,则其他教师也可以批改该试卷。
7. 成绩统计:学生用户可以查询自己的历史成绩;教师用户可以查询自己所授
课程下的所有学生的成绩,并可以以excel文档的方式导出。
8. 新闻管理:新闻管理员可以发布教务新闻、考试通告等信息,每个系统角色
都可以浏览所发布的新闻。
2.6 系统数据库设计
数据库设计要满足数据库设计原则:
1. 一致性原则,对信息进行统一、系统的分析与设计,协调好各数据源,做到
“数出一门”、“算法统一”、“度量一致”。所有的库名、表名、域名必须遵循统一的命