基于j2ee的学生自主考试系统的设计与实现

上传人:E**** 文档编号:114174890 上传时间:2019-11-10 格式:PDF 页数:70 大小:2.62MB
返回 下载 相关 举报
基于j2ee的学生自主考试系统的设计与实现_第1页
第1页 / 共70页
基于j2ee的学生自主考试系统的设计与实现_第2页
第2页 / 共70页
基于j2ee的学生自主考试系统的设计与实现_第3页
第3页 / 共70页
基于j2ee的学生自主考试系统的设计与实现_第4页
第4页 / 共70页
基于j2ee的学生自主考试系统的设计与实现_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《基于j2ee的学生自主考试系统的设计与实现》由会员分享,可在线阅读,更多相关《基于j2ee的学生自主考试系统的设计与实现(70页珍藏版)》请在金锄头文库上搜索。

1、学姓专导学号:QZ亘2Q量名:王自业:盐篡扭廑题撞丕一师:塞摄塞熬援院:匦终塾直堂医一。2010年3月3日独创性(或创新性)声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。申请学位论本人签名:处,本人承担一切相关责任。17t期:醴:三二堑关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即

2、:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后遵守此规定)保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本学位论文不属云保密范围,适用本授本人签名_釜二箜日期:导师签名_一结束,“和“之间不要有空格。(6)确保所有的属性值都放在引号里。(7)特殊字符需用转义字符表示,如空格用 ;用&等。针对于网络教育中学生分散的特点,学生自主考试系统需要

3、运行在互联网公共环境中。使全国的用户,只要能上互联网,有浏览器,就能使用学生自主考试系统。20北京邮电大学硕士论文基于J2EE的学生自主考试系统的设计与实现41系统设计原则第四章系统设计学生自主考试系统设计方案的出发点基于以下几点考虑:(1)先进性采用当前业界最先进的技术,中间件,成熟的三层体系结构等。(2)标准性按照国家颁发的有关数据、接口、交换等标准。采用标准化的技术和标准化的协议,保证系统的开放性。(3)安全性系统在设计中充分考虑建立保障有力的安全体系,对数据流程的各个环节都要有相应的安全保密机制。系统能够保证避免遭受网络上的非法侵入危害的能力;不能因操作人员误操作导致系统崩溃、数据丢失

4、。采用用户管理,防止非法进入系统,保证数据安全不受非法入侵者破坏。(4)易用性所有用户界面均采用Windows及浏览器风格的图形化的人机交互界面。务必做到:界面结构合理、布局美观、操作简单、功能引导明确、具备超强容错能力、误操作自动提示、全键盘和全鼠标操作、代码快速检索定位等,保证界面友好,操作方便,易于维护。(5)扩展性系统设计在满足当前业务需求的前提下,充分考虑未来业务发展的需要。对用户在考试中个性化的需求予以适当满足。(6)完整性保证系统功能设计的完备、数据库设计的完整一致及其事务处理的完整性。能够防止系统失败时数据的不一致性,有效地保证整个分布式更新事务的完整性,以及分布数据的一致性。

5、(7)稳定性系统能够承受大数据量和大负荷的考验,兼顾各节点的平衡,保证系统运行的稳定性,并有较强的容错和出错修复功能;系统处理能力能够充分胜任业务处理的要求及库容量不断增长的挑战,支持多机并行运行。系统设计应充分考虑采用成熟的产品和可靠的技术手段,确保系统性能的稳定性。(8)系统开放性21北京邮电人学硕士论文基于J2EE的学生自主考试系统的设计与实现系统提供标准的信息采集、信息检索和信息分析工具,能将输入内容及数据分析结果,通过WEB服务进行动态展现。(9)时效性系统添加缓存,有效地提升了抽题组卷的速度,节省了用户等待出卷的时间,提升用户体验。同时有效地避免了服务器端的压力,帮助维护系统稳定性

