基于java的局域网考试系统的设计与实现.docx
- 文档编号:4307008
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:9
- 大小:38.07KB
基于java的局域网考试系统的设计与实现.docx
《基于java的局域网考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于java的局域网考试系统的设计与实现.docx(9页珍藏版)》请在冰豆网上搜索。
基于java的局域网考试系统的设计与实现
基于java的局域网考试系统的设计与实现
摘要
计算机技术的发展,特别是网络技术的飞速发展,给各类考试在网上进行带来可能。
目前已有不少考试实现了网上考试。
教育部称将开发网上考试系统,研究制定相关标准,逐步实现网络教育全国统考课程的网上考试,创造安全、便捷、高效的考试平台。
针对网络考试的普遍深入和网络化趋势,开发一个网上考试模拟系统是一个很现实的事情。
传统考试存在着工作量大、周期长和反馈能力弱等诸多弊病,而网上考试模拟系统借助准确、高速、网络化的信息技术手段,能够在任何地点、任何时间进行,跨越了时空的限制,增添了考试的方便性和灵活性。
基于上述思想,笔者设计了此网上考试模拟系统。
本系统在对网上考试的需求进行分析的基础上,将软件工程的基本原理和方法应用到整个网上考试模拟系统之中,提出具体的设计方案。
在制作过程中,用JAVA技术来实现C/S系统,将JAVA技术与MYSQL数据库技术结合,用户在浏览器端可以进行网络考试,在线查询成绩,教师可以实现在线添加题库,出题等,数据的后台操作则由服务器端处理。
这样提高了网页的互动性,使整个系统能更好的为用户服务。
关键词:
JAVA技术;网络考试;在线出题,成绩查询
目录
1 引言 3
1.1. 课题开发背景 3
1.2. 课题开发目的 4
1.3. 课题开发意义 5
1.4. 国内外发展现状 5
1.5课题所要进行的内容 6
2 J2EE体系结构 7
2.1JAVA的网络功能与编程 7
2.1.1JAVA概述 7
2.1.2JAVA的特点 10
2.1.3JAVA语言在网络上的应用 14
2.2JavaBeans技术 15
2.3IP/TCP协议常识 15
2.4Socket的简介 16
第3章需求分析 19
3.1系统需要解决的主要问题 19
3.2系统应该具备的基本功能 19
3.3 可行性分析 20
3.3.1经济可行性 20
3.3.2技术可行性 20
3.3.3操作可行性 21
3.3.4可行性研究结论 21
3 系统设计 22
3.1系统结构 22
3.2系统功能模块设计 22
3.2.1系统的数据流程 22
3.2.2系统详细功能设计 23
3.3UML系统建模 26
3.3.1UML概述 26
3.3.2系统用例分析 27
3.4数据库设计 27
3.4.1数据结构设计 27
3.4.2数据表设计 28
4 系统详细设计 30
4.1功能模块设计与实现 30
4.1.1用户登录流程模块 30
4.1.2添加教师管理员流程模块 30
4.1.3系统管理员用户管理流程模块 31
4.1.4试题添加流程模块 31
4.2人机界面设计 32
4.2.1学生考试界面主页设计 32
4.2.2管理员管理模块界面设计 35
结论 38
致谢 39
参考文献 40
1 引言
1.1. 课题开发背景
在网络技术逐渐渗入社会生活各个层面的今天,以前各个学校的考试要经历出卷、印刷、测试、阅卷、统计分数等手工过程等传统的考试方式面临着变革,考试是一项极其繁琐的工作,通过人手工计算容易出错,很多老师一谈到考试就头皮发麻,而网络考试则是改革的一个很重要方向。
基于网络技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。
试卷可以根据题库中的内容即时生成而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率还可以直接把成绩送到数据库中,进行统计、排序等操作。
所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。
因此,采用网络考试方式将是以后考试发展的趋势。
随着计算机技术的发展,互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。
技术持续迅猛的发展,也给传统的办学提出了新的模式。
通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。
以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。
网络考试系统的实现技术有多种,可以采用传统的客户机服务器型的型架构,即试题内容放在服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响,因此本文讨论的网络考试系统采用技术实现。
java考试系统
商机编号:
137082发布时间:
2010-03-0811:
25:
44有效期:
长期有效
功能列表
主要功能模块
模块功能说明备注
题库管理题库分类和题型管理,包括:
1.题库支持题库集、题库和知识点三级分类,分类可自由创建和删除;
2.支持题型自定义功能,允许自己创建各种题型。
3.丰富的试题类型,不仅支持一般的文本试题,还支持多媒体试题,让您的试卷图、文、影、音并茂;
4.题库可以指定管理员进行独立管理,并可以共享给其他管理员使用。
批量试题导入和导出,包括:
1.通过Excel模板创建试题,并批量快速导入到题库中,提供错误自动识别功能;
2.试题可以综合查询并批量导出到Excel文件中;
3.可以将题库的所有试题导出到数据库文件中进行备份,并可以进行加密;
4.可以将题库文件导入到题库中进行还原。
极大减轻出题工作量
在线考试学员考试全过程管理,包括:
1.根据考生权限、试卷有效时间等列出考生参加考试的试卷列表;
2.考生参加考试、答卷、交卷、查看分数等完整过程;
3.支持考试自动倒计时,到时自动交卷;
4.支持空白答案检查,自动调转到空白答案试题;(可以作为附加工作量)
5.支持考生分数查询、排名查询、答卷和答案查询、知识点正确率统计等。
考试防舞弊安全性设计,包括:
1.随机打乱试题显示顺序,避免抄袭;
2.随机打乱选择题候选项显示顺序;
3.控制考试页面的移出,禁止考试过程中查找答案、即时通讯等舞弊手段;(附加功能)
4.防止考试中通过拷屏、复制等手段泄露试题。
保证考试成绩的有效性
考试的容错和可靠性设计,包括:
1.支持考试过程中服务器保存答卷的方式,电脑一旦出故障允许学员恢复考试;
2.交卷时如遇到服务器繁忙,可以返回交卷前状态,并锁定试卷。
确保考试不失败
手工评卷提供手工阅卷功能,包括:
1.只有指定的教师才有手工阅卷的权限;
2.支持将考生答卷分配到不同的阅卷教师;
3.提供主观题正确答案和考生答案的对照,支持对超出标准分数的错误进行提醒;
4.隐藏答卷的考生信息。
查询和统计提供考试结果的综合查询和统计分析,包括:
1.可以通过设定领导查询权限,控制考试查询权限;
2.可以查询所有考生成绩、答卷、排名和知识点分析;
3.可以按部门对应考人数、参考人次、及格人次、不及格人次、平均分、及格率等数据进行统计分析;
4.可以对知识点通过率、单题通过率数据进行统计分析。
试卷管理试卷定义和管理,包括:
1.试卷的新建、修改和删除;
2.支持通过Excel试题模板直接生成试卷;
3.支持试卷定义的导出和导入,用于试卷的迁移,备份和恢复;
4.支持试卷复制功能,用于快速创建与以往试卷组卷策略类似的试卷。
试卷基本属性管理,包括:
1.支持一场考试多套试题的出题方式;
2.支持全屏考试、一屏一题和一屏题型三种考试模式;
3.支持考试有效时间安排、考试次数、考试倒计时参数设定等功能;
4.支持服务器保存等可靠性参数设定;
5.支持考试成绩保密、答卷保密、防舞弊参数等安全设定;
6.支持对考生的安排、手工阅卷员和领导查询等权限的设定。
出题策略管理,包括:
1.支持从题库集、题库、知识点、难度、题型等不同参数中设计出题策略;
2.设定出题数量时可显示当前题库可出题最大数量;
3.支持将题库分数换算成100分或按题型指定分数两种分数模型;
4.考试的题型显示顺序可自由指定。
出卷策略灵活
试卷内容管理对已定义的试卷的题目进行管理和审核,包括:
1.试卷内试题的快速浏览;
2.不满意的试题可以自动换题和手工换题;
3.输出试卷到Word,生成标准的Word试卷和答卷(用于教师阅卷)。
考试管理强大的考生安排和考试过程控制功能,包括:
1.按“未安排考生、待考考生、考试中考生、交卷待判分考生和交卷已判分”等分考试流程进行管理;
2.批量安排考生考试,可以指定考生考试时间;
3.按多种条件模糊查询考生考试记录;
4.支持删除考试记录,允许考生重考,重新安排考试等;
5.支持对已阅卷的考生答卷进行复评并修改评卷结果。
特色功能
题库练习1.由题库共享、题目分类查询、做题练习等组成;
2.管理者可将部分题库共享给学员自我练习,学员可根据需要自动组合和寻找题目,进行做题练习并查看结果。
特色功能
界面自定义1.前台功能模块的显示名称可根据用户习惯来定义,例如:
题库练习可以修改为“自我练习”;
2.前台功能模块的显示顺序可以自定义,例如:
可以将少数人使用的“手工评卷”放在最后;
3.前台和后台每页显示的记录数可以自定义,默认为每页显示10条。
编程语言:
java 和 oracle
Functionality:
功能:
1.
.接收用户信息并且存入数据库
2.
程序允许测试者返回并修改答案
3.程序追踪测试者的选择答案并保存在临时数据库中,防止断电或当机。
(参考)
4..程序应根据数据库中正确答案评分
5. 管理员可添加和修改试题
6. 必须有以下几个数据库:
试题集、答案、用户、结果。
登陆界面
登陆界面接受管理员用户的id和密码,只有管理员拥有权利输入试题到试题集中,其他用户必须使用在注册时得到的id登陆。
(管理员初始确定)
管理员模块
.管理员可选择难度系数输入试题,并可修改和删除任何试题。
在界面中,管理员必须输入选择题和答案,并从下拉选项中选择难度系数。
管理员可以察看所有用户并修改相应的信息。
注册窗口
所有的用户都必须在测试前注册,注册系统将收集侯考者必要的信息,如姓名、年龄、性别、生日、住址、电话、Email、密码、科目、考试时间等。
2.次模块将察看考试中心时间安排是否有效。
如果有空将自动生成用户id并指定给用户。
考试模块
1.用户必须被允许在真实考试前参加一次模拟考试。
(参考)
2. 用户必须输入id和密码才能参加考试。
3.用户必须在登陆后的指定时间内参加考试。
4.根据所选择的试题难度随机生成试卷。
5.如果出现断电或者当机情况,系统可以恢复并允许用户返回。
由此,系统必须在开始前生成temporary recovery code交给用户。
通过书如此口令,用户可重新返回考试,同时,系统将记忆考试中已用时间。
(参考)
6.当用户选择了所有答案,系统将允许用户察看所有的选项并可返回任何一道试题进行修改。
7.系统必须持续检查时间,时间结束时,系统将自动保存答案到数据库中,并弹出信息显示时间终止。
(参考)
8.系统将对测试进行打分并显示给用户。
9.用户考试结束后,它的注册信息将被修改使其不可用同样的id登陆考试。
(参考)
报告生成
1.生成报告给用户
a.用户可以通过输入id察看考试结果。
2.生成报告给管理员
a.显示用户信息
b.按年、月、周显示用户成绩报告。
c.能够显示特定用户的信息。
d.报告可按照科目生成
e.报告可按照分数等级生成
目录
摘要:
3
ABSTRACT:
4
1引言 5
2在线考试系统构架 5
2.1在线考试系统一般需求分析 5
2.2当前在线考试系统现状分析 6
2.3基于J2EE的在线考试系统架构介绍及拥有的优势 6
2.3.1结构总体介绍 6
2.3.2客户层组件 7
2.3.2.1Applets 7
2.3.2.2应用程序客户端 7
2.3.3WEB层组件 7
2.3.4业务层组件 7
2.3.5企业信息系统层 8
2.3.6J2EE架构的优势 8
3测试系统具体设计 9
3.1基于J2EE的E-NETTEST在线考试系统构架概要 9
3.1.1E-nettest系统结构 9
3.1.2E-nettest数据流程 10
3.2E-NETTEST考试系统环境设置 11
3.3E-NETTEST总体功能介绍 11
3.4E-NETTEST模块设计 11
3.5E-NETTEST数据库设计 13
4关键技术 14
4.1TOMCAT数据库连接池介绍与配置 14
4.2APPLET数字签名技术 16
4.3如何调用JAVA外部程序 17
5总结与展望 18
参考文献 19
2.3.5企业信息系统层
企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP),大型机事务处理,数据库系统,和其它的遗留信息系统.例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。
2.3.6J2EE架构的优势
J2EE为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制:
1)保留现存的IT资产:
由于技术需求的不断更新,在线考试系统必须可以适应新的要求,利用已有的对考试系统方面的投资,而不是重新制定全盘方案。
这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有考试系统之上的服务器端平台机制是学校和单位所需求的。
J2EE架构可以充分利用用户原有的投资,这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。
每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。
由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
2)高效的开发:
J2EE允许客户把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。
这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
高级中间件供应商提供以下这些复杂的中间件服务:
①状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
②持续性服务--让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
③分布式共享数据对象服务--让开发人员编制高性能系统,极大提高整体部署的伸缩性。
3)支持异构环境:
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。
由于考试系统很多时候需要提供给许多不同的学校和单位使用,这些学校和单位的软件硬件环境存在有较大的差异,所以能支持异构环境这点就十分关键。
同时J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
4)伸缩性:
学校和单位必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足可能不断增多的在他们系统上进行考试的大批新的考生。
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。
(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来系统升级和规模扩大的需要。
5)稳定的可用性:
虽然在线考试系统不象一般企业的服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要,但起码必须保证考生考试的这段时间内不发生意外停机等故障,从而影响到考生考试。
J2EE部署到可靠的操作环境中,他们支持长期的可用性。
一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。
最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。
这是对在线考试系统,特别对于那些比较重要的考试的理想选择。
客户端
登陆服务:
负责用户的登陆的输入,与服务器端的验证,如果是重登陆的,需重登陆密码。
题目下载:
负责从数据库中读取试题数据,下载到客户端。
用户答题:
负责在客户的浏览器中显示下载的题目,供用户做题。
题目上传:
负责将客户所答题目的答案上传到服务器端。
管理端
生成试题:
负责从试题源中生成当场考试的相应试题。
试题初始化:
负责在每场考试前清空试题回收信息。
考生监控:
负责在考试期间管理监控各考生的考试状态。
试卷回收:
负责在考试结束后,将考生提交的答案上传到数据库服务器中。
试卷批阅:
负责自动化批阅回收试卷(客观题)。
数据库连接服务:
负责从各共性服务层模块接收相关数据库连接,查询,修改等服务,并返回相关数据。
数据访问层异常管理:
负责数据库连接服务出现的异常。
3.4E-nettest模块设计
各模块的详细介绍:
1)考生登陆模块:
在客户层,考生通过主登陆页面输入用户名与密码。
在web层,将从用户输入处得到的用户名和密码与从业务层返回的相应用户名和密码作比较,如果用户存在密码正确且还未登陆就登陆考试主页面,否则跳到出错页面要求重新登陆。
在业务层,获得与mssql数据库的连接,并取出所有的用户名和密码信息。
将该信息传入web层。
在EIS层,对应的是mssql数据库中的students表格。
2)做题模块:
(1)选择题:
在客户层,浏览器中显示每个考生所对应的考试题目,要求考生输入考试答案。
并有一个提交按钮供考生做完题目后上传题目。
在Web层,jsp负责从业务层中获得题目,并将题目组织在一起向客户端显示。
在业务层,获得与数据库的连接,并且取出选择题题目。
在EIS层,对应的是数据库中choose表格。
(2)word题:
在客户层,在浏览器中applet的textarea区域显示word题的要求,并利用applett数字签名技术,突破访问本地文件系统的限制,打开word做题。
在Web层,利用servlet的文件上传下载技术,将读出的word文件下载到本地磁盘。
在业务层,获得数据库连接,并取出word题目,word题是以二进制流的方式将word文件存贮在数据库。
在EIS层,对应的是数据库中word表格。
3)答案上传模块:
在客户层,在浏览器中单击提交按钮将做完的答案提交制相应页面
在Web层,将用户提交的答案提交给相应的javabean组件,并在客户端显示提示信息。
在业务层,将提交上来的答案存入相应的数据库中。
在EIS层,数据库中students表格,有两个相应字段用来存放该用户所对应的提交答案。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 局域网 考试 系统 设计 实现