JAVA考试系统002.docx

上传人:b****6 文档编号:5245886 上传时间:2022-12-14 格式:DOCX 页数:71 大小:2.41MB
下载 相关 举报
JAVA考试系统002.docx_第1页
第1页 / 共71页
JAVA考试系统002.docx_第2页
第2页 / 共71页
JAVA考试系统002.docx_第3页
第3页 / 共71页
JAVA考试系统002.docx_第4页
第4页 / 共71页
JAVA考试系统002.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

JAVA考试系统002.docx

《JAVA考试系统002.docx》由会员分享,可在线阅读,更多相关《JAVA考试系统002.docx(71页珍藏版)》请在冰豆网上搜索。

JAVA考试系统002.docx

JAVA考试系统002

基于java实现的计算机考试系统

摘要

无纸化考试系统是现代教育的重要标志,让考试的结果更加的合理、公正、公平,也可以节约人力成本。

高校在线考试系统,常用客户机/服务器(C/S)型的MIS型架构,或基于Web使用浏览器/服务器(B/S)的架构。

C/S架构的在线考试系统,试题存放在远程服务器上,客户端安装考试应用程序和数据库客户机配置,每次考试时需对客户端进行安装、配置。

而采用B/S架构的考试系统,通过与B/S结构的数据库管理系统结合可实现瘦客户机,系统维护仅需在服务器端进行。

故开发了基于B/S的在线考试系统。

网络应用软件运行的模式主要有两类:

C/S和B/S模式。

前者主要的缺点是维护、升级相对比较麻烦,费用也比较高;B/S(Browser/Server)结构即浏览器和服务器结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现。

这样大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

本论文的内容就是设计一个基于java的B/S结构的计算机考试系统,可以基本实现学生、教师以及管理员所需要的功能。

在这个B/S结构的设计中,学生通过计算机网络登入系统,实时提交解答。

系统能保存结果,供教师披阅,并能自动根据条件对客观题进行判分,还能对分数进行统计、管理,协助教师找出教学中存在的问题,满足任何授权的考生随时随地考试并迅速获得成绩的需求,同时也大大减轻了教师出题、监考和判卷等繁重的工作量。

关键字:

J2EE;java;MVC;在线;考试系统

Abstract

Paperlessexamisanimportantsymbolofmoderneducationforthiskindofexammaketheresultmorereasonable,morejust,andreleasehumanresource.Theonlineexamsystemofuniversity,usuallyusestheC/SMISarchitecture,orbasedwebuseB/Sarchitecture.IntheexamsystemofC/Sarchitecture,wherethepapersarestoredintheremoteServerandtheClientmustsetuptheexamapplicationandconfigurethedatabase,wemustsetupandconfiguretheClienteverytimewhendoexam.However,theexamsystemusingtheB/SarchitecturecanimplementthinClientbycombiningtheManagementInformationSystem.Assystemmaintenanceisonlynecessaryattheseverend,ourdevelopedexamsystemisbasedonB/Sarchitecture.WEBapplicationsoftwareiseitherofC/SorB/Smodes.Themaindisadvantageofthepreviousmodeisthetroubleofmaintenanceandupdate,andthusthechargeishigher;theB/SarchitectureiscomposedofBrowserandServer.Inthisarchitecture,theuserinterfaceisjustimplementedonWWWBrowser,alittlepartofthetransactionsisimplementedinBrowser,andthemainpartoftransactionsisimplementedinServer.SotheloadofClientisreduced,andthusreducethecostofmaintenanceandupdate,soasthewholecost.

ThisgraduateprojectisabouttheexamsystembasedonjavaandB/Sarchitecture.Ithasimplementedthebasicfunctionneededbythestudent,teacherandadministrator.InthisB/Sarchitectureproject,studentsloginthesystemthroughweb,andcommittheanswersinreal-time.Thesystemcanjudgethepaperandsavetheresult,statistic,managethepoints;helptheteachertofindtheprobleminteaching.Itallowsanystudentwhichisauthorizedtosubscribetoexamandgaintheresultatanytimeoranywhere,andreducetheworkloadoftheteacherforgivingquestion,invigilationandjudgingpaper.