6、。42系统总体结构设计421平台架构设计系统采用Strutsl+Spring+Hibernate架构,采用开源MySQL数据库系统,操作系统采用Linux,应用服务器采用开源软件Tomcat。系统采用BS结构,体系结构从上至下依次为表示层、业务逻辑层、持久层和资源层。其软件体系结构如图41所示引:Pl髓蚴协lj觚蛳BmLdyetPetwisteace蛳Sh眦MVCSpringlOCAOPH南e髓曲l,、lIElActionrvletFaerieB吧酣嘲gServiceDeeDatasoutce丽IFirefoxI,LAytiolIFO鼬_A一ll、,SNe60n-Colllt0JctioltP

7、ool、r叫跏出y、rSt瓜Maz嘲eraemORMel嵋DMIIInte瞄ptmTittoIt-Q哆“l晖咀伊O眦kJSPMLMamgme埘SUplmn(ieHQL)DB2JXFie图41基于轻量级J2EE技术的软件体系结构图本系统将使用Spring管理对象以及对象之间的依赖关系,并使用Spring提供的AOP、事务管理、数据库连接管理、持久层异常处理、发送邮件集成、定时任务集成、远程调用集成等功能。数据持久层使用DA0模式,使用Hibernate框架开发。表示层使用Strutsl3x框架和JSp技术开发,为了弥补Strutsl3x没有拦截器功能的缺陷,自主开发了strutsintercep

8、tor,使用strutsinterceptor实现系统的权限验证、性能分析和异常处理。该系统架构如下图4-2所示n1】:北京邮电大学硕上论文基于J2EE的学生自主考试系统的设计与实现纛蠡摩S翻1ng容嚣町。尹控一业一数客户端rWeb务据制逻持PCServer久“TT口器-I)辑化分词素引应用服务器422操作流程设计图42系统架构图进行一次模拟统考的用户,操作流程如图4-3所示:填筠flj户依息上开始模考图43模拟统考用户操作流程图北京邮电大学硕士论文基于J2EE的学生自主考试系统的设计与实现教师制订模拟统考策略,操作流程如图4-4所示:423系统层次设计图44教师制订模拟统考策略流程图学生自主

9、考试系统依照通常系统开发使用的三层架构,划分为表示层、业务逻辑层、持久层三个层次。表示层:负责将素材展示给用户,并且从用户那里搜集数据。表示层包括了创建和控制用户界面,以及验证用户行为等多个部分。表示层的设计决定系统界面的可用性,及信息输入和展示的可靠性。业务逻辑层:负责应用程序运行和处理重要的流程,完成业务逻辑。业务逻辑层在系统架构中的位置比较关键,它位于持久层与表示层之间,扮演了两个不同的角色。对于持久层而言,业务逻辑层是调用者;对于表示层而言,业务逻辑层是被调用者,在系统数据交换的过程中起到了承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是透明的,改变

10、上层的设计对于其调用的下层不会产生任何影响。在学生自主考试系统的分层设计中遵循了面向接口编程的思想,因此这种向下的依赖关系就是一种弱依赖关系。业务逻辑层设计决定客户价值能否得到实现。这是系统的关键。外在的表现是功能性。业务逻辑层设计和实现的失误表现在用户端即功能缺失,功能不可靠等。北京邮电人学硕士论文基于J2EE的学生自主考试系统的设计与实现业务逻辑层知道如何对用户输入进行处理,能够应用业务规则完成用户所需的业务,但它不知道数据如何读取和保存。持久层:负责用户信息的持久化。持久层的失误表现在外即数据处理(储存,展示等)不可靠。持久层完全不知道业务,只专注于数据存储和读取。所谓持久化并不一定是指

11、数据库,任何方式的持久化(通过文件,网络的持久化等)都应由持久层完成。学生自主考试系统的表示层使用Struts框架实现,完成页面功能的调转及处理等功能;业务逻辑层使用Spring框架,为表示层、持久层提供松散的耦合,并提供业务逻辑处理;持久层使用Hibernate框架,负责与数据库间的交互。通过使用Spring框架与Struts、Hibernate框架的整合,表示层的Action中通过依赖注入得到与Manager的依赖关系,业务逻辑层的ManagerImpl通过依赖注入得到与Dao的依赖关系。为了提高代码重用率,优化程序结构,使用模板模式来设计业务逻辑层和持久层中的类。以树形结构来定义业务逻辑

