基于J2EE架构的在线考试系统开发 毕业设计(论文)word格式.doc
-
资源ID:4022374
资源大小:662KB
全文页数:35页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于J2EE架构的在线考试系统开发 毕业设计(论文)word格式.doc
大 连 民 族 学 院 本 科 毕 业 设 计(论 文)基于J2EE架构的在线考试系统开发学 院(系): 计算机科学与工程 专 业: 软件工程 学 生 姓 名: 冯靓 学 号: 06082102 指 导 教 师: 苏飞 评 阅 教 师: 完 成 日 期: 2010年6月8日 大连民族学院摘 要随着计算机互联网的不断发展,学生考试的技术手段和载体发生了划时代的变化。计算机技术、网络技术和考试理论的日渐成熟,使考试从传统的纸笔考试到计算机辅助考试再发展到基于互联网的在线考试成为现实。基于互联网技术支持的在线考试系统就是借助遍布全球的因特网,考试既可在本地进行,也可在异地进行,大大拓展了考试的灵活性。而且智能组卷系统,自动阅卷评分和试卷分析将教师从繁重的工作中解脱出来,这大大提高了工作效率,真正的实现了无纸化考试。本系统采用 Struts+JavaBean框架建立了一个比较完善的B/S模式的智能在线考试系统,本系统主要是为了能满足公司各个部门的标准化考试的功能需求,以求使得考试形式更具智能化、更具合理性。在Struts框架中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActionForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。用DAO设计模式封装数据,使得系统结构清晰,数据库操作与业务逻辑各自独立,也利于系统功能的扩展。关键词:在线考试系统;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 and 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 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 the 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 standardized 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 system's internal state and can change the state of operations (business logic). Internal state by a group of normally expressed ActionForm JavaBean. 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 conducive to the expansion of system functions.Key Words:on-line examination system;DAO design;Struts + JavaBean framework目 录摘 要IAbstractII1 绪论11.1选题目的和意义11.2国内外研究动态11.3本文研究的主要内容22 相关技术介绍32.1 J2EE框架32.1.1概述32.1.2 J2EE分布式模型32.1.3 J2EE的特点42.2 MVC模式与应用42.2.1 MVC体系结构42.3基于J2EE的MVC模式的实现52.3.1 Model:系统状态和商业逻辑JavaBeans62.3.2 View:JSP页面和表示组件62.3.3 Controller:ActionServlet和ActionMapping62.4 JSP简介72.5支持JSP的服务器软件72.5.1 Apache Tomcat简介72.6 JDBC接口技术82.6.1 JDBC简介82.6.2 JDBC与数据库的连接82.7考试系统开发环境简介92.7.1系统平台:Windows XP92.7.2 Web服务器平台92.7.3数据库服务器: MySQL92.8本章小结103系统分析与设计113.1可行性分析113.1.1需求分析113.1.2应用分析113.1.3本系统设计目标113.2系统功能描述123.3系统的总体设计133.3.1系统流程分析143.3.2系统配置153.4数据库设计与实现163.4.1数据库需求分析173.4.2数据库逻辑设计183.5本章小节214 系统实现224.1考生管理模块设计与实现224.1.1新增考生模块设计与实现224.1.2考生维护管理模块设计与实现224.2考试管理模块设计与实现234.2.1题库管理模块设计与实现234.2.2试卷管理模块设计与实现244.2.3 启动试卷模块设计与实现254.3考试管理模块设计与实现264.3.1登录模块设计与实现264.3.2考试项目模块设计与实现274.4本章小节27结 论28参 考 文 献29致 谢301 绪论1.1选题目的和意义在我国,考试已存在了几千年。一直以来人们都采用传统的考试方式,传统的考试是以笔试作为主要形式,这种考试方式,组织一次考试至少要经历四个步骤:人工出卷、考生考试、人工阅卷、成绩统计。随着各种考试类型的不断增加和考生数量的不断膨胀,组织考试的工作量会变得越来越大,效率变得越来越低,而且很难避免人为因素对考试造成的影响。因此这种考试方式己越来越不能适应当今社会发展的要求。随着计算互联网的不断发展,使得考试的技术手段和载体发生了划时代的变化。计算机技术、网络技术和考试理论的日渐成熟,使考试从传统的纸笔考试到计算机辅助考试再发展到基于互联网的在线考试成为现实。基于互联网技术支持的在线考试系统就是借助遍布全球的因特网,考试既可在本地进行,也可在异地进行,大大拓展了考试的灵活性。而且智能组卷系统,自动阅卷评分和试卷分析将教师从繁重的工作中解脱出来大大提高了工作效率,真正的实现了无纸化考试。为了适应现代教育的发展要求,本人开发了一种基于Struts框架的在线考试系统,开发这一系统可以大大提高教师工作效率,缩短考试周期,使教师有更多的时间专注于自己的教学工作。而且通过使用该系统可以突破地域和时间的限制,任何人都可以随时随地开始一场考试,检验自己的知识和水平。1.2国内外研究动态随着计算机技术、网络技术、多媒体技术和虚拟现实技术在教育领域中不断应用,Internet向宽带、多媒体方向发展,使得信息量很大的远程教育成为现实。在国外,网络远程教育已经得到突飞猛进的发展。各大学、高职学院都积极开展相关方面的研究和探索。目前网上计算机化考试已经发展为一种产业,创造出很大的利润。在国内,各种网校、在线教育、远程课程教学也随Internet而悄然兴起,出现了很多网上考试。但是从整体上看,部分系统采用C/S结构,这样在易用性和扩展性方面受到限制。部分系统虽然采用了B/S的结构,但是采用ASP技术作为服务器端脚本,来实现与数据库和其他应用互动的Web网页,ASP采用的是解释执行的方式,执行效率不高。有些系统性能低下,同时支持的在线测试数量较少,远远达不到系统运行的规模化效应,有些系统的统计分析功能简单,仅向用户提供总分、各题得分,班级平均分、标准差等经过简单计算的统计数据,而没有对得到的统计数据进行解释和说明,对用户的反馈信息千篇一律。总的说来,目前国内外的网络测试系统方面的建设,无论在理论上还是在系统架构上都还处于起步阶段,还没有统一的标准和规范。1.3本文研究的主要内容本文完成了一种基于J2EE平台的在线考试系统的开发工作,包括系统需求分析、系统框架设计、系统模块的实现和测试、并对系统涉及的主要技术进行了相应的分析。本文研究的主要内容如下:对JDBC、JSP、Struts等J2EE核心技术的运用。对J2EE架构和基于MVC模式的Struts框架的分析与研究。用软件工程和面向对象的思想对系统的需求分析、总体设计进行了详细描述。在该系统中实现了题库管理、试卷管理等主要功能模块。2 相关技术介绍2.1 J2EE框架2.1.1概述传统的互联网应用程序模型是由两层应用(也称为客户/服务器或C/S结构)来实现的。这种模式容易配置,但难于升级或扩展,而且通常基于私有的协议。更重要的是,在Web时代,这种应用通常不能体现出很好的伸缩性,因而很难适应Internet的要求。为了解决两层体系的不足,中间层开始出现在客户端和后端数据库之间,这些中间层提供了把商业功能和数据库相结合的功能;它们把客户端从复杂的业务逻辑中分离出来,利用成熟的互联网技术使用户在管理上所花费的时间最小,逐渐形成了三层结构模型。J2EE技术正是降低了这种中间层服务的成本和复杂程度,因而使得服务可以被快速的开展。2.1.2 J2EE分布式模型J2EE平台使用了一个多层的分布式应用程序模型。应用程序的逻辑根据其实现的不同功能被封装到不同的组件中,组成J2EE应用程序的大量应用程序组件根据其所属的层被安装到不同的机器中。J2EE典型的结构如图2.1所示1。图2.1 J2EE体系结构它包括五个层:表示、应用、服务、域和持续化。这些层在物理上横跨客户机和服务器,而在逻辑上被划分为客户应用容器、Web容器、EJB容器和数据库四部分。2.1.3 J2EE的特点J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。它主要有以下五方面优点:(1) 保留现存的IT资产由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,因此J2EE架构可以充分利用用户原有的投资,保留现有的操作系统和硬件。(2) 高效的开发J2EE允许公司把那些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。(3) 支持异构环境J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定的操作系统、中间件和硬件,因此,设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。(4) 可伸缩性企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可以被部署到各种操作系统上运行,所以现有的操作系统和硬件也能被保留使用。(5) 稳定的可用性因为Internet是全球化的,若是意外停机,会有灾难性后果。所以一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。J2EE可以部署到可靠的操作环境中,支持长期的可用性。这是实时性很强商业系统最理想的选择。2.2 MVC模式与应用模型一视图一控制(Model-View-Control,简称MVC)结构是巨前最常见的J2EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,尤其是存在大量页面及多次客户访问及数据显示2。2.2.1 MVC体系结构M代表模型Model,V代表视图View,C代表控制器Controller。模型一视图一控制结构是交互式应用程序广泛使用的一种体系结构。它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型;同时也使得软件可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。MVC体系结构具有三个层面:模型(Model)、视图(View)和控制(Control),每个层面有其各自的功能作用,MVC体系结构如图2.2所示图2.2 MVC体系结构模型层负责表达和访问商业数据,执行商业逻辑和操作。视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户的输入传送给控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。2.3基于J2EE的MVC模式的实现Struts是一个免费的开源的Web层的应用框架,APache软件致力于Struts的开发。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的Java Web前端应用。Struts的运作机理如图2.3所示。DispatchEventController ServletBusiness Logic ActionHttpRequeststruts-config.xmlForwardUpdateGetView JSPClient BrowerModel Application ActionHttpResponse<Tag>图2.3 Struts工作流程Struts应用有3个部件:一个是使用Servlet实现的中心控制器及负责具体业务逻辑处理的Action;一个是用于显示的JSP页面即(Viewer);另一个是用于封装系统状态的业务逻辑元件(Model)。2.3.1 Model:系统状态和商业逻辑JavaBeans在Struts框架中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组 ActionForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据。2.3.2 View:JSP页面和表示组件基于 Struts的应用程序中的View部分通常使用JSP技术来构建。JSP环境包括了其用途由JSP规范来描述的一套标准的行为标记,还有一个用来定义标记的标准机制,这些自定义的标记组织在“定制标记库”中。2.3.3 Controller:ActionServlet和ActionMappingStruts中,基本的控制器组件是ActionServlet类中的实例Servlet,实际使用的Servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。struts的中心控制器接受所有来自客户端的请求,并根据系统的配置 (struts-config.xml)路由HTTP请求到其它Action对象(开发者实现的org.apache.struts.action.Action的子类)。在这些助Action对象中会完成所有的业务操作。处理完毕,由Struts的ControllerServelt根据配置转向到适当的JSP页面,将处理结果显示给用户。2.4 JSP简介JSP(JavaServerPages)是由 Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。JSP技术在以下儿个方面加速了动态Web页面的开发:(1) 内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容,并且将结果以HTML或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于的Web浏览器的完全可用性。(2) 强调可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3) 采用标识简化页面开发。JavaServerPages技术封装了许多功能,这些功能是与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问实例化JavaBeans组件,设置或者检索组件属性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,处处运行”的特点。2.5支持JSP的服务器软件2.5.1 Apache Tomcat简介Tomcat 5是Servlet和JSP2.O规范的官方参考实现。Tomcat既可以单独作为小型Servlet、JSP测试服务器,也可以集成到 Apache Web服务器。Tomcat和Apache一样可以免费安装。但是,快速、稳定的Apache服务器安装和配置起来比较麻烦,Tomcat也具有同样的缺点。2.6 JDBC接口技术2.6.1 JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的 Java API。它由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯 Java API来编写数据库应用程序。2.6.2 JDBC与数据库的连接简单地说,JDBC可做以下三件事:与数据库建立连接、发送SQL语句、处理结果。编写一个数据库应用程序的基本流程如下:第一步:建立数据源 (Data Source)。数据库可以是Access、MS SQL、MySQL、Oracle或DB2等。第二步:加载驱动程序 (Register Driver)。用语句Class.forName()加载JDBC-ODBC。第三步:建立连接(Connection)。建立连接有如下形式:Connection conn = DriverManager.getConnection(url,username,password);其中,url为连接特定的数据源的路。第四步:建立语句对象。Statement stmt = con.creatStatement();这样就建立了一个用于执行SQL的语句。第五步:如果有必要,添加新数据到数据源。第六步:获取结果集合(ResultSet)。现在就可以从数据库中获取信息了。通过JDBC的stmt.executeQuery()方法,使用SQL SELECT语句,将返回一个包含结果数据行的ResultSet对象。第七步:处理数据。常用的方法包括next()和getXXX(columnIndex)方法。其中,next()方法是游标移动到当前行的下一行;XXX代表类型名,。columnIndex代表列序号,此方法可以定位列。第八步:如果有必要,将处理结果写回数据源。具体包含三种情况:更新、插入和删除。主要使用Statement对象的executeUpdate()方法,并配合SQL语句。第九步:关闭对象。依次关闭ResultSet对象、Statement对象和Connection对象。第十步:处理警告、异常。Java提供了一个非常有用的捕获异常的机制,主要有两个异常类:SQLException和SQLWarning。2.7考试系统开发环境简介2.7.1系统平台:Windows XP选择Win XP作为系统平台,是因为它的应用非常普遍而且系统的稳定性和兼容性都不错,使得考试系统的安装非常简单、快捷,为将来的推广和应用打下良好的基础。2.7.2 Web服务器平台本系统将采用Eclipse和Tomcat相结合的形式作为系统的服务器平台。Tomcat是一个免费的开源的Servlet容器,它是apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。而且Tomcat是基于apache许可证下开发的自由软件。所以可以在Tomcat的官方网站免费下载。选择Tomcat作为本系统的服务器,是因为它有如下技术特点:(1) 部署简单(2) 安全管理(3) 集成方便(4) 可与Eclipse完美组合2.7.3数据库服务器: MySQL由瑞典 T.c.x.DataKonsult AB公司开发的MySQL是一种精巧的、多用户、多线程、跨平台的关系型数据库管理系统,同时也是一种具有客户和服务器体系结构的分布式数据库管理系统。由于它功能强大、灵活易用、快速稳定,而且具有丰富的应用程序接口,所以在企业中的应用极为广泛。MySQL精巧的体系结构是由SQL数据库服务器、访问该服务器的客户机程序和编程接口三部分组成:(1) SQL数据库服务器。 (2) 客户机程序。(3) 编程接口。概括来说,MySQL具有以下特点:完全多线程,适于多CPU使用。多平台。非常灵活和安全的权限系统。可处理大型数据表(超过5000万个记录),表的大小限于操作系统的文件大小:Linux为ZG字节, Solaris2.5.1为4G字节。为Windows XP提供JDBC接口,可通过Java与之相连。在考试系统中采用MySQL作为服务器是从需求、成本的角度来考虑的。在实际应用中,考试系统是一个针对并发访问人数不会超过几百人的内部系统,如果使用Oracle和DB2之类的数据库会造成大量的系统资源闲置,即使是 MS SQL Server:也会浪费许多系统资源,使用MySQL可以完全满足系统的要求。2.8本章小结 目前,开发一种在线考试系统的技术有很多,系统中所用到的技术是否合理,对所开发系统的相关性能有重要的影响,因此在开发系统过程中,对技术的选择是非常重要的,本章主要是对系统所采用的相关技术进了概述,首先对J2EE框架进行了介绍,并且对J2EE框架的分布模型中的表示层、应用层、服务层、域层和持续化层进行概述,而且对J2EE的特点进行了描述。在文章中对MVC模式的体系结构及其实现形式(Struts)的运作机理进行了介绍。在本章中还对JSP的特点以及支持JSP的服务器软件进了介绍。由于本系统使用了JDBC技术进行数据库连接,因此,本章对JDBC的使用原理及与数据库连接的基本流程进行了描述。在本章最后对本系统的开发环境进行了介绍,内容包括本系统对系统平台、Web服务器平台和数据库服务器的选择。3系统分析与设计3.1可行性分析目前在社会的各行各业流行着各种各样的考试系统和试题库,但经调查发现,成熟、通用、可靠、方便的题库管理与在线考试系统不是很多,尽管利用局域网或校园网资源编制的网络通用题库管理与考试系统也不在少数,但是大多都缺乏对考试的系统分析与评价,并且存在适应性不强,资源重复建设等诸多问题,因此,研究和开发一种成熟、稳定、可靠的在线考试系统具有挑战性、实用性和现实意义3。3.1.1需求分析随着各级各类学校招生规模的不断扩大,教师资源的短缺己成为一个普遍而严重的问题。教师的缺乏使得他们的劳动强度直线上升。为了减轻广大教师的劳动强度、工作负担,提高工作效率和教学质量,培养更多对社会有用的人才,各级各类学校都急需能自动出题、考试和改卷的题库管理与在线考试系统,以满足教考分离和平时随意的学生测验、模拟训练等工作;从而使考试更趋于公证、客观,更加激发学生的学习兴趣4。3.1.2应用分析随着Windows操作系统的普及,使得计算机操作和软件的应用变得越来越方便,操作更加简单化。在题库管理与在线考试系统中,多个应用软件的混合调用可使题库管理与在线考试的操作实现更加方便、高效。3.1.3本系统设计目标该考试系统设计的主要目的是在局域网上对公司各部门员工进行在线考试和管理,所以要实现以下几个目标:稳定性:基于考试这项业务的特殊性,考试系统需要非常稳定,要谨慎的选择技术成熟的系统平台。实用性:考试系统可以在局域网或Internet网中使用,也可以单机使用。完整性:考试系统要实现试题的编辑录入、试卷的自动生成、网络在线考试、网络在线评阅卷和成绩查阅等功能。易用性:对使用考试系统来进行题库管理和在线考试系统的考生,不管其熟悉不熟悉计算机的操作,都能在短时间内方便、快捷的使用该系统,以及按要求进行上在线考试。设计时尽量使用目前较为通用的操作方法。 高效率:客观题采用计算机自动阅卷方式,使教师可以在很短的时间内完成试卷的批阅工作5。3.2系统功能描述本考试系统主要包括的内容有:“在线考试子系统”、“在线考试后台管理子系统”两个大模块。在“在线考试子系统”中,考生可以进行登录、参加考试、查询成绩、修改个人信息等操作;而“在线考试后台管理子系统”则是提供给系统的管理员进行操作的,在这里,管理员可以进行考生信息管理、题库管理、试卷管理、考务管理、历史数据分析等操作。在线考试系统的用例图,如图3.1所示。图3.1在线考试系统用例图根据考试的需求,本系统需要完成的功能模块包括:参加考试:在考生登录系统后,可以查询到需要参加的考试项目,选择参加考试后即进入考试中。考试的题目按格式列出,并且提示考试的时间。完成答卷后,考生可以提交答卷,如果考试时间到,试卷会自动进行提交。考生成绩查询:考生登录后,可以查询以往考试的信息。通过这个功能,考生可以查询考试的成绩及考试试题的标准答案。考生信息管理:考生登录后,可以对自身的相关信息进行修改,主要是一些联络方式方面的信息,其他的信息由管理教师进行控制。此外,考生可以对登录的密码进行修改,如果遗忘了密码,可以向管理教师申请恢复原始密码。管理教师信息管理:管理教师登录后,可以对考生的信息进行维护,包括添加考生信息、修改、考生信息、查询考生考试的历史成绩、恢复考生原始密码。题库管理:管理教师登录后对题库进行维护,可以进行题目的查询、添加,修改和删除操作。试卷管理:从题库中抽取题目,形成试卷。试卷形成后,在未进行开考操作以前可以进行修改操作。考卷的分发:对已生成的试卷对考生进行分配,确定哪些考生进行考试。确定考生之后执行开考操作,此时相关的考生就可以进行登录参加考试了。考务管理:对在线考试的考生的考试进行监控,从监控台上可以看到当前考生的状态,以达到监考的目的。考卷评分:对考试完毕的考生的考卷进行评分操作。客观题在考卷提交时,己经由系统给出分数,这里主要是进行主观题目的评分。考试分析:对结束的考试进行统计分析。列出参加此次考试的考生的考试详细信息,并统计出各个分数段的人数。提供给系统的管理者作决策支持6。3.3系统的总体设计由上面的需求分析,我们可以设计出本系统的总体结构包括两个子系统:在线考试系统前台、在线考试系统后台管理系统。在线考试系统的总体结构图如图3.2所示。 图3.2在线考试系统总体结构图由图3.2看出,在线考试系统前台有6个模块:考生登录:负责对考生登录的信息进行验证逻辑处理。考生注销:对已经登录的考生进行注销处理,在这个过程中要清除系统运行中所保存的考生登录信息。参加考试:列出考生的待考试的考试项目列表,考生选择某个考试项目后即可参加考试。考试成绩查询:登录的考生可以对己经结束的考试进行成绩的查询,并且可以查询到考卷的标准答案和自己的答案,考生可以通过比对找出自己的问题所在。考生密码修改:考生可以在登录后进行密码修改;密码修改时要输入原来的密码进行验证,并且输入两次新密码进行核对,方可进行密码的修改操作。考生信息修改:考生可以修改一些和自身的联系方式相关的信息,包括电子邮件、联系地址、电话等信息。在线考试系统后台管理系统主要有4个模块:考生管理:在这个模块中,可以进行考生信息的添加,并可进行修改和删除的维护操作。在考生管理中,管理教师还可以查询到考生考试的历史记录。题库管理:管理教师可以进行题目的添加,包括:单选题、多选题、填空题、简答题等。添加完毕之后,可以对题目进行查询、修改和删除的维护操作。试卷管理:对题库中的题目进行选择,形成试卷。试卷生成了以后,可以对试卷的内容进行修改。考务管理:在这里涉及的是和考试相关的主要模块。管理教师生对生成的试卷进行分配,选择需要进行考试的人员并且将试卷分发。分发试卷之后,考生即可参加考试。在考试过程中,管理员可以通过考试监控台对考生参加考试的信息进行监控。考试结束之后,管理教师通过考卷评分功能对考卷进行评分操作,给出考卷中的主观题目的分数7。3.3.1系统流程分析通过以上的设计分析看出,在本系统中涉及过程的概念,也就是本系统中的一些操作是有先后顺序的。这里我们分析本系统中所涉及的两大流程:一是开放式的流程;二是封闭式的流程。所谓开放式流程是说一组过程中没有开始和结束的标志,这组过程的先后次序可以是灵活的,只是在进行某种操作时会受到一些约束,而这些约束可以通过其中的一个或者几个操作就可以解除。所谓封闭式的流程则是指这个过程有一个开端一个结束,比如本系统的考试过程。这个过程中的次序有先后,从开始到结束的过程是按照一定的顺序来进行的。下面我们先来看看系统中的开放式流程。添加考生:这个过程不受其他条件的约束。添加题目:这个过程同样不受到其他的条件的约束。添加试卷:在这个过程中,受到添加题目的约束。只有有了题目以后,才能够进行试卷的生成操作。一旦题库建立以后,这种约束也会解除。分配考卷:在这个过程中,受到添加考生操作的约束。只有添加了要选的考生以后,才能够进行分配考卷的分配工作。一旦考生都添加完毕,这种约束也会解除8。系统中的封闭式流程就是考试过程,图3.3给出了考试过程的活动图。图3.3 考试过程活动图3.3.2系统配置上面已经对整个系统的总体框架和需求作了分析,已经能够从总体上把握在线考试系统的需求和设计,下面我们来具体分析和设计系统开发的配置。我们使用的开发工具是MyEclipse,在MyEclipe里新建一个exam的web项目。B/S系统的目录结构有一定的规律性,我们遵循规范,并按照需求分析建立各个模块的目录结构。在该目录结构中,exam代表本系统的根目录,它包含2个子目录:src文件夹用于存放系统的类的源文件;WebRoot文件夹则是系统的主要开发目录。下面分别介绍各个目录。(1) src目录里有两个包。org.mmxbb.exam,在此包中有bean、bussiness.baseinfo、business.examinee、business.paper、business.program、business.question、dao、util等包。下面具体介绍一下各个包的含义。bean:存放系统中所要用到的实体的JavaBean文件。business:存放系统中公共模块用到的ActionFrom、Action类文件。business.baseinfo:存放有关系统中有关基础信息的ActionFrom、Action类文件。Business.exam、business.examinee:存放系统模块中有关考生信息的ActionForm、Action类文件。business.paper:存放与试卷信息有关的ActionForm、Action类文件。business.program:存放与考试相关的ActionForm、Action类文件。business.question:存放与题库管理信息相关的ActionFrom、Actio