keywords:

J2EE;java;MVC;web;examsystem

目录

第1章绪论3

1.1项目背景3

1.2计算机考试系统发展及现状3

1.3国内外发展现状4

1.4研究开发的目标和基本内容4

1.4.1系统开发的主要任务和目标4

1.4.2系统开发的基本内容5

1.5技术研究背景5

第2章系统技术介绍及应用7

2.1JSP技术概述及工作原理7

2.1.1JSP技术概要7

2.1.2JSP的工作原理8

2.1.3JSP与ASP的比较8

2.2JDBC介绍10

2.3MVC模式介绍12

2.4Struts技术概述及工作原理13

2.4.1Struts技术概述13

2.4.2Struts的工作原理14

2.5Hibernate技术概述及工作原理15

2.5.1Hibernate技术概述15

2.5.2Hibernate工作原理16

2.6Tomcat应用服务器介绍17

2.7MySQL数据库介绍19

2.7.1数据库的历史和发展19

2.7.2MySQL介绍19

2.7.3MySQL的主要特性20

第3章系统需求分析22

3.1系统功能概述22

3.2权限与控制22

3.3系统业务流程分析23

3.3.1业务术语23

3.3.2业务流程23

3.4系统模块简介27

3.4.1登录模块27

3.4.2系统管理模块27

3.4.3科目管理模块28

3.4.4题库管理模块29

3.4.5试卷管理模块29

3.4.6帐户管理模块29

3.4.7考试管理模块29

3.4.8信息查询模块30

3.5系统开发环境30

第4章系统设计31

4.1系统整体架构设计31

4.2系统管理设计31

4.3题库管理设计37

4.4科目管理设计38

4.5试卷管理设计39

4.6帐户管理设计39

4.7考试管理设计40

4.8信息查询设计41

4.9数据库设计42

第5章系统实现45

5.1系统Model层实现45

5.1.1类AdminBean:

45

5.1.2类SchoolBean:

45

5.1.3类CollegeBean:

46

5.1.4类ClassBean:

46

5.1.5类TeacherBean:

47

5.1.6类StudentBean:

47

5.1.7类ExamBean:

48

5.1.8类PaperBean:

49

5.1.9类SubjectBean:

50

5.1.10类TiankongBean:

50

5.1.11类XuanzeBean:

51

5.2系统数据访问对象DAO层实现52

5.2.1类AdminBeanDAO:

52

5.2.2类SchoolBeanDAO:

52

5.2.3类CollegeBeanDAO:

53

5.2.4类ClassBeanDAO:

53

5.2.5类TeacherBeanDAO:

53

5.2.6类StudentBeanDAO:

53

5.2.7类ExamBeanDAO:

54

5.2.8类PaperBeanDAO:

54

5.2.9类SubjectBeanDAO:

54

5.2.10类TiankongBeanDAO:

55

5.2.11类XuanzeBeanDAO:

55

5.3系统中的ACTION类55

5.3.1类AccountAction:

55

5.3.2类AccountManageAction:

56

5.3.3类SchoolAction:

56

5.3.4类CollegeAction:

57

5.3.5类ClassAction:

57

5.3.6类TeacherAction:

58

5.3.7类StudentAction:

59

5.3.8类ExamAction:

59

5.3.9类PaperAction:

60

5.3.10类SubjectAction:

61

5.3.11类QuestionAction:

62

5.4系统中的视图层62

第6章总结71

第1章绪论

1.1项目背景

无纸化考试系统是现代教育的重要标志,这样的考试让考试的结果更加的合理,更加的公正、公平。

也让不必要的人力从中解脱出来,去完成其它的一些事情。