12、层和持久层的接口。首先,定义出父接口包含各个模块都会用到基本方法,之后,在子接口中定义每个模块自己的方法。这就使得各模块的业务逻辑层和持久层接口在公共方法上统一,同时,又拥有各自的特殊方法。此外,面向接口编程,让调用者通过接口间接使用服务者,可以保证需要服务的类不与任何提供服务的类发生耦合,程序更清晰,结构更灵活,隐藏了实现细节,且易于调试,只要模块对一个接口调试成功,其它的接口也没有问题。这些接口及其实现类的关系图如下:HibernateManagerZBaseHiber_liateManagerZIBaseHibernateManagerWithLogII图415业务逻辑层主要接口及其实现

13、类关系图北京邮电人学硕士论文基于J2EE的学生自主考试系统的设计与实现在Manager接口中定义了获取、保存、删除一个类对象的方法。在HibernateManager中增加了获得记录总数、获取翻页对象,获取符合条件的记录等方法。HibernateManager是各模块Manager的父接口。BaseHibernateManagerWithLog、BaseHibernateManager是ManagerImpl选择继承的父类。图4-6持久层主要接口及其实现类关系图DAO即数据访问对象(DataAccessObject),负责封装底层的数据访问细节,不仅可以使概念清晰,把底层的数据访问逻辑和高层的

14、业务逻辑分开,让开发人员能够将更多的注意力放在编写数据访问代码上,从而提高开发效率。另外,将DAO对象分离出来,对于编写程序代码和测试工作都带来了极大的便利性。对于编写程序代码,可以在没有数据库的情况下,在DAO对象中构造一些假数据来模拟系统中的真实数据,从而使程序设计人员不必等待其它相关组件的开发结束后才能进行编码,做到了并行开发。在软件测试时,则可以用各种实际情况中不大可能出现的数据进行测试。在本系统中Dao是最顶层的接口,用于标记系统中的DAO类,并且给所有的DAO类提供通用方法。HibernateDao接口继承自Dao接口是系统中最基本的接口,其他所有的DAO接口都继承于Hibemat

15、eDao接口。如果系统需要扩展,则可编写需要扩展的接口并使之继承自HibemateDao接口即可。StudyDao接口继承自HibernateDao接口,其中包含了学生自主考试系统中访问数据库的方法声明,这些方法的具体实现在StudyDaolmpl类中进行定义。BaseHibernateDAO类继承了Spring框架为Hibernate提供的一个辅助类一orgspringframeworkormhibernate3supportHibernateDaoSupport类,并且实现了HibemateDao接口。HibemateDaoSupport类中提供了一个方法getHibernateTempl

16、ate(),通过该方法可以很容易的得到HibernateTemplate北京邮电人学硕士论文基于J2EE的学生自主考试系统的设计与实现的一个实例。这样就可以在所有的BaseHibemateDao类中调用getHibemateTemplate0方法,从而达到操作数据库的目的。43数据库设计431系统数据库设计原则一个优秀的数据库产品不代表就是一个优秀的应用系统,如果不能设计一个较为合理的数据库模型,不仅会在开发时增加客户端与服务器端的编程难度,在系统部署后还会带来诸如难于维护这样的问题,甚至会影响系统实际运行的性能。因此,在开发学生自主考试系统的过程中,除了一些经典数据库设计理论中所阐述的数据库设计原则以外,我们还探索出以下一些设计准则并且设计时努力遵循这些准则:(1)尽量采用非业务主键。(2)为了方便集成以及较好的并发访问性能,主键均使用长度为32的字符串,主键生成机制为uuidhex算法。(3)字段对应属性为空时则为null,严禁使

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号