【delphi开源代码栏目提醒】:网学会员为广大网友收集整理了,网上考试系统的分析与设计 - 硕士论文,希望对大家有所帮助!
山东大学 硕士学位
论文网上考试系统的分析与设计 级别:硕士 专业:软件工程 指导教师:石冰 20071020 山东大学硕士学位
论文 摘 要 网上考试系统的分析与设计,隶属于软件工程、计算机网络与通信的研究领域,该课题主要研究在J2EE构架下的网上考试系统的分析与设计。
本课题是以山东经济管理干部学院教学改革项目“网络考试系统”为背景完成的。
本文作者参与了项目的需求分析、架构设计及题库部分的设计工作。
该项目结合先进的教学管理方法和现代网络技术,采用JSP、Servlet、JavaBean等技术建立网上考试系统。
实现了网上考务管理,考试管理、题库管理及自动阅卷的功能。
本文作者在系统分析阶段进行用户需求分析;在系统设计阶段对系统进行总体结构设计、后台题库设计、确定组卷策略及进行遗传算法在组卷应用中的探索。
在分析阶段,本文作者结合自身的工作经验,深入学院各基层系部及与考试相关的各个职能部门,广泛进行了用户访谈并查阅了大量考试组织及安排方面的文件资料。
在与用户的交流过程中逐步了解确定了用户组织考试的业务流程,考试过程中的数据流程以及考试工作中各个对象间的服务关系。
在此基础上经过与用户的多轮协商,最终确定了项目功能需求和性能需求。
在设计阶段,本文作者参与了系统结构设计和后台的题库设计。
在系统结构上,本项目没有采用通常的二层模式,因为client/server结构通常在第一次部署的时候比较容易,但难于升级或改进,这使得重用业务逻辑和界面逻辑非常困难。
我们采用了№c模式来设计系统架构,这是一种多层的结构模式,多层方式可以使企业级应用具有很强的伸缩性,它允许每层专注于特定的角色。
Mvc把J2EE的WEB处理分为三个部分:Model、View、Controller。
现在有许多免费的
开源的web层的应用框架(如Struts)完整实现了这种结构,可以拿来直接使用。
在本项目中为了使系统更加有效和灵活,没有直接使用Struts,而是依照Mvc的基本原理,结合网上考试自身的特点来实现Mvc。
在后台题库的设计中,为了降低开发的复杂度和缩短开发周期,本系统根据需求采用把检索部分和题干部分合在一起存放,把答案部分单独存放的数据存储方式。
在考试的关键环节——自动组卷环节中,本文作者和项目组的其他同志一起分析试验了多种组卷方法, 山东大学硕士学位
论文特别是对遗传算法(GA)在组卷中的应用作了积极的探索,取得了较好的成果。
遗传算法作为一种全局优化搜索算法,得到了广泛的应用。
遗传算法能根据自然法则从群体中选择适应性更大的个体,从而得到最优解,具有白组织、自适应和自学习等智能特征,这种特征大大提高了组卷的效率和试卷的质量。
在阅卷环节,本项目为了确保考生答案的安全性和保密性,在答案传输过程中采用了ssL协议。
本文作者对SSL应用于tomcat服务器和webLogic服务器进行了有益的探索。
关键词: 网上考试系统; 肼C;遗传算法;ssLⅡ 原创性声明 本人郑重声明:所呈交的学位
论文,是本人在导师的指导下,独立进 ca已经对这个 证书进行了签名,颁发的服务器证书文件是: server— cert.pem;这个过程就类似于在客户端把个人证书倒入到浏览器中一样, 把服务器证书导入web服务器t伽cat。
我们指定一个文件(keystore)专门存放行研究所取得的成果.除文中已经注明引用的内容外,本
论文不包含任墅薹雾扈羹薹萋鬟囊翼冀篓囊蓉薰羹霪。
霉鍪|蚕雾羹霎蔫缩錾鍪耄 服务器证书,把 这个文件拷贝到t叩cat目录中,在tomcat配置文件中指明服务 器用这个文件作 为服务器的证书。
同时,我们注意到server_keystore是个写回薹妻荔雾囊雾萋;冀酱萋薹辐蒯旋琴霎霎霾塔,霪翼擦襄鋈薹萋囊嚣攀蓁 的过程,最初它 是我们的密钥文件,后来我们用它存放t伽cat可以理解的证书.薹饕。
囊錾錾雾囊耄i鬟蓁 醛蠹i萋ii!妻;墓§ 蓁冀鍪羹蠢羹羹熏薹囊羹雾囊 萋萋蓦蓬鹊s系统翻译为sdlnserver的主密码! 山东大学硕士学位
论文 第1章绪论1.1项目背景和意义 21世纪人类将全面进入信息化时代,信息时代对人才培养提出了全新的要求,即培养德智体全面发展的、具有高度创新能力和很强信息能力的新型人才。
新技术的广泛应用使得传统教育结构不断发生改变,不再强调通过直接给学生灌输大量的知识来确保有较高的教学质量与教学效率,而是侧重于使学生学会学习的方法,使之具有自我获取知识与更新知识的能力,以便与知识迅速更新换代的发展趋势相适应。
考试是高等教育教学的一个重要环节,通过考试可以考察学生的学习情况,可以为教师提供教学分析的依据。
采用传统的考试方法,从试卷生成、印刷到实施考试,往往需要持续很长时间,花费大量人力、物力,是一项规模庞大而效率低下的教学工作。
由于传统的考试采用手工出卷和阅卷,难免出现错误,给考试的公正性和严肃性带来负面影响。
随着计算机网络技术的不断发展,网络考试成为考试方法改革的主要方向。
目前国内成熟的网上考试系统大多是采用ASP技术实现。
AsP技术是Microsoft开发的一种新技术,使用ADo(Active Data Objects)数据对象组件实现数据库的访问,但是ASP只是服务器端的一种脚本执行语言,其移植性、安全性、扩张性以及执行效率都很差。
为此,如何设计一个性能优良,扩展性和安全性都很好的网上考试系统已成为我院教学改革中亟待解决的重要问题。
由于SUN公司于1999年推出的J2EE技术标准具有良好的跨平台的互操作性、可扩张性、安全性和业界广泛的支持,使得采用此技术标准设计开发网络考试系统称为我院的首选。
本网上考试题库系统是以山东经济管理干部学院教务处教改项目“网上考试系统”为背景完成的。
该系统的开发旨在促进学校教育的远程化、现代化和标准化。
其开发目的是在共享教师、课程、教学计划等信息基础上,实现试题生成自动化、网络化。
该网上考试系统具有以下优点:·有利于教师在日常教学中积累课程考试内容。
·有利于提高考试工作效率。
●有利于实现试卷统一化,标准化。
·有利于提高考试工作的公正性和严肃性。
山东大学硕士学位
论文1.2国内外考试系统开发状况 当前网络考试系统产品较多,根据应用的技术和系统架构方式,这些产品主要可以分为如下几类:单机版的考试系统,基于微软ASP,ADo,oDBc技术的B/S架构的考试系统,基于微软VB,Delphi,Activex,AsP,ADo,0DBc技术的c/S架构的考试系统,以及本
论文实现的基于J2EE的网络考试系统。
这三类系统各有其优缺点。
1.单机环境考试系统 针对传统考试人工操作效率低、公正性差的缺陷,出现了计算机单机考试模式。
此时为考试服务的数据库管理系统(D酬s)是以集中式应用为基础的,所有应用不管是DBMs本身,用户的应用系统都是在某个固定的计算机系统上集中运行的。
此时,每台考试机器均是一个考试信息孤岛,不利于后期的自动阅卷及评估,具有较大的局限性。
2.基于微软AsP,A∞,∞Bc技术的B/s结构的网络考试系统 基于微软ASP,ADo,0DBc技术的B/s结构的网络考试系统如。
其界面采用ASP技术,web服务器采用Microsoft的IIS,通过ADo(Activex Data 0bject)技术和0DBC(openDatabase Connection)技术访问后台关系数据库。
这类系统的优点在于瘦客户端,方便集中自动阅卷,实现方法简单。
其缺点在于跨平台能力较差。
3.基于垤.DeIphi.^ctivex.ASP,AD0,0DBc技术的c/s架构的试题库系统 C1ient/Server体系结构对数据库应用技术影响巨大,它带给用户的最大好处就是把数据和应用分开,使数据与应用相对独立。
C/S环境考试系统将处理分为客户机部分和服务器部分。
客户机部分负责与考生交互,服务器部分处理试题的生成和收集,考生的考试请求通过网络传送到服务器,自动生成的试卷由服务器传送到考生客户机,考生的答题结果再由客户机传送到服务器。
这类系统与前一种系统的区别在于,客户端界面由vB,DELPHI构建,通过ADo,0DBC连接数据库。
其优点是采用C/S结构,让客户端完成一些应用功能,从而减少服务器压力和网络访问量。
缺点是胖客户端,且客户端不具备跨平台能力,维护工作量大。
4.基于J2EE的网络考试系统 基于J2EE的网络考试系统是本
论文实现的考试系统。
这个系统的主要优点是:采用多层体系架构,系统包括:客户端界面层,WEB服务器表示层,应用服务2 山东大学硕士学位
论文2.2.1.3系统用例图 根据上述描述,得出系统用例图,如图2—2所示,其中用例包括:登录、试题录入、手动组卷、自动组卷、手动阅卷、自动阅卷。
参与者包括:管理员、教师和学生。
r一一一…一一一…一一一一…一…一一一一一一一一一………一…一1 吴惭 吴牲 i 一。
。
。
……。
… …。
……一I I一一一一…一…一一一一一·图2—2系统用例图 ………一一……一一一o I I 1.题库管理:教师进入考试系统后通过菜单选择进入题库管理模块,系统显示教师所管理的科目题库列表。
教师选择科目,系统显示相关科目题库的描述信息和试题列表,包括题目内容、知识点、题目类型、难度值等。
教师可对每一道试题进行浏览、编辑和删除操作。
通过界面上的“添加试题”按钮,教师激活编辑界面进行新试题的编辑和提交,从而扩充题库。
在考试开始之前,组卷教师登录进入题库管理模块,通过菜单选择进入组卷功能,系统显示组卷规则界面。
组卷教师在组卷规则界面上选择设定组卷规则,包括试卷题目数量、题目类型、每种题型的题目数量、难度、考查点和每种题目的分值等。
系统根据组卷教师的设定抽题组卷,并将试卷提交组卷教师浏览,确定使用后试卷保存备用。
6 山东大学硕士学位
论文处理器:赛扬400或者更高内存:128M硬盘40G2.2.2.2软件环境 1-服务器 操作系统:windoWs2000 server 网络协议:tcp/ip jsp服务器:tomcat 5.O 数据库:Microsoft SQLServer2000 2.用户端 操作系统:wind0Ws 98/me/2000/xp 网络协议:tcp/ip 浏览器:Internet Explore 5.0以上版本 山东大学硕士学位
论文 第3章系统构架设计3.1系统设计原则3.1.1准确性 网上阅卷针对与各类考试,考试是选拔和评估人才的标准,那么网上阅卷系统准确性直接影响到考生的成绩。
不能出现张冠李戴或者分数有误的情况。
为了杜绝这种事情的发生,应大量的冗余数据检查和关键数据实时追踪的模式。
在从服务器取数据时应检查数据的一致性,过滤不合格数据,不允许不完整或者不一致的数据传递到客户端。
客户端在收受到数据后,按照客户端的要求进行数据检查,并进行冗余数据存储。
评阅人员输入分数的过程中,实时跟踪分数输入情况,如有异常,及时通知。
答卷分数在提交之前应检查数据完整性和一致性,提交服务器后,服务器应再次检查,拒绝恶意或者非正常的数据提交。
3.1.2稳定性和可靠性 系统的稳定运行是提供服务的基本保证,如果系统运行不流畅、不稳定,必然使用户带来巨大的损失。
如工作量、工作进度,以至影响整个考试工作。
带来的社会影响是不可估量的。
这就要求网上阅卷系统有良好的可靠性、稳定性。
稳定性和可靠性包括硬件的稳定性和软件的稳定性。
硬件的稳定性可通过作系统冗余设备和不间断电源设备来保障。
软件的稳定性,则应从
代码编写开始,做好中间件选择、开发工具选择,再
代码中也应能捕获异常,杜绝系统漏洞。
即使遇到突发的异常情况,也应该最大限度的减少系统问题给用户带来的损失。
这就要求首先保证准确性,完整性,然后再保证用户的工作量的不丢失。
3.1.3速度和易用性要求 采用网上阅卷方便了教师评阅答卷,无卷。
在系统自动生成的试卷中,不应出现试题重复现象。
包括:同一 %蒿博蟛淄全完干题现出应不中卷试份进 作辱蔫j亩‖彤副薹麴科攀玩彭磊季瑾握霭一耍,薹嘤擂矗场限9。
于形始被接且,受人数多大有没还,开刚势卷阅上网对是其尤阅评上网行 i 。
繁琐的操作过程必然引起评阅人员对系统的不满和抵制,以至于不能继续 山东大学硕士学位
论文评阅人员年龄偏大的一些问题,易用性显得尤为重要。
3.2系统层次的划分3.2.1 J2EE的基本体系结构L客户层(C1ient Tier) 一个基于web的J2EE应用中,用户的浏览器(Browser)在客户层中进行,并从一个web服务器上下载web层中静态的HTML页面或者又JSP或Servlet生成的动态HTML页面。
2.中间层(Middle Tier) web层与业务层一起构成了中间层。
web层:J2EE web构件可以由JsP页面、基于web的applets以及显示HTML页面的servlet组成。
调用servlet或者JsP页面的HTML页面在应用程序组装时与web构件打包在一起,就像客户层一样。
业务层:作为解决或满足某个特定业务领域需要的业务逻辑的
代码由运行在业务层的Beans组件来执行。
从客户程序处接收数据,对数据进行处理(如果需要),在将数据发送到数据层存储,并从存储中检索数据,将数据送回客户程序。
3.数据库/信息系统层这一层包括数据库系统以及其他旧有的信息系统。
3.2.2系统分层的确定 由于本系统采用的是J2EE的架构,而J2EE架构对层次有初步的定义,我们的工作主要是对其层次的“实现”,即使其符合我们具体开发的系统。
J2EE中对层次定义有两种:”Layer”,和“Tier”…。
“Layer”可以理解为纵向的分层,J2EE中对Layer层的划分为: 操作系统层:提供对硬件的支持、底层的协议支持,以及最为基础的系统软件支持。
中间件层:提供了开发分布式应用程序所需要的服务,例如JNDI、JDBc等。
其也是J2EE中各组件(JsP,Servlet)生存容器(Container)。
容器为生存于其中的组件提供生命周期的控制以及上述各种服务的支持。
商业逻辑层:各种由开发人员根据需要开发出组件(JSP.Servlet.EJB),这些组件需要中间件层容器的支持,要被发布到这些容器中,依靠自身的业务逻辑lO 山东大学硕士学位
论文SQLServer 2000。
entity层:对应J2EE架构中业务逻辑层。
其中主要为一些entity类,实现时我们使用了JavaBean组件。
这些组件封装了对数据库层进行操作的逻辑算法,可以说是信息层中数据的对象表示。
contr011er层:对应J2EE架构中业务逻辑层。
其中主要为一些control类,实现时我们使用了Servlet和JavaBean组件。
servlet组件主要是做控制用,会对用户的不同请求进行分析,调用不同的执行逻辑。
这一层中的JavaBean组件中主要封装了业务逻辑又可以称为“动作类(Action)’, 会按照逻辑要求会调用相应的entity类。
web层:对应J2EE架构中web层。
主要是与用户进行交互的边界类,在实现时我们主要使用的是JSP组件。
JsP组件主要负责根据从controller层JavaBean组件中获得的不同信息动态生成返回给客户端浏览器的web页面。
客户端层:即对应J2EE架构中的客户层。
指的是web浏览器教师或学生可以通过浏览器使用本系统。
具体的Tier层划分示意图请参见图3—2。
网上考试的层次划分 J2EE层次划分 客户端层 动态页面 客户层 客户机器 wEB层 JSP页面 wEB层 tcmAc越 C∞trolh层 em时层 数据库层 ) J0ⅣaB∞ 数据库 业务层 ElS层 ) 数据库服务 器 图3—2系统Tier层划 这样进行层次划分的好处是,减少了系统各模块之间的依赖性。
每一层的运行只依赖于其下一层,每一层都可理解为是为其上一层提供服务,而且上一层只需要其下一层的服务即可正常运行,各层之间对服务的请求都通过统一的接口来进行。
例如,只要web层调用contr01ler层的接口(可以理解为JavaBean组件中的方法名)不变,对Controller中各组件中算法的优化,业务逻辑的改变都不会影响到web层的正常运行。
同理,对于更低层entity层算法、逻辑的改变也不会对12 山东大学硕士学位
论文contr01ler层及web层产生影响,在数据库层,可以根据实际情况更换不同数据库系统。
3.3系统结构 本考试系统的总体结构(前三层)如图3.3所示。
图3—3系统结构图
上一篇:
基于Portlet的企业信息门户应用研究
下一篇:
谈初中数学“一元二次方程”的几种常见题型