学生通过计算机网络登入系统,实时提交解答。

系统能保存结果,供教师披阅,并能自动根据条件对客观题进行判分,还能对分数进行统计、管理,协助教师找出教学中存在的问题,满足任何授权的考生随时随地考试并迅速获得成绩的需求,同时也大大减轻了教师出题、监考和判卷等繁重的工作量。

鉴于现在大多数学校的计算机考试系统基本上都是C/S结构,对时间、地点以及考试规模都有很大的限制,而现在的大学里基本上的学生都人手一台电脑。

如果将考试系统做成B/S结构的话就可以将没有这些方面的限制,可以进行大规模同时的考试,而且计算机可以方便的进行考试,不需要进行任何的客户端安装,只需要有一个浏览器。

1.2计算机考试系统发展及现状

20世纪50年代,电子计算机和光电阅读机在大规模考试中的广泛运用促进了标准化考试的推广和普及。

然而应当指出,这时的考试方法仍是传统的纸笔考试形式。

到了2O世纪末,随着测试理论的完善、计算机的普及、多媒体技术的运用和经济的增长,测试界已清楚地看到单一的纸笔考试弊大于利。

那么纸笔考试所暴露出来的问题该如何解决?

标准化考试还要不要推行?

于是专家们开始在测试的方法和手段上下工夫,国外的TOEFL如此,国内的CET亦然。

这一变化竞来得如此之快,可以说是在向一个时代告别,即:

计算机化考试时代的到来[1]。

1.3国内外发展现状

现在国内外都有许多的计算机考试系统,而CAT(computerizedAdaptiveTesting,计算机自适应考试系统)是近年来测验研究中引人注目并取得了重大发展的领域。

计算机化白适应测验(简称CAT)是在项目反应理论的基础上,建立题库,然后计算机根据被试的能力水平自动地选择测试题目,并对被试的所达到的能力的水平做出判断的一种全新的测验形式[2]。

所谓自适应测验它的基本思想是“因人施测”,使不同水平被试者都能接受一组跟自己特质水平相适应的试题。

所谓“自适应”就是测验本身要自动地适应被试的具体情况,在被试作答过程中及时根据作答资料估出被试的可能水平,并针对这一水平迅速决策,从大型题库中调取难度恰当、性能优良的题目继续施测。

直到施测的题目足够多,测验信息量累计和达到指定值为止。

如今在美国,CAT已经在教育测验、职业测量、人事测评等领域中大显身手,如美国研究生入学考试(GraduateRecordExamination)、工商管理类研究生入学考试(GraduateforManagementandAdministrationTest)以及全美护士国家委员会资格考试(NurseNationalCommitteeLicenseTest)等都已采取了CAT的方式。

在信息产业中,美国Novell公司于1991年成功的应用了CAT进行认证考试,使参加Novell自适应考试的人数超过1,000,000人次。

在我国,已经出现一些应用型的研究,自行编制了一些CAT测验,并取得了实际的运用效果,上海电大在上海市计算机应用能力的考试项目“VB6.0程序设计”中已采用了CAT的考试设计方法。

江西师大小学数学CAT研究、华南理工大的“数据结构”自适应测试系统的研究也取得了一定的成果。

自上世纪九十年代初期开始,全国大学英语四、六级考试委员会一直致力于项目反应理论和“计算机自适应测验”的研究和开发。

1.4研究开发的目标和基本内容

1.4.1系统开发的主要任务和目标

1、实现保存试题的数据库系统

2、实现在线考试系统的服务器端及客户端

3、了解试卷批改规则,实现客观题的自动判分

4、实现系统成绩查询功能

1.4.2系统开发的基本内容

1、提供数据库访问权限给不同人员进行试题库添加、管理,试卷批改,答案输入;

2、从试题库中生成难度的合理试卷;

3、通过网络实现与考生的互动,随时增减试题难度,以便最大限度地考察学生水平;

