版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大 连 民 族 学 院 本 科 毕 业 设 计论 文基于J2EE架构的在线考试系统开发学 院系: 计算机科学与工程 专 业: 软件工程 学 生 姓 名: 冯靓 学 号: 06082102 指 导 教 师: 苏飞 评 阅 教 师: 完 成 日 期: 2021年6月8日 大连民族学院摘 要随着计算机互联网的不断开展,学生考试的技术手段和载体发生了划时代的变化。计算机技术、网络技术和考试理论的日渐成熟,使考试从传统的纸笔考试到计算机辅助考试再开展到基于互联网的在线考试成为现实。基于互联网技术支持的在线考试系统就是借助遍布全球的因特网,考试既可在本地进行,也可在异地进行,大大拓展了考试的灵活性。而且智
2、能组卷系统,自动阅卷评分和试卷分析将教师从繁重的工作中解脱出来,这大大提高了工作效率,真正的实现了无纸化考试。本系统采用 Struts+JavaBean框架建立了一个比拟完善的B/S模式的智能在线考试系统,本系统主要是为了能满足公司各个部门的标准化考试的功能需求,以求使得考试形式更具智能化、更具合理性。在Struts框架中,模型分为两个局部:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActionForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。用DAO设计模式封装数据,使得系统结构清晰,
3、数据库操作与业务逻辑各自独立,也利于系统功能的扩展。关键词:在线考试系统;DAO设计;Struts+JavaBean框架The development Of A Online Examination System Based On J2EEAbstractWith the continuous development of the Internet, students examination techniques and vector epoch-making changes have taken place. Computer technology, network technology a
4、nd the maturing of the theory examination in order that the examination from the traditional pen and paper exams to computer-aided re-examination of the development of Internet-based online exam to become a reality. Internet-based technical support is to make use of online examination system of the
5、Internet around the world, the examination can be conducted locally and can also be carried out in different places, greatly expanding the flexibility of the exam. Paper and intelligent system, automatic scoring and test score analysis will be teaching from the heavy work out.This greatly enhanced t
6、he efficiency of the realization of a truly paperless examination. The system uses a Struts + JavaBean framework for the establishment of a more complete B / S mode smart online examination system, the system is mainly in order to meet the departments of the company all the functions of the standard
7、ized test requirements, in order to make exam form of more intelligent, more reasonable.In the Struts framework, the model is divided into two parts: the systems internal state and can change the state of operations (business logic). Internal state by a group of normally expressed ActionForm JavaBea
8、n. According to the design or application of different complexity, the Bean can be self-contained and has continued to state, or only receive data when needed. DAO design pattern with the data package, making a clear system architecture, database and business logic to operate independently, but also
9、 conducive to the expansion of system functions.Key Words:on-line examination system;DAO design;Struts + JavaBean framework目 录 TOC o 1-3 h z u HYPERLINK l _Toc263589240 摘 要 PAGEREF _Toc263589240 h I HYPERLINK l _Toc263589241 Abstract PAGEREF _Toc263589241 h II HYPERLINK l _Toc263589242 1 绪论 PAGEREF
10、_Toc263589242 h 1 HYPERLINK l _Toc263589243 选题目的和意义 PAGEREF _Toc263589243 h 1 HYPERLINK l _Toc263589244 国内外研究动态 PAGEREF _Toc263589244 h 1 HYPERLINK l _Toc263589245 本文研究的主要内容 PAGEREF _Toc263589245 h 2 HYPERLINK l _Toc263589246 2 相关技术介绍 PAGEREF _Toc263589246 h 3 HYPERLINK l _Toc263589247 2.1 J2EE框架 PA
11、GEREF _Toc263589247 h 3 HYPERLINK l _Toc263589248 概述 PAGEREF _Toc263589248 h 3 HYPERLINK l _Toc263589249 2.1.2 J2EE分布式模型 PAGEREF _Toc263589249 h 3 HYPERLINK l _Toc263589250 2.1.3 J2EE的特点 PAGEREF _Toc263589250 h 4 HYPERLINK l _Toc263589251 2.2 MVC模式与应用 PAGEREF _Toc263589251 h 4 HYPERLINK l _Toc263589
12、252 2.2.1 MVC体系结构 PAGEREF _Toc263589252 h 4 HYPERLINK l _Toc263589253 基于J2EE的MVC模式的实现 PAGEREF _Toc263589253 h 5 HYPERLINK l _Toc263589254 2.3.1 Model:系统状态和商业逻辑JavaBeans PAGEREF _Toc263589254 h 6 HYPERLINK l _Toc263589255 2.3.2 View:JSP页面和表示组件 PAGEREF _Toc263589255 h 6 HYPERLINK l _Toc263589256 2.3.3
13、 Controller:ActionServlet和ActionMapping PAGEREF _Toc263589256 h 6 HYPERLINK l _Toc263589257 2.4 JSP简介 PAGEREF _Toc263589257 h 7 HYPERLINK l _Toc263589258 支持JSP的效劳器软件 PAGEREF _Toc263589258 h 7 HYPERLINK l _Toc263589259 2.5.1 Apache Tomcat简介 PAGEREF _Toc263589259 h 7 HYPERLINK l _Toc263589260 2.6 JDBC
14、接口技术 PAGEREF _Toc263589260 h 8 HYPERLINK l _Toc263589261 2.6.1 JDBC简介 PAGEREF _Toc263589261 h 8 HYPERLINK l _Toc263589262 2.6.2 JDBC与数据库的连接 PAGEREF _Toc263589262 h 8 HYPERLINK l _Toc263589263 考试系统开发环境简介 PAGEREF _Toc263589263 h 9 HYPERLINK l _Toc263589264 系统平台:Windows XP PAGEREF _Toc263589264 h 9 HYP
15、ERLINK l _Toc263589265 2.7.2 Web效劳器平台 PAGEREF _Toc263589265 h 9 HYPERLINK l _Toc263589266 数据库效劳器: MySQL PAGEREF _Toc263589266 h 9 HYPERLINK l _Toc263589267 本章小结 PAGEREF _Toc263589267 h 10 HYPERLINK l _Toc263589268 3系统分析与设计 PAGEREF _Toc263589268 h 11 HYPERLINK l _Toc263589269 可行性分析 PAGEREF _Toc263589
16、269 h 11 HYPERLINK l _Toc263589270 需求分析 PAGEREF _Toc263589270 h 11 HYPERLINK l _Toc263589271 应用分析 PAGEREF _Toc263589271 h 11 HYPERLINK l _Toc263589272 本系统设计目标 PAGEREF _Toc263589272 h 11 HYPERLINK l _Toc263589273 系统功能描述 PAGEREF _Toc263589273 h 12 HYPERLINK l _Toc263589274 系统的总体设计 PAGEREF _Toc26358927
17、4 h 13 HYPERLINK l _Toc263589275 系统流程分析 PAGEREF _Toc263589275 h 14 HYPERLINK l _Toc263589276 系统配置 PAGEREF _Toc263589276 h 15 HYPERLINK l _Toc263589277 数据库设计与实现 PAGEREF _Toc263589277 h 16 HYPERLINK l _Toc263589278 数据库需求分析 PAGEREF _Toc263589278 h 17 HYPERLINK l _Toc263589279 数据库逻辑设计 PAGEREF _Toc263589
18、279 h 18 HYPERLINK l _Toc263589280 本章小节 PAGEREF _Toc263589280 h 21 HYPERLINK l _Toc263589281 4 系统实现 PAGEREF _Toc263589281 h 22 HYPERLINK l _Toc263589282 考生管理模块设计与实现 PAGEREF _Toc263589282 h 22 HYPERLINK l _Toc263589283 新增考生模块设计与实现 PAGEREF _Toc263589283 h 22 HYPERLINK l _Toc263589284 考生维护管理模块设计与实现 PAG
19、EREF _Toc263589284 h 22 HYPERLINK l _Toc263589285 考试管理模块设计与实现 PAGEREF _Toc263589285 h 23 HYPERLINK l _Toc263589286 题库管理模块设计与实现 PAGEREF _Toc263589286 h 23 HYPERLINK l _Toc263589287 试卷管理模块设计与实现 PAGEREF _Toc263589287 h 24 HYPERLINK l _Toc263589288 4.2.3 启动试卷模块设计与实现 PAGEREF _Toc263589288 h 25 HYPERLINK
20、l _Toc263589289 考试管理模块设计与实现 PAGEREF _Toc263589289 h 26 HYPERLINK l _Toc263589290 登录模块设计与实现 PAGEREF _Toc263589290 h 26 HYPERLINK l _Toc263589291 考试工程模块设计与实现 PAGEREF _Toc263589291 h 27 HYPERLINK l _Toc263589292 本章小节 PAGEREF _Toc263589292 h 27 HYPERLINK l _Toc263589293 结 论 PAGEREF _Toc263589293 h 28 HY
21、PERLINK l _Toc263589294 参 考 文 献 PAGEREF _Toc263589294 h 29 HYPERLINK l _Toc263589295 致 谢 PAGEREF _Toc263589295 h 301 绪论在我国,考试已存在了几千年。一直以来人们都采用传统的考试方式,传统的考试是以笔试作为主要形式,这种考试方式,组织一次考试至少要经历四个步骤:人工出卷、考生考试、人工阅卷、成绩统计。随着各种考试类型的不断增加和考生数量的不断膨胀,组织考试的工作量会变得越来越大,效率变得越来越低,而且很难防止人为因素对考试造成的影响。因此这种考试方式己越来越不能适应当今社会开展的
22、要求。随着计算互联网的不断开展,使得考试的技术手段和载体发生了划时代的变化。计算机技术、网络技术和考试理论的日渐成熟,使考试从传统的纸笔考试到计算机辅助考试再开展到基于互联网的在线考试成为现实。基于互联网技术支持的在线考试系统就是借助遍布全球的因特网,考试既可在本地进行,也可在异地进行,大大拓展了考试的灵活性。而且智能组卷系统,自动阅卷评分和试卷分析将教师从繁重的工作中解脱出来大大提高了工作效率,真正的实现了无纸化考试。为了适应现代教育的开展要求,本人开发了一种基于Struts框架的在线考试系统,开发这一系统可以大大提高教师工作效率,缩短考试周期,使教师有更多的时间专注于自己的教学工作。而且通
23、过使用该系统可以突破地域和时间的限制,任何人都可以随时随地开始一场考试,检验自己的知识和水平。随着计算机技术、网络技术、多媒体技术和虚拟现实技术在教育领域中不断应用,Internet向宽带、多媒体方向开展,使得信息量很大的远程教育成为现实。在国外,网络远程教育已经得到突飞猛进的开展。各大学、高职学院都积极开展相关方面的研究和探索。目前网上计算机化考试已经开展为一种产业,创造出很大的利润。在国内,各种网校、在线教育、远程课程教学也随Internet而悄然兴起,出现了很多网上考试。但是从整体上看,局部系统采用C/S结构,这样在易用性和扩展性方面受到限制。局部系统虽然采用了B/S的结构,但是采用AS
24、P技术作为效劳器端脚本,来实现与数据库和其他应用互动的Web网页,ASP采用的是解释执行的方式,执行效率不高。有些系统性能低下,同时支持的在线测试数量较少,远远达不到系统运行的规模化效应,有些系统的统计分析功能简单,仅向用户提供总分、各题得分,班级平均分、标准差等经过简单计算的统计数据,而没有对得到的统计数据进行解释和说明,对用户的反应信息千篇一律。总的说来,目前国内外的网络测试系统方面的建设,无论在理论上还是在系统架构上都还处于起步阶段,还没有统一的标准和标准。本文完成了一种基于J2EE平台的在线考试系统的开发工作,包括系统需求分析、系统框架设计、系统模块的实现和测试、并对系统涉及的主要技术
25、进行了相应的分析。本文研究的主要内容如下:对JDBC、JSP、Struts等J2EE核心技术的运用。对J2EE架构和基于MVC模式的Struts框架的分析与研究。用软件工程和面向对象的思想对系统的需求分析、总体设计进行了详细描述。在该系统中实现了题库管理、试卷管理等主要功能模块。2 相关技术介绍2.1 J2EE框架概述传统的互联网应用程序模型是由两层应用(也称为客户/效劳器或C/S结构)来实现的。这种模式容易配置,但难于升级或扩展,而且通常基于私有的协议。更重要的是,在Web时代,这种应用通常不能表达出很好的伸缩性,因而很难适应Internet的要求。为了解决两层体系的缺乏,中间层开始出现在客
26、户端和后端数据库之间,这些中间层提供了把商业功能和数据库相结合的功能;它们把客户端从复杂的业务逻辑中别离出来,利用成熟的互联网技术使用户在管理上所花费的时间最小,逐渐形成了三层结构模型。J2EE技术正是降低了这种中间层效劳的本钱和复杂程度,因而使得效劳可以被快速的开展。 J2EE分布式模型1。图2.1 J2EE体系结构它包括五个层:表示、应用、效劳、域和持续化。这些层在物理上横跨客户机和效劳器,而在逻辑上被划分为客户应用容器、Web容器、EJB容器和数据库四局部。 J2EE的特点J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。它主要有以下五方面优点:(1) 保存现存的I
27、T资产由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,因此J2EE架构可以充分利用用户原有的投资,保存现有的操作系统和硬件。(2) 高效的开发J2EE允许公司把那些通用的、很繁琐的效劳端任务交给中间件供给商去完成。这样开发人员可以集中精力在如何创立商业逻辑上,相应地缩短了开发时间。(3) 支持异构环境J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定的操作系统、中间件和硬件,因此,设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。(4) 可伸缩性企业必须要选择一种效劳器端平台,这种平台应能提供
28、极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可以被部署到各种操作系统上运行,所以现有的操作系统和硬件也能被保存使用。(5) 稳定的可用性因为Internet是全球化的,假设是意外停机,会有灾难性后果。所以一个效劳器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。J2EE可以部署到可靠的操作环境中,支持长期的可用性。这是实时性很强商业系统最理想的选择。2.2 MVC模式与应用模型一视图一控制(Model-View-Control,简称MVC)结构是巨前最常见的J2EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,尤其是存在大量页面及屡
29、次客户访问及数据显示2。 MVC体系结构M代表模型Model,V代表视图View,C代表控制器Controller。模型一视图一控制结构是交互式应用程序广泛使用的一种体系结构。它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型;同时也使得软件可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。MVC图2.2 MVC体系结构模型层负责表达和访问商业数据,执行商业逻辑和操作。视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户的输入
30、传送给控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Struts是一个免费的开源的Web层的应用框架,APache软件致力于Struts的开发。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的Java Web前端应用。Struts的运作机理如图2.3所示。DispatchEventController ServletBusiness Logic Action RequestForwardUpdateGetView JSPClient BrowerMode
31、l Application Action Response图2.3 Struts工作流程Struts应用有3个部件:一个是使用Servlet实现的中心控制器及负责具体业务逻辑处理的Action;一个是用于显示的JSP页面即(Viewer);另一个是用于封装系统状态的业务逻辑元件(Model)。 Model:系统状态和商业逻辑JavaBeans在Struts框架中,模型分为两个局部:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActionForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。 V
32、iew:JSP页面和表示组件基于 Struts的应用程序中的View局部通常使用JSP技术来构建。JSP环境包括了其用途由JSP标准来描述的一套标准的行为标记,还有一个用来定义标记的标准机制,这些自定义的标记组织在“定制标记库中。 Controller:ActionServlet和ActionMappingStruts中,根本的控制器组件是ActionServlet类中的实例Servlet,实际使用的Servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。struts的中心控制器接受所有来自客户端的请求,并根据系统的配置 (struts-config.xml)路
33、由 请求到其它Action对象(开发者实现的org.apache.struts.action.Action的子类)。在这些助Action对象中会完成所有的业务操作。处理完毕,由Struts的ControllerServelt根据配置转向到适当的JSP页面,将处理结果显示给用户。2.4 JSP简介JSP(JavaServerPages)是由 Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创立显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP标准是Web效劳器、应用效劳器、交易系统、以及开发工具供给商间广泛合作的结果。JSP技术在以下儿个
34、方面加速了动态Web页面的开发:(1) 内容的生成和显示进行别离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在效劳器端运行。在效劳器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容,并且将结果以HTML或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于的Web浏览器的完全可用性。(2) 强调可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程
35、序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3) 采用标识简化页面开发。JavaServerPages技术封装了许多功能,这些功能是与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问实例化JavaBeans组件,设置或者检索组件属性。作为Java平台的一局部,JSP拥有Java编程语言“一次编写,处处运行的特点。2.5.1 Apache Tomcat简介Tomcat 5是Servlet和JSP2.
36、O标准的官方参考实现。Tomcat既可以单独作为小型Servlet、JSP测试效劳器,也可以集成到 Apache Web效劳器。Tomcat和Apache一样可以免费安装。但是,快速、稳定的Apache效劳器安装和配置起来比拟麻烦,Tomcat也具有同样的缺点。2.6 JDBC接口技术 JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的 Java API。它由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯 Java API来编写数据库应用程序。 JDBC与数据库的连接简单地说,
37、JDBC可做以下三件事:与数据库建立连接、发送SQL语句、处理结果。编写一个数据库应用程序的根本流程如下:第一步:建立数据源 (Data Source)。数据库可以是Access、MS SQL、MySQL、Oracle或DB2等。第二步:加载驱动程序 (Register Driver)。用语句Class.forName()加载JDBC-ODBC。第三步:建立连接(Connection)。建立连接有如下形式:Connection conn = ction(url,username,password);其中,url为连接特定的数据源的路。第四步:建立语句对象。Statement stmt = co
38、n.creatStatement();这样就建立了一个用于执行SQL的语句。第五步:如果有必要,添加新数据到数据源。第六步:获取结果集合(ResultSet)。现在就可以从数据库中获取信息了。通过JDBC的stmt.executeQuery()方法,使用SQL SELECT语句,将返回一个包含结果数据行的ResultSet对象。第七步:处理数据。常用的方法包括next()和getXXX(columnIndex)方法。其中,next()方法是游标移动到当前行的下一行;XXX代表类型名,。columnIndex代表列序号,此方法可以定位列。第八步:如果有必要,将处理结果写回数据源。具体包含三种情况
39、:更新、插入和删除。主要使用Statement对象的executeUpdate()方法,并配合SQL语句。第九步:关闭对象。依次关闭ResultSet对象、Statement对象和Connection对象。第十步:处理警告、异常。Java提供了一个非常有用的捕获异常的机制,主要有两个异常类:SQLException和SQLWarning。系统平台:Windows XP选择Win XP作为系统平台,是因为它的应用非常普遍而且系统的稳定性和兼容性都不错,使得考试系统的安装非常简单、快捷,为将来的推广和应用打下良好的根底。 Web效劳器平台本系统将采用Eclipse和Tomcat相结合的形式作为系统
40、的效劳器平台。Tomcat是一个免费的开源的Servlet容器,它是apache基金会的Jakarta工程中的一个核心工程,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP标准总能在Tomcat中得到表达。而且Tomcat是基于apache许可证下开发的自由软件。所以可以在Tomcat的官方网站免费下载。选择Tomcat作为本系统的效劳器,是因为它有如下技术特点:(1) 部署简单(2) 平安管理(3) 集成方便(4) 可与Eclipse完美组合数据库效劳器: MySQLlt AB公司开发的MySQL是一种精巧的、多用户、多线程、跨
41、平台的关系型数据库管理系统,同时也是一种具有客户和效劳器体系结构的分布式数据库管理系统。由于它功能强大、灵活易用、快速稳定,而且具有丰富的应用程序接口,所以在企业中的应用极为广泛。MySQL精巧的体系结构是由SQL数据库效劳器、访问该效劳器的客户机程序和编程接口三局部组成:(1) SQL数据库效劳器。 (2) 客户机程序。(3) 编程接口。概括来说,MySQL具有以下特点:完全多线程,适于多CPU使用。多平台。非常灵活和平安的权限系统。可处理大型数据表(超过5000万个记录),表的大小限于操作系统的文件大小:Linux为ZG字节, Solaris为4G字节。为Windows XP提供JDBC接
42、口,可通过Java与之相连。在考试系统中采用MySQL作为效劳器是从需求、本钱的角度来考虑的。在实际应用中,考试系统是一个针对并发访问人数不会超过几百人的内部系统,如果使用Oracle和DB2之类的数据库会造成大量的系统资源闲置,即使是 MS SQL Server:也会浪费许多系统资源,使用MySQL可以完全满足系统的要求。 目前,开发一种在线考试系统的技术有很多,系统中所用到的技术是否合理,对所开发系统的相关性能有重要的影响,因此在开发系统过程中,对技术的选择是非常重要的,本章主要是对系统所采用的相关技术进了概述,首先对J2EE框架进行了介绍,并且对J2EE框架的分布模型中的表示层、应用层、
43、效劳层、域层和持续化层进行概述,而且对J2EE的特点进行了描述。在文章中对MVC模式的体系结构及其实现形式(Struts)的运作机理进行了介绍。在本章中还对JSP的特点以及支持JSP的效劳器软件进了介绍。由于本系统使用了JDBC技术进行数据库连接,因此,本章对JDBC的使用原理及与数据库连接的根本流程进行了描述。在本章最后对本系统的开发环境进行了介绍,内容包括本系统对系统平台、Web效劳器平台和数据库效劳器的选择。3系统分析与设计目前在社会的各行各业流行着各种各样的考试系统和试题库,但经调查发现,成熟、通用、可靠、方便的题库管理与在线考试系统不是很多,尽管利用局域网或校园网资源编制的网络通用题
44、库管理与考试系统也不在少数,但是大多都缺乏对考试的系统分析与评价,并且存在适应性不强,资源重复建设等诸多问题,因此,研究和开发一种成熟、稳定、可靠的在线考试系统具有挑战性、实用性和现实意义3。需求分析随着各级各类学校招生规模的不断扩大,教师资源的短缺己成为一个普遍而严重的问题。教师的缺乏使得他们的劳动强度直线上升。为了减轻广阔教师的劳动强度、工作负担,提高工作效率和教学质量,培养更多对社会有用的人才,各级各类学校都急需能自动出题、考试和改卷的题库管理与在线考试系统,以满足教考别离和平时随意的学生测验、模拟训练等工作;从而使考试更趋于公证、客观,更加激发学生的学习兴趣4。应用分析随着Window
45、s操作系统的普及,使得计算机操作和软件的应用变得越来越方便,操作更加简单化。在题库管理与在线考试系统中,多个应用软件的混合调用可使题库管理与在线考试的操作实现更加方便、高效。本系统设计目标该考试系统设计的主要目的是在局域网上对公司各部门员工进行在线考试和管理,所以要实现以下几个目标:稳定性:基于考试这项业务的特殊性,考试系统需要非常稳定,要谨慎的选择技术成熟的系统平台。实用性:考试系统可以在局域网或Internet网中使用,也可以单机使用。完整性:考试系统要实现试题的编辑录入、试卷的自动生成、网络在线考试、网络在线评阅卷和成绩查阅等功能。易用性:对使用考试系统来进行题库管理和在线考试系统的考生
46、,不管其熟悉不熟悉计算机的操作,都能在短时间内方便、快捷的使用该系统,以及按要求进行上在线考试。设计时尽量使用目前较为通用的操作方法。 高效率:客观题采用计算机自动阅卷方式,使教师可以在很短的时间内完成试卷的批阅工作5。本考试系统主要包括的内容有:“在线考试子系统、“在线考试后台管理子系统两个大模块。在“在线考试子系统中,考生可以进行登录、参加考试、查询成绩、修改个人信息等操作;而“在线考试后台管理子系统那么是提供给系统的管理员进行操作的,在这里,管理员可以进行考生信息管理、题库管理、试卷管理、考务管理、历史数据分析等操作。在线考试系统的用例图,如图3.1所示。图3.1在线考试系统用例图根据考
47、试的需求,本系统需要完成的功能模块包括:参加考试:在考生登录系统后,可以查询到需要参加的考试工程,选择参加考试后即进入考试中。考试的题目按格式列出,并且提示考试的时间。完成答卷后,考生可以提交答卷,如果考试时间到,试卷会自动进行提交。考生成绩查询:考生登录后,可以查询以往考试的信息。通过这个功能,考生可以查询考试的成绩及考试试题的标准答案。考生信息管理:考生登录后,可以对自身的相关信息进行修改,主要是一些联络方式方面的信息,其他的信息由管理教师进行控制。此外,考生可以对登录的密码进行修改,如果遗忘了密码,可以向管理教师申请恢复原始密码。管理教师信息管理:管理教师登录后,可以对考生的信息进行维护
48、,包括添加考生信息、修改、考生信息、查询考生考试的历史成绩、恢复考生原始密码。题库管理:管理教师登录后对题库进行维护,可以进行题目的查询、添加,修改和删除操作。试卷管理:从题库中抽取题目,形成试卷。试卷形成后,在未进行开考操作以前可以进行修改操作。考卷的分发:对已生成的试卷对考生进行分配,确定哪些考生进行考试。确定考生之后执行开考操作,此时相关的考生就可以进行登录参加考试了。考务管理:对在线考试的考生的考试进行监控,从监控台上可以看到当前考生的状态,以到达监考的目的。考卷评分:对考试完毕的考生的考卷进行评分操作。客观题在考卷提交时,己经由系统给出分数,这里主要是进行主观题目的评分。考试分析:对
49、结束的考试进行统计分析。列出参加此次考试的考生的考试详细信息,并统计出各个分数段的人数。提供给系统的管理者作决策支持6。由上面的需求分析,我们可以设计出本系统的总体结构包括两个子系统:在线考试系统前台、在线考试系统后台管理系统。在线考试系统的总体结构图如图3.2所示。 图3.2在线考试系统总体结构图由图3.2看出,在线考试系统前台有6个模块:考生登录:负责对考生登录的信息进行验证逻辑处理。考生注销:对已经登录的考生进行注销处理,在这个过程中要去除系统运行中所保存的考生登录信息。参加考试:列出考生的待考试的考试工程列表,考生选择某个考试工程后即可参加考试。考试成绩查询:登录的考生可以对己经结束的
50、考试进行成绩的查询,并且可以查询到考卷的标准答案和自己的答案,考生可以通过比对找出自己的问题所在。考生密码修改:考生可以在登录后进行密码修改;密码修改时要输入原来的密码进行验证,并且输入两次新密码进行核对,方可进行密码的修改操作。考生信息修改:考生可以修改一些和自身的联系方式相关的信息,包括电子邮件、 、 等信息。在线考试系统后台管理系统主要有4个模块:考生管理:在这个模块中,可以进行考生信息的添加,并可进行修改和删除的维护操作。在考生管理中,管理教师还可以查询到考生考试的历史记录。题库管理:管理教师可以进行题目的添加,包括:单项选择题、多项选择题、填空题、简答题等。添加完毕之后,可以对题目进
51、行查询、修改和删除的维护操作。试卷管理:对题库中的题目进行选择,形成试卷。试卷生成了以后,可以对试卷的内容进行修改。考务管理:在这里涉及的是和考试相关的主要模块。管理教师生对生成的试卷进行分配,选择需要进行考试的人员并且将试卷分发。分发试卷之后,考生即可参加考试。在考试过程中,管理员可以通过考试监控台对考生参加考试的信息进行监控。考试结束之后,管理教师通过考卷评分功能对考卷进行评分操作,给出考卷中的主观题目的分数7。系统流程分析通过以上的设计分析看出,在本系统中涉及过程的概念,也就是本系统中的一些操作是有先后顺序的。这里我们分析本系统中所涉及的两大流程:一是开放式的流程;二是封闭式的流程。所谓
52、开放式流程是说一组过程中没有开始和结束的标志,这组过程的先后次序可以是灵活的,只是在进行某种操作时会受到一些约束,而这些约束可以通过其中的一个或者几个操作就可以解除。所谓封闭式的流程那么是指这个过程有一个开端一个结束,比方本系统的考试过程。这个过程中的次序有先后,从开始到结束的过程是按照一定的顺序来进行的。下面我们先来看看系统中的开放式流程。添加考生:这个过程不受其他条件的约束。添加题目:这个过程同样不受到其他的条件的约束。添加试卷:在这个过程中,受到添加题目的约束。只有有了题目以后,才能够进行试卷的生成操作。一旦题库建立以后,这种约束也会解除。分配考卷:在这个过程中,受到添加考生操作的约束。
53、只有添加了要选的考生以后,才能够进行分配考卷的分配工作。一旦考生都添加完毕,这种约束也会解除8。系统中的封闭式流程就是考试过程,图3.3给出了考试过程的活动图。图3.3 考试过程活动图系统配置上面已经对整个系统的总体框架和需求作了分析,已经能够从总体上把握在线考试系统的需求和设计,下面我们来具体分析和设计系统开发的配置。我们使用的开发工具是MyEclipse,在MyEclipe里新建一个exam的web工程。B/S系统的目录结构有一定的规律性,我们遵循标准,并按照需求分析建立各个模块的目录结构。在该目录结构中,exam代表本系统的根目录,它包含2个子目录:src文件夹用于存放系统的类的源文件;
54、WebRoot文件夹那么是系统的主要开发目录。下面分别介绍各个目录。(1) src目录里有两个包。org.mmxbb.exam,在此包中有bean、bussiness.baseinfo、business.examinee、business.paper、gram、business.question、dao、util等包。下面具体介绍一下各个包的含义。bean:存放系统中所要用到的实体的JavaBean文件。business:存放系统中公共模块用到的ActionFrom、Action类文件。business.baseinfo:存放有关系统中有关根底信息的ActionFrom
55、、Action类文件。Business.exam、business.examinee:存放系统模块中有关考生信息的ActionForm、Action类文件。business.paper:存放与试卷信息有关的ActionForm、Action类文件。gram:存放与考试相关的ActionForm、Action类文件。business.question:存放与题库管理信息相关的ActionFrom、Action类文件。dao:存放系统中与数据库进行交互操作的DAO类。util:存放系统中用到的公共功能的类,包括上传、字符处理、数据库连接等相关的类文件。(2) WebRoot
56、里面有7个子目录:META-INF、Web-INF、admin、css、exam、js、upload。下面是这7个主要目录的功能含义。META-INF:存放EJB包或者JAR包的部署描述文件。WEB-INF:Web-INF文件夹里面有两个子目录:lib、classes。lib目录存放系统需要用到的jar包,classes目录存放的是我们自己开发的Java类编译以后的classes文件。在WEB-INF目录下有几个xml配置文件和tld文件,其中在struts-config.xml中进行Struts框架的配置,同时我们也可以在web.xml中设置跟此工程相关的一些参数。Admin:存放的有关后台
57、管理的JSP页面信息。css:存放有关系统页面展示效果的css文件。exam:存放前台在线考试系统相关的JSP页面信息。js:存放系统用的JavaScript文件。upload:存放在系统中各个功能模块中所上传的文件的信息。数据库系统的设计对于整个系统的优化实现是十分重要的,尤其对于网络考试系统,在出题、提交时都必须考虑系统的响应时间,以最快的速度同数据库链接,并读取符合条件的记录反应到用户的相关界面中9。数据库需求分析根据在线考试系统的需求,设计对应的数据表及功能如下:考生信息表:存放与考生信息相关的信息数据。题库信息表:存放系统所有的题目的根底信息数据。试卷根底信息表:存放系统所生成的试卷
58、的根底信息数据,不包含试卷的详细信息。试卷详细信息表:存放试卷的详细信息数据。考卷根底信息表:存放分配以后考卷的根底信息数据。考卷详细信息表:存放考生的考卷的详细信息数据。一般根底信息表:存放系统中一般的根底信息数据。考生教育程度根底信息表:存放考生教育程度的信息数据。考生部门根底信息表:存放有关考生所在部门的根底信息数据。管理员信息表:存放管理员的相关信息数据。根据以上的分析,确定本系统中的实体有:考生实体:存放考生信息。题目实体:存放题目信息。试卷实体:存放试卷信息。试卷明细实体:存放试卷的明细实体的关系是多对一的关系;考卷实体与考生实体的关系是多对一的关系。考卷实体:存放考卷的信息。它与
59、试卷明细实体的关系是多对一的关系;考卷实体与考生实体的关系是一对一的关系。考卷明细实体:存放考卷的明细信息。考卷明细实体与考卷实体的关系是多对一的关系。对应的ER例如图如图3.4所示。图3.4 E-R例如图数据库逻辑设计根据以上的设计,数据的字段详细设计如下:管理教师信息表(ex_adminteacher):此表中id为关键字,如表3.1所示。表3.1管理教师信息表 ex_adminteacher字段名字段类型限制备注id*int(10)unsigned NOT NULL auto_increment索引namevarchar(20)NOT NULL default 管理员名称password
60、varchar(20)default NULL密码一般根底信息表(表ex_baseinfo):此表中,b_id代表惟一字段,b_type为要维护的根底信息的类别, b_value代表某一条根底信息的值。通过这样的设计,我们可以存储各种各样的根底信息,如表3.2所示。表3.2一般根底信息表 ex_baseinfo字段名字段类型限制备注b_id*varchar(3)NOT NULL default 索引b_typevarchar(3)default 0数据类型b_valuevarchar(200)default NULL数据值b_commentsvarchar(200)default NULL注释
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论