基于WEB的在线考试系统的设计与实现.doc_第1页
基于WEB的在线考试系统的设计与实现.doc_第2页
基于WEB的在线考试系统的设计与实现.doc_第3页
基于WEB的在线考试系统的设计与实现.doc_第4页
基于WEB的在线考试系统的设计与实现.doc_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

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

文档简介

重庆三峡学院毕业设计(论文)题目:基于WEB的在线考试系统的设计与实现专 业:计算机科学与技术年 级:2006级学 号:200606020162作 者:指导老师:鄢 沛(实验师)完成时间:2010年5月说 明 本系统设计的是在线考试系统,主要采用Java编写,是基于B/S的一个JAVA/WEB项目,旨在实现在线考试以及后台管理,采用的相关技术大致有 HTML,JSP,CSS,Servlets,Hibernate,Struts等等。本系统采用的是三层架构(表示层业务层持久层)来进行开发,使用了目前较流行的Web应用开发框架Struts+POJO+Hibernate,以适应业务逻辑比较复杂的系统。序号学号姓名专业、班级任务分配1200606020162徐 晨2006 级计算机科学与技术一班组长,1、对拟要实现的系统进行需求分析,难点是怎样从用户的模糊描述中抽象出用户的实际需求,构建出用例模型;2、考生能够实时在线考试,模拟考试;3、老师能够及时在线阅卷;4、组卷根据难度随机出题2200606010104蒋文利2006 级计算机科学与技术一班1、对拟要实现的系统进行需求分析,难点是怎样从用户的模糊描述中抽象出用户的实际需求,构建出用例模型;2、采用UML统一建模语言对抽象出来的用户需求进行系统原型的抽象;3、界面实时访问;4、安全策略问题3200606020147聂 飞2006 级计算机科学与技术一班1、对拟要实现的系统进行需求分析,难点是怎样从用户的模糊描述中抽象出用户的实际需求,构建出用例模型;2、数据持久层规划;3、使用UML统一建模语言进行模块的抽象,并建立实体关联目 录摘要IABSTRACT.II1 引言12 在线考试系统的需求分析12.1 用户需求分析12.1.1 考生用户主要需要22.1.2 教师主要需要22.2 在线考试系统的数据流图23 在线考试系统分析与设计33.1 系统设计总体思想、目标33.2 在线考试系统的ER模型33.3 在线考试系统结构、功能设计43.3.1 系统结构设计43.3.2 系统功能模块设计43.4 在线考试系统面向对象的分析与设计53.4.1 面向对象方法的基本思想53.4.2 UML概述63.4.3 用UML建模63.5 在线考试系统的用例分析设计63.5.1 前台用例63.5.2 后台用例73.6 在线考试系统的类图分析设计84 系统平台、计算模式及技术94.1 系统平台94.1.1 系统的硬件平台:94.1.2 系统的软件平台:94.2 开发框架技术94.2.1 Struts是应用比较广泛的一种表现层框架104.2.2 Hibernate O/R Mapping104.2.3 Brower/Server模式应用114.2.4 Hibernate技术通过持久层的框架将数据库存储从服务层中分离出来124.2.5 工厂模型的使用124.3 Oracle数据库134.3.1 Oracle概述134.3.2 Oracle具有以下优势135 系统实现155.1 在线考试系统的时序分析设计155.1.1 教师操作时序图155.1.2 教师操作时序图165.1.3 管理员操作时序图165.2 系统详细设计175.2.1 登陆界面185.2.2 监考老师模块205.2.3 学生考试模块205.2.4 教师分析模块225.2.5 后台管理模块246 在线考试系统设计的技术关键276.1 事务的提交276.2 Session线程安全277 系统试运行结果与评288 结束语29致 谢29参考文献292010届计算科学与技术专业毕业设计(论文)基于WEB的在线考试系统的设计与实现徐 晨(重庆三峡学院数学与计算机科学学院 计算机科学与技术专业2006级 重庆万州 404000)摘要:随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于B/S架构的系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。 网上在线考试系统是典型的B/S架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。在应用程序的开发方面,设计中使用 IBM公司的 MyEclipse进行编程设计。它引入了面向对象编程的思想,使系统界面友好,功能完善,操作灵活,使用方便。同时,在数据库的建立和维护方面,采用Oracle 公司的Oracle作为数据库的开发工具。它适用于Unix/Windows操作平台,是大中型系统使用较广的数据库开发平台。网上在线考试系统开发的总体目的是在实现INTERNET和局域网内的在线考试。我主要负责对业务逻辑层的设计以及具体实现。业务逻辑层是系统架构中体现核心价值的部分。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。首先是对数据访问层提供的接口进行封装调用,其次是要提供表示层相应接口,用于控制表示层相关请求信息。关键词:JAVA,oracle,B/S模式,Struts,HibernateDeveloping and Reality of On-line examination system Based on WebXu Chen(Grade 2006, Computer Science and technology, College of Mathematics and Computer Science, Chongqing Three Gorges University, Wanzhou, Chongqing 404000 )ABSTRACT:Along with computer technologys swift development, gains and the process information using the computer is now a information management major characteristic. Takes most generally the most practical system based on the B/S constructions system, its management modernization, the informationization, are playing the huge promotion effect to the entire society. On-line online test system is the typical B/S construction system, its development mainly includes the application procedure the development, the database establishment and maintains two aspects. In the application procedures development aspect, in the design uses IBM Corporations MyEclipse to carry on the programming design. It has introduced the object-oriented programming thought that causes the system contact surface to be friendly, the function is perfect, the operation is flexible, easy to operate. At the same time, in the database establishment and the maintenance aspect, uses Oracle Corporations Oracle (10g) to take the database the development kit. It is suitable for the Unix/Windows service platform, is the large and middle scale system use broad database develops the platform. On-line online test system developments overall goal is in realizes in INTERNET and local area networks online test. I am mainly responsible for the design of business logic and implementation. Business logic layer is the system architecture in part reflect the core values. Business logic layer in the architecture, the position is critical, it is in the data access layer and the middle layer, playing the role of data exchange in the connecting link. First, the data access layer provides the interface and called, followed by the presentation layer to provide the appropriate interface for control of layer-related requests for information.Key words:JAVA,Oracle10g, B/S mode,Struts,Hibernate2010届计算科学与技术专业毕业设计(论文)1 引言 当今社会,考试已经是我们必不可少的东西了,从小到大我们已经考过无数次了,以后还要考,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。又是要我们去考试。我们国家的自考或是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是符合信息技术发展的方向。我们要给不同的考试同一个好的解决方案。 这个方案在技术上来讲我们是采用B/S模式。 在windows/Linux平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。方便,简单的完成各种考试,这也是我们的目的所在。考点模块通过网络获取题库,按照题库中的抽题策略,自动给每个考生生成一份试卷,考生在线作答,考试结果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。在这里不得不说“老师们,你们辛苦了”。2 在线考试系统的需求分析 本系统主要根据重庆三峡学院的教材管理工作进行的需求分析:2.1 用户需求分析 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。通过实地调研之后,对网上在线考试系统的设计开发做了一个详细的概述。2.1.1 考生用户主要需要 () 分布式的系统,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。() 题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。() 考试的部分结果在考生考完之后就可以知道,提高考试批改效率。2.1.2 教师主要需要(1) 提供一个功能全面的考核管理客户端,可以进行考试设计和安排。(2) 通过管理客户端,教师可以进行考试的身份管理。(3) 考生的考试结果可以被保存下来,供教师进行分析统计和察看。2.2 在线考试系统的数据流图数据流图(DFD)是从“数据”和“对数据的加工”两方面表达 数据处理系统工作过程的一种图形表示法,具有直观、易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。下面简要介绍部分需求的数据流图:2.2.1 在线考试系统查询的数据流图(DFD)通过分析,设计出本系统查询的数据流图,如下图:图2-1在线考试的数据流3 在线考试系统分析与设计3.1 系统设计总体思想、目标在线考试系统的总体目标:() 在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。() 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。() 考试数据的存放和处理必须对考试保密,需要一定的安全性保障。3.2 在线考试系统的ER模型经过对学生查询系统的分析,我们将系统划分出了User(用户),Role(角色),考卷,考卷类别等几个实体,其各个实体的属性如下:姓名ID号RoleIDUser考试/制定 N联系电 话N考卷试卷编号作者科目考试日期登记日期日期入库数量权限年龄Role1角色名称N属于班级试题数量题目试卷类别属于1试卷号号科目名称N性别 图3-1学生查询实体联系图依据数据库的原理,并结合以上E-R图,经过转换,可以导出各个关系。其转换规则为:首先每个实体就转化为一个关系,有属性的联系也应转化为一个关系,然后需要给出每个关系的关键字。根据以上规则直接给出所有关系。User信息(ID号、姓名、性别、电话、班级、年龄、成绩、角色ID)Role信息(角色ID、权限ID)试卷类别(试卷编号、科目名称)。试卷(试卷编号、试题数量、试卷题目、出题教师、试卷数量、试卷科目)。权限(权限ID,权限)。3.3 在线考试系统结构、功能设计3.3.1 系统结构设计本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下:在线考试系统考生前 台后台管 理题库管理 班级管理考试管理试卷管理成绩管理用户管理权限管理学生登陆图3-2系统结构图3.3.2 系统功能模块设计根据前面的分析,本文把网上在线考试系统划分为四大模块,分别为系统管理模块、监考教师管理模块、教师管理模块、考生考试模块。其中考生管理模块主要是进行实时考试以及对考试成绩的查询;教师管理模块主要是对考试情况和试题讲解两方面的管理;监考教师管理模块主要是具体考试活动进行管理;系统管理模块主要是教学管理、教师管理、题库管理和自我管理四个方面。系统功能结构图如图3-3所示:网上在线考试系统考生管理监考教师管理系统管理教师管理试卷讲评考试信息管理开始考试考试成绩查询考试管理考试信息修改用户密码教师管理题库管理教学管理查看考生信息添加试题删除试题查询考试信息图3-3系统功能结构图图3-4本系统架构图3.4 在线考试系统面向对象的分析与设计3.4.1 面向对象方法的基本思想对问题域进行自然分割,以接近人类思维的方式建立问题域模型,从而使设计出的软件尽可能地描述现实世界,构造出模块化的、可重用的、可维护性好的软件,并能控制软件的复杂性和降低开发维护费用。3.4.2 UML概述UML(统一建模语言):是一种可视化的建模语言,它能让系统构造者用标准的,易于理解的方式建立起能够表达出他们想象的系统蓝图,并且提供一种机制,以便于不同的人之间有效地共享和交流设计结果.3.4.3 用UML建模 UML为广泛的应用而设计,因此,它为较大范围的系统和活动提供结构(例如:实时系统、分布式系统、分析、系统设计、配置)。系统开发集中于系统的3个不同模型:功能模型 在UML中由用例图表示,从用户观点描述系统功能。对象模型 在UML中由类图表示,以对象、属性、关系和操作形式描述系统结构。动态模型 在UML中由顺序图、状态图和活动图表示,描述系统的内部行为。顺序图把行为描述为一组对象间的信息交换序列。而状态图根据单个对象的状态及状态间可能的转换描述行为。3.5 在线考试系统的用例分析设计 用例在需求提出和分析中用来表示系统的功能。用例从外部的角度关注系统的行为。一个用例描述系统提供的一个功能,而系统对执行者产生一个可见的结果。这里所说的执行者代表的是与系统交互的任意实体(例如,用户、其他系统、系统的物理环境)。用例和执行者的识别产生了系统界限的定义,也就是说,区分了系统完成的任务及其环境完成的任务。执行者处在系统界限的外围,而用例处在系统界限的内部。3.5.1 前台用例 前台成员由监考老师,考生以及任课老师组成。由监考老师负责开始考试,然后考生才能登陆考试系统,开始实习在线考试,考试结束后,由任课老师在线阅卷,并及时公布考分,方便考生及时查询分数。前台用例图如图3-5所示:图3-5 前台考试用例图3.5.2 后台用例 后台主要成员为管理员。管理员可以通过教学管理(包括学生管理,班级管理),教师管理,考试管理(包括题库管理,考试科目管理),以及管理员自管理,来对其他成员以及考试题库进行数据库相应增删改查处理。后台用例图如图3-6所示:图3-6 管理员用例3.6 在线考试系统的类图分析设计 类图描述系统的结构。类是用来指定一组对象共有的结构和行为的抽象。对象是类的实例,而实例则在系统执行过程中被创建、修改并撤销。对象具有包括其属性值及其与其他对象的关系的状态。通过对用例图的分析,抽象各成员,得到所需的属性和方法。以考生类和教师类表现,图如下:图3-7 管理员类图图3-8 学生类图4 系统平台、计算模式及技术4.1 系统平台4.1.1 系统的硬件平台:硬件需求: PIII/256M/10G 及以上配置,要求为考试系统分配足够的数据库磁盘空间推荐配置: PIV 2G/512M/40G4.1.2 系统的软件平台:操作系统需求: Windows2000及以上操作系统 ( 推荐 ) ,也可以使用 Sun Solaris 以及 Linux 各版本操作系统数据库软件需求: Oracle 9i/Oracle 10g 数据库,同时也支持mysql服务器软件需求: Tomcat5.0/6.0及类似服务器4.2 开发框架技术对于框架技术,我们采用Servlet+Struts+Hibernate(SSH)的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用Java技术在web的应用。图4-1 MVC的设计模式示意图图4-2 MVC组件的关系和功能其中通知改变和用户请求属于事件,其他都是方法调用4.2.1 Struts是应用比较广泛的一种表现层框架Struts是一个为开发基于模型(Model)视图(View)控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和Custom tag library构建Web应用的一项非常有用的技术,尤其表现在视图层和控制层。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts不光实现了view层的自动填充,同时通过struts-config.xml很好的将控制单元和业务单元分离,非常符合RUP思想,适合团队开发。其具体工作原理图如下:图4-3 struts工作原理4.2.2 Hibernate O/R MappingHibernate是采用ORM模式实现数据持久层的一个优秀的Java组件,它提供了强大、高效的将Java对象进行持久化操作的服务。利用Hibernate,开发人员可以方便地按照Java对象的结构进行持久层的开发,并可以使用Hibernate所提供的HQL(Hibernate Query Language,Hibernate查询语言)完成Java对象和关系型数据库之间的转换和操作。其体系结构为:() Hibernate的作用就是实现持久化对象和数据库之间的映射。所以,它在应用程序的位置也必然是处于程序和数据库之间,形成持久化对象和数据库表中数据的一个转换平台。Hibernate应用程序的结构如下:图4-4 Hibernate应用程序结构通过图可以看出,Hibernate是通过一系列的配置文件和数据库来实现持久化对象的持久化操作。为了使用Hibernate,需要创建与数据库中的表相对应的持久化对象,然后再通过映射文件将持久化对象中的属性与数据库中的字段对应起来。这样,才能通过这些持久化对象完成对数据表中数据的增加、修改、查询和删除操作。() 由于Hibernate非常灵活,而且同了多种运行时的结构组成方案。在这里介绍的是一个“最全面”的体系结构,它最大程度的完成了对持久层功能的封装,也就使得在开发中所要完成的工作量最少,是在开发中最经常使用的一种方式。 在这种方式分中,将JDBC/JTA都交给了Hibernate去完成,而不需要对这一部分进行任何处理。4.2.3 Brower/Server模式应用B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。4.2.4 Hibernate技术通过持久层的框架将数据库存储从服务层中分离出来它是O/R Mapping的一种实现是目前在JAVA界使用非常广泛的O/R Mapping的一种实现,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写JDBC等SQL语句;使用O/R Mapping技术实现的Hibernate和JDO技术;当然还有EJB中的实体Bean技术。Hibernate的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate提供的一 些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL。4.2.5 工厂模型的使用工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见(见图4-5)。图4-5 工厂模式类图 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,虽然这样做,可能多做一些工作,但会给系统带来更大的可扩展性和尽量少的修改量。4.3 Oracle数据库4.3.1 Oracle概述Oracle 具有如下特性: () 其数据库引擎提供完整的 XML 支持() 一个数据库引擎可以在不同的平台上使用() 其关系数据库引擎支持当今苛刻的数据处理环境所需的功能。() 一系列管理和开发工具,是其系统容易安装 、部署、管理和使用。() 有析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具4.3.2 Oracle具有以下优势() Oracle 数据库高可用性通过扩大各个组织和团体中数据库应用的范围,数据库和互联网使得能够实现全球性的合作和信息共享。小公司和全球性大企业一样,在全世界范围内都有用户需要每天 24 小时地访问数据。如果不能保证这种数据访问,就会损失收入和客户并受到惩罚,而且负面的新闻报道将对客户和公司的声誉有持续的影响。构建一个具有高可用性的 IT 基础架构对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业而言至关重要。设计高可用性解决方案的挑战之一是查明并解决造成宕机机的所有可能缘由。在设计容错和灵活 IT 基础架构时,很重要的一点就要考虑意外停机和计划停机时间。意外停机主要是由于计算机故障或数据故障引起的。计划停机主要是由于生产系统的数据改变或系统改变而引起的。故障保护:配置和验证Windows集群,并通过与微软集群服务器集成的高可用性软件快速准确地自动恢复Oracle数据库和应用系统。回闪查询:无需复杂、耗时的操作即可恢复更早版本的数据。回闪表、数据库和事务查询:诊断和撤销错误操作,包括对单独一行所做的修改、由杂乱的事务导致的变化、对单个或多个表所做的修改(包括表的删除)以及对整个数据库所做的所有修改。数据卫士:自动维护生产数据库的多个远程备份副本;恢复从生产环境到备份数据库的处理;极大地缩短了灾难情况下的宕机时间。 () 可伸缩性真正应用集群:跨多个相互连接或集群的服务器运行任意未做更改的打包或定制的应用系统。集成的集群件:利用一组通用、内置的集群服务创建和运行数据库集群。自动工作负载管理:将服务连接请求发送给拥有最低负载的适当服务器;一旦发生故障,自动将幸存的服务器重新分配以用于服务。Java和PL/SQL的本地编译:Java和PL/SQL语言编写部署在数据库中的程序。() 安全性密码管理:利用单一用户名和密码连接整个企业内的多个数据库。加密工具包:借助PL/SQL包加密和解密存储的数据。虚拟专用数据库:编写行级安全性程序;确保应用程序上下文的安全。细粒度审计:定义特定的审计策略,包括对错误数据的访问发出警告。() 应用软件开发Java支持:更快地执行Java应用程序,集成现有的软件资产,将Java/J2EE应用程序连接到支持网格的数据库,通过Web服务支持非连接的客户,并将本地数据与远程和动态数据结合起来。HTML DB:借助快速Web应用系统开发工具,开发和部署快速、安全的应用系统。全面的XML支持:通过对W3C XML数据模型提供支持,使存储和检索XML本地化;使用标准访问方法导航和查询XML。PL/SQL和JSP:用服务器端Java和存储的程序语言;使用SQL确保安全、方便和无缝。COM自动化、微软事务服务器/COM+集成、ODBC和OLE DB:支持多种Windows数据访问方法。() 可管理性企业管理器:通过单一集成的控制台,基于Oracle产品系列管理和监控所有应用程序和系统。自动内存管理:自动管理Oracle数据库实例使用的共享内存。自动存储管理:跨所有可用资源分配I/O负载,并通过垂直集成的文件系统和卷管理器优化性能;消除人工I/O调优。 自动撤消管理:监控所有Oracle系统的参数设置、安全设置、存储和文件空间条件的配置。 服务器管理的备份和恢复:借助Oracle恢复管理器(RMAN)简化、自动化并提高备份及恢复性能。() 数据仓储数据压缩:在不影响查询时间的情况下压缩保存在关系表中的数据;降低磁盘系统成本。 Oracle分析函数:使用面向在线分析处理(OLAP)的内置分析工作空间。 可移动的表空间,包括跨平台:将一组表空间从一个数据库转移到另一个数据库,或者从一个数据库转移到自身的其他位置。星形查询优化:加入一个事实表和大量维度表。 汇总管理-物化视图查询改写:当一个物化视图用来响应一个请求时,通过自动识别提高查询性能;透明地改写请求以使用物化视图。() 集成Oracle流:在一个数据库内或从一个数据库到另一个数据库的数据流中实现数据、事务和事件的传播与管理。高级队列:通过基于队列的发布订阅功能,使数据库队列能够充当持久的消息存储器。工作流:支持与完整的工作流管理系统基于业务流程的集成。分布式查询/事务处理:在分布式数据库的两个或更多个不同节点上查询或更新数据。() 内容管理超级搜索:跨多个信息库搜索和定位数据,包括: Oracle数据库、遵循ODBC的数据库、IMAP邮件服务器、HTML文档、磁盘文件等。媒介物:开发、部署和管理包含具有最流行格式的富媒体内容的传统、Web和无线应用系统。文本:构建文本查询应用系统和文档分类应用系统。定位器:管理地理空间数据来利用地域商业价值。使用企业版的空间选项,你还能够支持最复杂的GIS部署以下内容由本人独立完成5 系统实现5.1 在线考试系统的时序分析设计 系统时序图是一种交互图,既用来形式化系统的行为,也用来可视化对象间的通信。主要用于描述对象之间的动态交互关系,着重体现对象间消息传递的时间顺序,其适用场合一般特征为:() 描述对象之间的动态协作关系以及协作过程中的行为次序。() 常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况。各成员角色通过界面点击事件,激发后台调用action类,来实现模块功能之间转化,达到界面实时的交互。5.1.1 教师操作时序图图5-1 教师操作时序图5.1.2 监考教师操作时序图图5-2 监考老师操作时序图5.1.3 管理员操作时序图图5-3 管理员操作时序图5.2 系统详细设计在本系统中业务逻辑层中分别完成了对各种分类信息、用户信息等类型的对象的保存和处理,根据系统分析所得的需求,业务逻辑层还包括借助MyEclipse开发工具、Struts数据库连接池完成数据库连接,及数据库查询等工作的相关的业务逻辑的实际。对于他们之间的分布如下图所示:图5-3 类分布图5.2.1 登陆界面图5-4 登陆界面如果用户需要访问本系统,必须经过登录。首先先选择相应角色,然后需要输入用户名、密码,点击登录按钮,后台就会调用LoginAction,(参见以上图5-3)如果这些信息,那么显示登录相应主界面,否则,返回到登录界面,并提示相关错误信息。以下为LoginAction关键代码,public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) LoginForm loginForm = (LoginForm) form;/登录表单AdminService adminiServie = (AdminService) BeanFactory.getBean(BeanFactory.FadminService);StudentDao studentDao = (StudentDao) BeanFactory.getBean(BeanFactory.FstudentDao);StudentService studentService = (StudentService) BeanFactory.getBean(BeanFactory.FstudentService);Integer admin = Integer.parseInt(request.getParameter(ss);/从界面获取登录权限等级/通过权限等级定义不同登录界面if (null != admin & admin.equals(3) return adminLogin(mapping, form, request);if (null != admin & admin.equals(1) return teacherLogin(mapping, form, request);if (null != admin & admin.equals(2) return jteacherLogin(mapping, form, request);try student = studentService.Login(loginForm.getLoginName();if (null = student) request.setAttribute(message, 该考生不存在!);throw new ServiceException();if (!loginForm.getLoginPassword().equals(student.getPassword() request.setAttribute(message, 密码不正确!);throw new ServiceException();request.getSession().setAttribute(student, student);System.out.println(student in login:+student);Examstate state = adminiServie.getExamState();if (state.getState() = 0) return mapping.findForward(chengji);student.setState(1);student.setScore(0);studentService.update(student); catch (ServiceException e) e.printStackTrace();return mapping.findForward(false);5.2.2 监考老师模块图5-5 监考老师界面图监考老师登陆系统后,在指定时间选择考试班级,点击开始考试按钮,调用后台StartExamAction(参见图5-2),该action主要作用是将学生考试状态置“1”,该班学生才能登陆进行考试。考试时间一到,监考老师做好本场考试备注,再点击结束考试,调用后台EndExamAction(参见图5-2),系统对学生强行收卷。5.2.3 学生考试模块 图5-6 学生考试界面图考试开始后,学生就能点击开始考试按钮登陆进行考试,学生在复选框中选好答案,然后点击下一题按钮,后台调用NextAction,考试结束后学生点击交卷按钮提交考试退出系统,并自动计算本次考试分数。以下为考试关键的NextAction部分代码:public class NextAction extends MappingDispatchAction public static int TIHAO = 0;/题号private StudentService studentService = (StudentService) BeanFactory.getBean(BeanFactory.FstudentService);public ActionForward next(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) List list = (List) request.getSession().getAttribute(allshiti);/所有试题存放在Session中的“allshiti”中int size = list.size();TIHAO = (Integer) request.getSession().getAttribute(haoma);System.out.println(TIHAO in next: + TIHAO);if (TIHAO = size - 1) request.setAttribute(message, 现在已经是最后一道题了);else Moban mb = (Moban) list.get(TIHAO + 1);Moban mb1 = (Moban) list.get(TIHAO);Student student = (Student) request.getSession().getAttribute(student);/学生对象从session中获取String stringopt = request.getParameter(opt);Shiti kaoti = new Shiti();kaoti.setWenti(mb.getQuestion();kaoti.setI

温馨提示

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

评论

0/150

提交评论