4、结合试题难度系数协助教师判分。

1.5技术研究背景

J2EE是适用于创建服务器应用程序和服务的Java2平台企业版Java2PlatformEnterpriseEdition,J2EE),该技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性,方便存取数据库的JDBCAPI、CORBA技术以及能够在Intemet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持[3]。

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层面分布在不同的机器上,解决了两层模式(client/server)的弊端.在传统模式中,客户端担当了过多的角色,可能第一次部署时比较容易,但难于升级,可伸展性也不理想,经常是基于某种专有的协议(通常是某种数据库协议),重用业务逻辑和界面逻辑非常困难.现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层,每个多层化应用能够为不同的服务提供一个独立的层面[4]。

本系统采用J2EE进行开发,J2EE特别适用于WEB开发,现在最流行的WEB开发模式是SSH(Struts+Spring+Hibernate)模式,Struts作为视图层,Spring作为控制层,Hibernate为模型层。

这样写的程序有很清晰的分层,耦合度低,有利于开发和维护。

这些框架可以为开发者提供一个简单易用的模型,采用一个经过良好设计的开源框架有很多好处:

1、开发者只需要写一些必须的代码。

他们不需要直接接触底层的API。

2、经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。

清晰的结构使得其他人很容易加入项目。

3、一个容易适用的框架可以通过一些例子和文档为用户提供最佳实践。

4、使用成功的框架的代码比自己的代码容易测试。

框架应该在需要的时候才使用,不要为了使用框架而使用框架。

所为我的这个系统使用的是Struts+Hibernate,这两个都是比较成熟的开源框架,通过Hibernate做OR映射和对数据库的访问。

Struts做视图层,Struts的ActionServlet做控制层。

第2章系统技术介绍及应用

2.1JSP技术概述及工作原理

2.1.1JSP技术概要

在开始介绍JSP之前,我先要介绍两个名词:

组件和容器还有servlet。

组件:

组件是你的应用程序的的组体构件。

它包括servlets、JavaBeans、JSP、HTML页面、EJBs以及其它类似的东西。

容器:

容器是那些执行组件的应用程序。

如果你的应用程序由JSP和servlet组件构成的,那么你就需要一个具有JSP支持的servlet容器(正式名称是servlet引擎);如果你的应用程序是有EJBs构成的,那就需要一个EJB容器。

servlet:

servlet是一种独立于平台和协议的服务器端的Java应用程序,可以动态的生成WEB页面。

servlet由WEB服务器进行加载,该WEB服务器必须包含支持servlet的java虚拟机。

JSP:

JSP(javaserverpages)是由SUN公司在servlet基础上开发出来的一种动态网页制作技术,其可使您可以将网页中的动态部分和静态的HTML相分离。

您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。

然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“<%”开始并以“%>”结束。

通常,您要将文件以“.jsp”为扩展名,并将它放置到任何您可以放置普通WEB页面的路径下。

尽管JSP文件看起来更象是HTML文件而不是Servlet文件,但,事实上,它恰恰将转换为Servlet文件,其中的静态HTML仅仅用来输出Servlet服务方法返回的信息。

如果JSPpages已经被转换为Servlet且Servlet被编译进而被装载(在第一次被Request时),当您再次Request此JSP页面时,将察觉不到一瞬的延迟。

JSP有4个关键成分:

指令(directive)、动作(action)、scriptlet和标记库(taglibrary)。

指令是指那些发送给JSP容器的消息,它使程序能够指定页面的设置、包含其它资源中的内容和指定JSP中使用的定制标记库。

动作将功能封装在预定义的标记中,然后程序员可以将它们(预定义标记)嵌入JSP中。

通常根据发送给服务器的特定客户请求中的信息来执行动作。

它们还可以创建在JSPscriptlet中使用Java对象。

