基于Struts2的在线考试系统的设计与开发(含源文件)_第1页
基于Struts2的在线考试系统的设计与开发(含源文件)_第2页
基于Struts2的在线考试系统的设计与开发(含源文件)_第3页
基于Struts2的在线考试系统的设计与开发(含源文件)_第4页
基于Struts2的在线考试系统的设计与开发(含源文件)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题目:基于Struts2的在线考试系统的设计与开发 目录第一章 绪论11.1在线考试系统的研究背景11.1.1在线考试系统研发背景11.1.2国内外在线考试系统研究背景11.2在线考试系统内容和意义21.2.1在线考试系统的内容21.2.2在线考试系统的意义21.3论文组织结构2第二章 Struts2和Hibernate相关技术的介绍32.1 J2EE技术32.1.1 J2EE分层模型结构42.2 MVC模式52.3 Struts2+Spring+Hibernate(SSH2)框架技术72.3.1 Struts282.3.2 Spring92.3.3 Hibernate11第三章 在线考试系统的需求分析与总体设计123.1在线考试系统需求分析123.1.1功能分析123.1.2系统流程分析143.2系统架构选择173.2.1数据库设计173.2.2技术实现方案.19第四章 系统关键模块的设计与实现304.1系统开发环境304.2 SSH2在系统中的运用304.2.1 SSH2架构的工作流程304.3系统关键模块的实现324.3.1试卷与试题之间的关系和存储324.3.2试卷的展示334.3.3考试监控334.3.4考试计时和显示剩余时间334.3.5安全问题334.4公共模块344.4.1字符串处理类344.4.2过滤器类344.5登陆模块354.5.1考生登录系统设计354.5.2考生个人信息维护设计364.5.3考生管理模块374.5.4增加考生设计374.5.5维护考生信息设计394.6试卷管理模块404.6.1题库管理设计404.6.2试卷管理设计424.6.3开启试卷设计454.7考试管理模块474.7.1考试项目管理设计474.7.2考生查询成绩设计494.8考务管理模块504.8.1在线监考管理设计504.8.2考卷评分设计514.8.3考试分析管理设计52第五章 总结与展望545.1论文工作总结545.2展望56参考文献57致 谢59 基于Sturts2的在线考试系统的设计与开发 基于Struts2的在线考试系统的设计与开发摘 要随着当今科学技术的不断发展,考试的手段跟媒介都发生了革命性的改变。能通过网络进行的在线考试,并客观、准确地评估人的知识和水平的,实现教考分离,在一定程度上减少影响考试的人为主观因素,同时也减少教师工作量的在线考试系统得到了当今远程教育研究者的关注。本文在分析在线考试系统的现状的基础上,结合软件工程中的方法,对系统进行了详细的分析,运用Struts2-Hibernate集成架构的相关技术,论述了该在线考试系统的总体结构以及系统模块的实现过程。本系统采用模块化设计,将在线考试系统分为五大功能模块,分别为登陆模块、考生管理模块、管理员管理模块和考卷管理模块以及考试管理模块。在进行系统分析与总体设计时,首先对系统进行需求分析、系统功能模块结构划分及系统流程分析,其次进行数据库设计,最后采用Struts2技术模式,进行系统架构设计。关键字: Struts2; Hibernate; MVC ;JSP ; 在线考试Design and implementation of Online Examination System Based on Sturuts2Abstract With the continuous development of science and technology, the means of examination and media are also a revolution change. Online Examination can use by the network , objectively and accurately assess the level of peoples knowledge and achieve separation of teaching and testing . To a certain extent, reduce the influence of subjective factors exam , but also reduce the workload of teachers that online examination system has been get attention by the education researchers.This article analyzes the current situation of online examination system based on the combination of software engineering methods , the system is analyzed in detail , using Struts2-Hibernate Integrated Architecture technologies , discusses the overall structure and system modules of the Online Examination System implementation process. The system is modular in design, online examination system is divided into five functional modules , namely landing module , candidate management module, the administrator management module and exam management module and exam management module. When conducting system analysis and overall design , the system first needs analysis , system functions and system structure is divided flow analysis , followed by the database design, the final model using Struts2 technology , system architecture design . KEY WORDS :Struts2; Hibernate; MVC ;JSP ;Online Examintion第一章 绪论1.1在线考试系统的研究背景1.1.1在线考试系统研发背景 现今,社会对各阶层要求的知识水平和能力水平越来越高,为了让教育培训内容和形式更加得让人想学习、接受更好的培训,方式非常多,其中最具吸引力的手段是考试。考试是作为衡量人们各种能力的重要手段。各种各样的学历考试、资格证书考试、培训考试数不胜数,不管是国内还是国外的各大教育部门和各大厂商,都不断推出一系列的考试、认证,如微软的MCSE、Cisco的CCNA以及国内的自考、成考和各种资格证书考试等。同时,由于科学技术的高速发展,社会进入网络时代,计算机网络已经成为社会发展的强大动力。网络不仅给我们带来的是无穷的信息,也带来了更多便利。Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性和基于internet的巨大的计算能力使得考试突破了时间和空间的限制。与传统考试模式相比,在线考试具有很多优越性,它可以将传统考试过程中的试卷组织、传送、收集、登记、评判等各环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试的客观性和公正性。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高等教育信息化建设。1.1.2国内外在线考试系统研究背景在线开始系统的实现技术主要有二种:C/S模式、B/S模式。传统的C/S模式,需要试题内容放在远程的副武器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,维护、升级麻烦,考务工作繁琐;而且考试程序放在客户机上,安全性受到一定影响。传统的C/S模式的软件系统还需要针对不同的操作系统考法不同版本的软件,这种代价高和低效率的技术已不适合工作需要。 而采用另一种客户端零安装、零维护零安装、零维护的B/S模式实现的考试系统。Web技术超越了传统的C/S两层结构,采用三层体系结构:用户界面层/业务逻辑层/数据库层。因此,B/S结构具有更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层的计算机上,试题存放在数据库服务器上。即使中途换机考试等意外情况下都可以继续考试,使得网络化考试比传统的纸质考试和单机化考试有着无法比拟的效率和公平上的优越性,是现代在线考试的发展方向。1.2在线考试系统内容和意义1.2.1在线考试系统的内容 本文在调研了在线考试系统在国内外的研究现状,研究了基于Struts2架构的采用J2EE技术、MVC模式等技术的在线考试系统的设计与开发的方法和技术手段。采用目前主流的B/S结构,以J2EE多层架构为基础,设计了广东白云学院在线考试系统。该系统采用模块化设计方法,将在线考试系统分为登陆模块、考生管理模块、考生管理模块和试卷管理模块以及考务管理模块五大块。其中,登陆模块包括考生登陆系统、考生个人信息维护模块、管理员登陆系统;考生管理模块包括考生个人信息维护模块、参加考试、考生查询成绩;考生管理模块包括增加考生、维护考生信息;试卷管理模块包括题库管理、考卷管理、开启试卷;考务模块包括在线监考、考卷评分、考试分析管理。1.2.2在线考试系统的意义随着标准化随着标准化考试的日益普及,在各种考试中越来越多地采用了计算机考试的方式。相对于传统卷面考试而言,传统的卷面考试从出题印刷到下发试卷等环节需要较长的时间,接触的人员相对较多,因而在便利性和在保密方面具有一定的困难。在线考试系统的客户端配置只需要操作系统自带的浏览器,考试可以不受地域与时间的限制,考生可随时随地进行业结考试。且计算机考试系统采用试题库方式提供试题来源,考前无任何成套试卷,考试时考卷由计算机现场随机生成,各考生试卷不完全相同,从而避免了互相参看等作弊现象或不公平成绩的出现。同时也可考后即可获得成绩,省去了人力评卷的麻烦和弊端。1.3论文组织结构本文的组织结构具体如下:第一章简述了在线考试系统研究背景,分析了在线考试系统国内外的研究现况以及论文的内容和意义。第二章是介绍在线考试相关技术。对J2EE技术和MVC模式以及Struts2,Spring,Hibernate三层框架技术进行详细的介绍。第三章是对在线考试系统进行整体分析与设计。第四章详细阐述了系统的设计思想以及各个模块的实现过程。第五章是对本文的工作进行总结和一些展望。第二章 Struts2和Hibernate相关技术的介绍2.1 J2EE技术J2EE (Java 2平台企业版,Java 2 Platform, Enterprise Edition)包含许多组件,主要用来简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值的技术架构。J2EE核心是一组技术规范与指南,J2EE巩固了标准版中的许多优点,方便存取数据库的JDBC API, CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB ( Enterprise JavaBeans ), Java Servlets API;JSP ( Java ServerPages)以及XML技术的全面支持。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产,能被高效的开发,支持异构环境,具备可伸缩性和稳定的可用性。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EJB,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能1。2.1.1 J2EE分层模型结构J2EEJ2EE使用多层的分布式应用模型,一般可分为客户层、Web层、业务层及企业信息系统层(Enterprise Information System,简称EIS),Web层和业务层又可统称为中间层,如图2-1所示。应用程序客户端动态HTML页面JSP页面Enterprise BeansEnterprise Beans数据库数据库J2EE应用程序1J2EE应用程序2客户层Web层业务层EIS层客户端机器J2EE服务器数据库服务器图2-1 J2EE四层模型结构 J2EE四层结构具体描述如下:1、客户层应用客户端程序和Applets是客户层组件,J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的。 2、Web层J2EE Web层组件可以是JSP页面或Servlets。Web层可能包含某些JavaBean对象来处理用户输入,并把输入发送给运行在业务层上的Enterprise Bean来进行处理。3、业务层Enterprise Bean从客户端程序接收数据,进行处理,并发送到企业信息系统层存储,这个过程是可逆的。运行在业务层的EJB依赖于容器提供如事务、生命期、状态管理等复杂的系统级功能。4、企业信息系统层(EIS)企业信息系统层处理企业信息系统软件,包括企业基础建设系统。例如企业资源计划 (ERP),大型机事务处理,数据库系统,和其它的遗留信息系统。它是J2EE2体系架构与J2EE外部资源的连接,给J2EE应用程序的开发者提供了灵活性。2.2 MVC模式 MVC(Model-View-Controller,模型一视图一控制器)是一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑,MVC架构最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,并因为其优秀的特性,得到了业界的广泛接受2。在MVC模式中,应用程序被强制分成三个核心部件:模型(Model) ,视图(View)、控制器(Controller) ,它们各自处理自己的任务。其体系结构见图2-2所示:模型(Beans)据息示显事件转发浏览器视图(JSP)信数属性控制器(Servlet)请求请求图2-2 MVC设计模式结构图1、视图视图代表用户交互界面,对于旧式的Web应用来说,可以概括为HTML界面;新的技术出现后,则包括XHTML、XML/XSL和WML等。随着应用的复杂性和规模性,界面的处理也变得具有丰富性和挑战性。一个应用可能有很多不同的视图,但MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,它只是作为一种输出数据并允许用户操纵的方式,并不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。2、模型MVC系统中的模型从概念上可以分为两类系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持,以及业务逻辑的重用。3、控制器控制器封装的是外界作用于模型的操作。一般控制器接受用户的输入并调用模型和视图去完成用户的需求,在模型和视图之间起到了沟通的作用,处理用户在视图上的输入,并转发给模型处理。在MVC的处理过程中,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户2。MVC中的三个部件相互独立,构造良好的松藕合构件。MVC模式可以使多个视图同时共享一个模型,逻辑结果还可以根据用户的不同需要以多种形式呈现出来。三者既分工又合作地完成用户提交的每项任务。2.3 Struts2+Spring+Hibernate(SSH2)框架技术Struts2+Spring+Hibemate框架结构是能设计一个高层次,高质量的软件,构建一个低耦合,高内聚的系统的技术。使用Struts2应用MVC模型,使页面显示与业务逻辑分离,达到页面显示与业务逻辑低耦合效果。当网页上显示内容需要改变时,只需要修改页面,不影响其中的业务逻辑。同样,业务逻辑需要改变时,只需要修改Java程序,而不用修改页面。使用Spring运用IOC(Inversion of Control,反向控制),减少业务逻辑的相互依赖关系。使用Hibernate则是使我们的业务逻辑与数据持久化分离,也就是与将数据存储到数据库的操作分离。我们在业务逻辑中只需要将数据放到值对象中,然后交给Hibernate,或者从Hibernate那里得到值对象。Struts2+Spring+Hibernate框架层次结构如图2-3:Dao类提交表示层业务层Structs2-MVCStructs2 ActionActionFormJSPStructs2-config.xml等SpringHibernateTransectionsHibernate SecsionManagementBusinessServiceClassesDataSource/ConnectionPoolQuery language等持久层 域模块业务对象浏览器数据库图2-3 Struts2+Spring+Hibernate框架层次结构框架层次结构层次分为表现层、持久层、业务层、域对象层四个层。每个框架分别负责一个层次的实现,表现层使用Struts2,业务层使用Spring,持久层使用Hibernate。这些框架层次在以一种松散祸合的方式彼此作用而不用管低层的技术细节。2.3.1 Struts2Struts2是Struts的下一代产品,是在Struts和WebWork的技术基础上进行了合并的全新的Struts2框架。采取拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开。Struts2是对MVC构架的具体实现。它可以将模块化的应用程序清楚地分成逻辑、表示和数据4。图2-4为Struts2的MVC三层结构:浏 览 器Web服务器Structs2Config.xml控制器ActionServlet视图JSPActionActionAction模型JavaBeanEJB图2-4 Struts2 MVC体系结构视图层:是一组JSP文件,Struts2自身包含了一组可扩展的自定义标签库,可以简化创建用户界面的过程。这些JSP文件中没有业务逻辑,也没有信息模型。 控制层:控制器就是Java Servlet,由Struts框架提供,负责视图和模型之间的交互。控制器的每个入口点都由名为struts2-config.xml的配置文件设置。模型层:模型主要是表示一个系统的状态和业务逻辑。在Struts2中,系统的状态主要由ActiomForm Bean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。Struts2是一种基于Java的JSP Web框架技术,Web应用程序开发人员可通过它充分利用面向对象设计、代码重用。Struts2提供了一种创建具有良好可管理性的Web应用框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。Struts2的优点主要集中体现在如下:(1) Struts2将业务数据、页面显示、动作处理进行分离,有利于各部分的维护。(2) Taglib是Struts2的标记库,其灵活运用能大大提高开发效率。(3) Struts2的Valicator可以帮助完成验证工作,避免重复编写验证代码工作,减少了开发工作量,实现验证代码集中管理,方便维护。(4)页面转发可以使系统的脉络更加清晰,可以在很大程度上提高系统的维护性。(5)通过Struts2提供的ActionForm封装web form中的元素。(6) Struts2采用Front Controller模式来实现动作处理,该方式方便人们在入口中加入一些全局控制代码的实现,如安全控制、日志管理等。下面是Struts2在框架结构中所负责的工作:(1)为用户管理请求和响应。(2)提供一个控制器代理调用业务逻辑和其它上层处理。(3)为显示提供一个模型。(4)执行用户接口验证。2.3.2 SpringSpring是框架的业务层,这个框架是一个分层架构,能实现反转控制和面向方面编程,由7个定义良好的模块组成5。如图2-5所示Spring体系结构:Spring AOPSpring ORMSpring DAOSpring WebSpring ContextSpring Web MVC Spring Core图2-5 Spring体系结构Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,其主要优势有如下几点:(1) 在Spring中,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。(2) 在Spring里,可以随手随时用非容器依赖的编程方式进行所有的测试工作。(3) Spring能很好组织中间对象。(4) Spring构建的应用程序易于单元测试。(5) Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts2,Hibernate、Hessian、Quartz)等的直接支持。(6) Spring能够实现针对接口编程。(7) Spring使EJB成为一个实现选择,而不是必需的选择。你可以用POJO或当地EJB来实现业务接口,却不会影响到调用代码。(8) Spring能使用AOP提供声明性事务管理,不直接操作JTA也能够对事务进行管理。(9) Spring为数据存取提供了一致的框架,不论是使用JDBC还是O/R mapping的产品。(10) MVC Web框架,提供一种清晰,无侵略性MVC实现方式。Spring业务层在框架中主要负责事项:预留与其他层交互界面,管理业务层对象之间的依赖,增加在表现层和持久层的灵活性,使他们互不通讯,管理上下文从表示层到业务层应用程序的业务逻辑和业务验证,实现从业务逻辑到持久层的管理。2.3.3 Hibernate Hibernate 是一个对象/关系映射框架,它较轻量级的对象封装了 JDBC,通过开放其源代码使得 Java 程序员非常容易运用对象编程的思维对数据库进行操作6。无论是 Java 的客户端程序,还是 Servlet/JSP 的 Web 应用程序,只要是使用了 JDBC 的场Hibernate 框架都可以正常使用。不仅如此,Hibernate 还能够在应用了 EJB 的 J2EE 架构中取代 CMP 去达到数据持久化的目的,这才是最具有革命意义的。Hibernate框架的体系结构图如图2-6所示:ApplicationHibernatePropertiesXML MappingPersistentObjectsDataBase图2-6 Hibernate体系结构Hibernate框架的优势有下面几点:(1) Hibernate可扩展性强。(2) Hibernate适用于独立的Java程序,以及Java Web的应用,而且在J2EE架构中可以取代CMP,完成持久化任务。并且能集成到会话EJB和基于BMP的实体EJB中。(3) Hibernate可以和多种WEB服务器,应用服务器良好集成,并且支持所有的数据库服务器。(4) Hibernate有详细的参考文档,使用方便,容易上手。以下是Hibernate在持久层框架中负责的工作:查询相关的信息并成为对象,Hibernate是透过HQL面向对象查询语言,或使用条件表达式API来完成的。以及保存,更新,删除存储在数据库中的信息。第三章 在线考试系统的需求分析与总体设计3.1在线考试系统需求分析需求分析作为软件开发最为关键的第一阶段,关系到软件开发是否合理、可行。用户需求,在软件工程的建设中,指的是软件系统必须满足的功能。并通过全面性的综合研究,采用用例图方式对问题域建立分析模型,然后抽象出功能模块,准确理解系统功能需求以及对系统功能模块进行划分。3.1.1功能分析在线考试系统包括在线考试系统前台和在线考试后台管理两个部分。在线考试系统前台部分,考生可以进行测试、查询成绩、修改个人密码、修改个人信息等操作;在线考试系统后台部分,则是提供给教师进行操作的,管理员可以进行题库管理、考生信息管理、试卷管理、历史数据分析等操作。本系统需要完成的功能包括:(1)参加考试:在学员登录系统后,可查询到需要参加的考试项目,选择参加考试后即进入考试。考试的题目按格式列出,并且提示考试时间。完成答卷后,学员可以提交答卷,如果考试时间到,系统自动进行提交。(2)考生成绩查询:考生登录后,可以查询以往考试的信息。通过这个功能。考生可以查询考试的成绩以及考试试题的标准答案。(3)考试信息管理:考生登录后,可以对自身的易变化的相关信息进行修改,主要是一些联络方式方面的信息,基本的信息由管理员进行控制的。此外,考生可以对登录的密码进行修改,如果遗忘了密码,可以向管理员申请恢复原始密码。(4)学员信息管理:管理员登录后,可以对学员的信息进行维护:添加学员信息、修改学员信息、查询学员考试的历史成绩、恢复学员原始密码。(5)题库管理:管理员登录后对题库进行维护,可以进行题目的添加修改和删除操作,题型分单选题、多选题、填空题及简答题。(6)试卷管理:从题库中抽取题目,形成试卷。试卷形成后,在未进行开考操作以前,可以进行修改操作。(7)考卷的分发:通过条件选取对己经生成的试卷进行人员的分配。确定人员之后执行开考操作,此时相关的学员就可以进行登录参加考试了。(8)考务管理:对在线考试的学员的考试进行监控,从监控台可以看到当前考生的状态,己达到监考的目的。(9)考卷评分:对考试完毕的考生的考卷进行评分操作。客观题在考卷提交时,己经由系统给出分数,这里主要是进行主观题目的评分。(10)考试分析:对结束的考试进行统计分析。列出参加此次考试的考生的考试详细信息,并统计出各个分数的人员,提供给系统的管理者作决策支持。在线考试系统前台考生登陆系统考生修改密码考生修改信息参加考试项目考生结果查询考生退出系统考试试卷列表考生参加考试考试查询成绩查询标准答案图3-1该在线考试系统前台功能在线考试系统后台管理员登陆系统考生管理题库管理考卷管理考务管理辅助管理浏览考卷增加考卷在线监考考卷评分增加考生考生列表考试记录浏览题目增加题目启动考试考卷评分修改考生删除考生修改题目删除题目修改考卷删除考卷分发考卷开始考试图3-1该在线考试系统前台功能3.1.2系统流程分析 通过以上的分析得出,系统中的流程,部分受其它条件约束,部分不受其它条件约束,具体分析如下:(l)添加学员:这个过程不受其它条件的约束。(2)添加题目:这个过程不受到其它的条件约束。(3)添加试卷:在这个过程中,受到添加题目的约束。只有有了题目以后,才能进行试卷的生成操作。一旦题库建立以后,这种约束也会解除。(4)分配考卷:这个过程受到添加学员操作的约束。只有添加了要选的学员,才能进行考卷的分配工作。一旦学员都添加完毕,这种约束也会解除。由图3-3该在线考试系统考生操作流程图(前台操作)、图3-4该在线考试系统教师操作流程图(后台操作),可以看出,考生登录系统之后参加答题,答题完毕之后提交试卷,管理员这时就可以看到考生提交的试卷,并进行评分给出成绩。这个过程的前提就是管理员生成试卷以后进行了考卷的分配工作,并且分配完毕执行开考工作。考生登陆系统考生登陆在线考试系统前台主页修改密码考生修改密码考生修改信息修改信息点击参加考试连接考试试卷列表提交试卷考试结束考试结果查询考生查询成绩查询试卷标准答案查询标准答案退出系统退出系统图3-3 该在线考试系统考生操作流程图管理员登陆系统登陆在线考试系统后台主页5个主页菜单考生管理题库管理试卷管理考务管理退出系统点击点击点击点击出现2个菜单出现5个菜单出现2个菜单出现2个菜单增加考生考生列表新增单选题新增多选题新增填空题新增简答题浏览题目浏览试卷增加试卷考卷管理考卷评分点击点击点击点击出现4个菜单出现4个菜单分发试卷考试分析点击分配考生点击考试考试点击在线监考恢复初始密码修改考生信息历次考试记录删除考生信息修改题目删除题目修改考试删除考试图3-4该在线考试系统教师操作流程图3.2系统架构选择 考虑到各种用户的系统配置的不同、庞大的客户端维护量以及C/S系统的局限性,因此本在线考试系统决定采用当前互联网领域非常流行的B/S ( Browber/Server,浏览器/服务器)结构,运用Web页面作为本地与远程信息的连接渠道。 在现阶段,主要用于建设B / S结构系统的两套技术是:微软的.NET和SUN公司的J2EE技术。考虑到广泛使用的J2EE架构,案例经验丰富,是更加成熟和跨平台的总体架构,系统可靠性高,易于扩展,因此系统决定采用J2EE的整体架构7。 目前很多基于J2EE体系结构的成熟框架,运用框架技术可以提高软件开发的可重用性和系统的可扩展性,因此该系统采用了Struts2,Spring和Hibernate三层框架技术,设计采用了一个典型的三层B / S结构,如图3-5所示:浏览器Web服务器数据库服务器图3-5 系统架构图1、用户通过浏览器与Web系统交互;2、Web服务器采用基于Struts2,Spring和Hibernate框架结构处理业务逻辑;3、数据库服务器采用SQL Server 2000。3.2.1数据库设计1数据库需求说明Microsoft SQL Server2000是由Microsoft公司开发的,简称SQLServer,由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。Microsoft SQL Server2000具有如下特性:(1)其数据库引擎提供完整的XML支持,一个数据库引擎可以在不同的平台上使用,其关系数据库引擎支持当今苛刻的数据处理环境所需的功能。(2)一系列管理和开发工具,是其系统容易安装、部署、管理和使用。(3)有析取和分析汇总数据以进行联机分析处理(OLAP)的工具。因此,该在线考试系统数据库服务器采用Microsoft SQL Server2000。根据在线考试系统的需求,设计对应的数据表。1 学员信息表:存放与学员信息相关的信息数据。2 题库信息表:存放系统所有的题目的基础信息数据。3 试卷基础信息表:存放系统所生存的试卷的基础信息数据,不包含试卷的详细信信息。4 试卷详细信息表:存放试卷的详细信息数据。5 考卷基础信息表:存放分配以后考卷的基础信息数据。6 考卷详细信息表:存放考生的考卷的详细信息数据。7 一般基础信息表:存放系统中一般的基础信息数据。8 学历教育基础信息表:存放有关学员学历的基础信息数据。9 机构基础信息表:存放有关学员所属机构的基础信息数据。10 职务基础信息表:存放有关学员职务的基础信息数据,11 管理员信息表:存放管理员的相关信息数据。2数据库逻辑设计根据以上设计,数据表的字段详细信息如下:(1)学员信息表(line_cadet):此表共设有15个字段,cadet_id为主键;sex。ageney_id,duty_id,condition,businesee,diploma_id字段与基础信息表进行关联,如表3-6学员信息表所示。 表3-6 学员信息表表名类型长度主键可空描述cadet_idchar8是不允许学员标识passwordvarchar10否允许密码Namevarchar20否允许姓名Sexvarchar3否允许性别AgeInteger否允许年龄agency_idInteger否允许机构标识duty_idInteger否允许职务标识Conditionvarchar3否允许状态Businessvarchar3否允许业务标识diploma_idInteger否允许学历标识Habitatvarchar80否允许地址Telvarchar40否允许电话Handsetvarchar40否允许手机号码Emailvarchar40否允许电子邮件Describevarchar200否允许备注(2)管理员信息表(line_admin):此表中id为关键字,name为管理员用户名,password为密码字段,如表3-7管理员信息表所示。3-7管理员信息表字段名类型长度主键可空描述IdInteger是不允许标识Namevarchar20否不允许管理员姓名Passwordvarchar20否允许管理员姓名(3)题库信息表(line_theme):此表共有10个字段,t_id为主键;t_sort 、t_lore、t_style、t_difficulty 字段与一般基础信息表line_baseinfo关联,如表3-8题库信息表所示。3-8题库信息表字段名类型长度主键可空描述T_idInteger是不允许题目标识T_sortvarchar3否允许题库类别标识T_lorevarchar3否允许知识点标识T_scorefloat否允许分值T_stylevarchar3否允许题型标识T_difficultyvarchar3否允许难度标识T_mattertext否允许题目内容T_answertext否允许回答T_solutiontext否允许标识答案T_lorevarchar100否允许图标路径(4)关于试卷的内容存储,分为两个表来进行处理:试卷基础信息表和试卷详细信息。表3-9为试卷基础信息表(lins_staddlepaper),共有12个字段;s_id为主键,s_category,s_manner,s_condition与一般基础信息表lins_generalinfo进行关联。表3-9试卷基础信息表字段名类型长度主键可空描述S_idInteger是不允许试卷标识S_namevarchar100否允许试卷名称S_categoryvarchar3否允许试卷类型标识S_timeInteger否允许答题时间S_itemlisttext否允许考题列表S_startDatetime否允许起始时间S_closeDatetime否允许终止时间S_cadetlisttext否允许考试人员列表S_mannervarchar3否允许评分方式S_passscoreInteger否允许通过分数S_sumFloat否允许总分S_conditionvarchar3否允许状态试卷详细信息表(表lins_staddlepaper_detail):试卷详细信息表的主键为s_id、t_id。其中t_id与题库信息表中的主键关联,t_category与一般基础信息表lins_generalinfo进行关联,如表3-10试卷详细信息表所示。表3-10试卷详细信息表字段名类型长度主键可空描述S_idInteger是不允许试卷标识T_idInteger否不允许题目标识T_numInteger否允许题目序号T_categoryvarchar3否允许题型T_solutiontext否允许标准答案(5)考卷基础信息表(lins_testpaper:考卷的存储也分为两个表来进行,包括考卷基础信息表和考卷详细信息表。基础信息表存放一些有关考卷的基础信息,其中t_id为主键,t_condition与一般基础信息表lins_generalinfo进行关联,如表3-11考卷基础信息表所示.表3-11考卷基础信息表字段名类型长度主键可空描述T_idInteger是不允许考卷流水号cadet_idvarchar3否允许准考证号S_idvarchar3否允许试卷标识T_startfloat否允许开始考试时间T_closevarchar3否允许结束考试时间T_passscorevarchar3否允许通过分数S_autoscoretext否允许自动评分S_manualscoretext否允许手工评分S_sumtext否总分评分方式S_conditionvarchar100否允许状态考卷详细信息表(lins_testpaparparticular):此表中t_id和T_id构成主键,其中t_id与题库信息表进行关联,如表3-12考卷详细信息表所示。表3-12考卷详细信息表字段名类型长度主键可空描述T_idInteger是不允许考卷流水号t_idInteger否bu允许题目标识T_answertext否允许考试回答T_scorefloat否允许考试得分(6)基础信息表。在本系统中,基础信息表共有四个:一般基础信息表(lines_generalinfo)、学历教育基础信息表(g_diploma_category)、机构基础信息表(g_agency)、职务基础信息表(g_duty_category)。一般基础信息表存放的是系统中大部分的基础信息,其中,学历教育基础信息表存放的是有关学历信息的表,机构基础信息表维护的是有关机构的信息,职务基础信息表存放的是职务基础信息。由于篇幅问题,这四个表均不作太多介绍。3.2.2技术实现方案1系统架构设计对在线考试系统的需求进行了分析以后,就要对系统的整体架构进行设计。整个应用程序遵循多层的架构模式,从上到下依次为视图层、控制层、业务逻辑层、数据访问层,图3-13为该在线考试架构图。依赖关系增强依赖关系递减视图层(View)JSP控制层(controller)Action文件模型层(Module)数据访问对象(DAO)持久层(Hibernate)图3-13该在线考试系统架构图各层次间的依赖关系应该是自顶向下的,即上层可以依赖下层,而下层不应对上层有依赖或尽量减少对上层的依赖。例如,在系统中使用Hibernate来实现持久层,若要采用其它机制实现持久层,不需要改动业务逻辑中的代码。2视图层的分析与设计视图的基本作用就是获得应用程序的数据和向应用程序程序发送数据,它不包含业务逻辑,也不包含用于向数据源中存储数据或从数据源中检索数据的任何代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论