Scriptlet,即脚本元素(scriptingelement),使程序员能够插入与JSP中的组件(和其它Web应用程序组件)进行交互的Java代码,以处理请求。

标记库是标记扩展机制的一部分,它使程序员能够创建定制的标记,这种标记使得程序员能够操作JSP内容。

[5]

2.1.2JSP的工作原理

当用户第一次请求或者刷新一个JSP页面时,JSP容器首先是要找到这个JSP页面的源代码文件,然后开始处理,把这个JSP源文件翻译成java代码文件。

当用户请求这个文件时,需要JSP容器来处理这个文件。

[6]

2.1.3JSP与ASP的比较

一般说来,Sun公司的JavaServerPages(JSP)和Microsoft的ActiveServerPages(ASP)在技术方面有许多相似之处。

两者都为动态网页的技术,并且双方都能够替代CGI技术,使网站的开发时程能够大大缩短,在性能上也有较高的表现,更重要的一点是,两者都能够为程序员提供组件设计的功能,通过组件设计,将网页中逻辑处理部分交由组件负责处理(ASP使用COM组件、JSP则有JavaBean组件),而和网页上的排版、美工分离。

尽管JavaServerPages技术和ActiveServerPages(ASP)在许多方面都很相似,但仍然存在很多不同之处,其中本质上的区别在于:

两者是来源于不同的技术规范组织。

以下就来比较两大技术有哪些不同点,而又为各自带来哪些优势。

平台和服务器的弹性

ASP(ActiveServerPages)技术主要在微软(Microsoft)公司的Windows平台上运行,其中包括Windows2000、WindowsXP和Windows2003,并且搭配其WEB服务器IIS(InternetInformationServices)。

但是,在其他的平台运行时,不是性能低落,就是根本不支持,因此,当在开发网站系统时,选择NT+IIS+ASP的体系结构时,未来当系统无法负荷时,也只能继续选择Windows平台的服务器,无法改写在性能表现相当优异的UNIX平台上。

JSP(JavaServerPages)技术主要运行在操作系统上的一个JavaVirtualMachine(JVM)虚拟机器上,因此,它能够跨越所有的平台,例如:

NT、Windows2000、Solaris、Linux、OS/390、AIX、HP-UX,等等,除了能在各式各样的操作系统上执行,并且能搭配现有的WEB服务器:

Apache、IIS、NetscapeEnterpriseServer,等等,将静态的HTML网页交由执行速度较快的WebServer处理,而动态产生网页的部分,就交由JSPContainer来执行。

由上述可知,JSP(JavaServerPages)技术在跨平台的表现比ASP来得更有弹性。

WEB网页程序员未来在开发电子商务平台时,就不需要再考虑客户厂商的操作系统平台,可更专心于系统功能的开发。

相应地,厂商在使用JavaServerPages技术开发的系统平台时,不再需要担心未来在扩充软、硬件时,是否产生不兼容的问题。

光这一点,就能为企业省下一大笔的费用,这是JSP的主要优点。

开放的开发环境

自从1995年,Sun公司已经开放技术与国际Java组织合作开发和修改Java技术与规范。

JSP应用程序接口(API)毫无疑问已经取得成功,并随着Java组织不断扩大其应用的范围,目前全力发展Java技术的厂商不胜枚举,例如:

最近IBM公司强力推广的WebSphere家族,正是完全支持J2EE标准而开发。

数据库厂商Oracle也发展自己的ApplicationServer来和自己公司本身数据库产品Oracle9i做一紧密的结合。

那也更不用提Amazon系统的供货商BEA公司,它的产品WebLogic也是完全支持JavaServerPages技术和J2EE规范的。

相反,ASP技术仅依靠微软本身的推动,其发展建立在独占、封闭的基础之上,并且微软本身的技术又只允许在微软相关平台的服务器上执行,因此,在标准方面显得有点力不从心。

执行性能表现

ASP和JSP在执行性能的表现上,有一段显著的差距

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1