辅修综合管理系统框架设计.doc_第1页
辅修综合管理系统框架设计.doc_第2页
辅修综合管理系统框架设计.doc_第3页
辅修综合管理系统框架设计.doc_第4页
全文预览已结束

下载本文档

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

文档简介

辅修综合管理系统框架设计电信学院 刘 从 驹指导教师 刘 勇摘要随着软件规模的日益膨胀,软件的复用也日益变的迫切,因此框架的提出是顺应潮流的产物。本论文是基于WEB系统的框架设计。整编论文以多层结构为基础,相应对每层的相关技术进行分析与设计,并最终抽象出可复用的框架。第一章,首先对框架问题进行了提出。第二章,对框架需求进行整体上的分析,对涉及到的表单重复提交,验证码,控制器,角色安全进行了分析与抽象。将系统分为三层模型,分别是表现层、业务逻辑和数据层。第三章,对构架进行了详细的设计,在表现层使用了Struts框架技术,通过配置将Strut技术与Spring框架集成;在业务逻辑层利用了Spring框架,定义了基于AOP事务管理,增强了系统的稳定性;在数据层定义了DAO的基类,并将其配置到Spring中,为系统提供统一的数据访问接口。整个框架设计和实现是在Spring的构架中,通过配置自定类来完成的。既能松散耦合,又能统一管理,较大程度地增强了系统的稳定性、灵活性。关键词:构架,设计模式,DAO,框架一、 需求分析在本构架的设计中,我们采用了三层结构,分别为表示层,业务层,和数据持久层。对应每一层相应的对其功能进行抽象与分析。其中有涉及到层与层之间的数据传递,用户请求的重复提交,验证码设计,过滤器的设计,角色安全设计、持久技术的实现,如何支持多种持久化机制。(一) 表示层1. 表单重复提交 表单的重复提交是浏览器客户按了“后退”按钮,把已经提交过的表单重新提交一次。请求重复提交 允许重复 重复提交 允许重复提交客户端控制器JSP 图2-2 传统的表单提交图2. 验证码验证码的提出可以有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。3. 控制器作为一个表示层,通常要处理很多客户端的请求。因此通常为该层安排一个集中的访问点。因为如果没有集中访问点,那么多个请求之间共用控制代码就会重复出现在许多文件中。这样会使整个应用系统的模块程度和内聚性下降。同时代码的分散也不利于代码的维护。4. 过滤器使用拦截过滤器,作为一个可插拔式的过滤器,实现请求,响应的预处理和后处理。负责把各个处于松耦合关系的过滤器结合一个链,并把控制依次委派给一个合适的过滤器。这样 一来,不必改动现有代码就能以各种方式加入,删除,合并这些过滤器(二) 业务层具体的业务逻辑通常导致代码的高度耦合,因此我们将业务逻辑分为单独的一层,其目的也是希望通过层,来降低它与系统其他部分的耦合度。该层借助Spring可以达到更好的效果。通过Spring的IOC模式来装配业务组件,如,DAO对象。使系统更具扩展性。通过Spring AOP(面向方面)思想,来集中处理具体业务,如事务管理,使代码更为简洁,增加复用,提高开发效率4。(三) 数据持久层在传统的系统开发中该层占据大部分的开发时间,且随着需求的变更功能的修改,逐渐变得难以控制,特别是表结构的变化可能导致整个系统大动干戈。在本框架中我们抽象出一个接口,以实现支持多种持久技术。本框架可以实现Hibernate和jdbc,利用其持久化机制和CRUD封装来减少代码开发量和其他层次的耦合度。(四) 角色安全设计采用基于RBAC的权限管理方法对框架的权限子系统进行设计。二、 框架设计本系统架构按照MVC 的设计模式分为三层分别是表示层(Presentation)、业务层(Business)、数据层(Data)。表示层使用Struts应用框架作为实现框架,并将Spring的WebApplication配置到Struts中。业务层和数据层使用Spring框架和Hibernate。处理了BO和DAO的依赖,处理了接口和实现类的依赖,事务处理,在DAO层对HibemateAPI的包装,在DAO层的异常包装转换。Hibernate完成ORM功能。基于Spring的表示层、商务层、数据层分层设计即使实现三层的松散祸合,又提供了集中配置的功能,使系统的各层功能明确,使系统的可维护性大大提高。(一) 层间的调用的规约数据信息的跨层传递可以使用DTO,如果PO信息要求也可以把PO直接当作DTO使用,DTO类型不限可以使JavaBean, Map. DAO, BO必须声明接口,并且在编码中只允许使用接口类型,不允许出现实现类,这样可以充分利用Spring的Ioc的机制,增强系统可维护性,减少耦合性。(二) 表示层的设计1. BaseAction的定义 BaseAction对Action进行封装,减少了系统的冗余。图3-2 BaseAction的设计图2. 令牌实现令牌的设计采用了标签技术,它的实现封装在标签里面。在客户端界面设计人员只要用以下说明语句就可以表明此表单要进行重复提交验证以下为标签在客房端生成一个隐藏字段来保存令牌值。3. 验证码实现界面设计人员在界面设计时只要加入以下语句来生成验证码功能以下为标签的内部实现,通过调用一个图片的生成类,在标签里把它生成到工程目录下。(三) 数据访问层 主要目的是能够清晰地划分出应用层次而不管使用何种数据访问和事务管理技术;使应用对象之间的祸合松散。业务对象不再依赖于数据访问和事务策略;不再有硬编码的lookup;不再有难于替换的singletons;不再有自定义的服务注册。从而增强了系统可维护性。设计的方法是采用Spring和Hibernate相结合的方法。 图3-6 基dao设计类图(四) 业务层业务层是应用系统的核心,在构架设计中主要负责事务管理。它包含着核心的商业逻辑,需要完善的日志操作日志全面的事务管理。本层可以通过spring来组装各层,并承担低层的事务处理(五) 角色安全实现RBAC的核心定义了五个User,Role,Operations,Object,Permissions.以下为RBAC的模型图。三、 结论与小结 充实的日子,总是很快,就如这个炎热夏天里我那些坚持不懈学习的日子。对于这次设计的框架,我自己的感觉不是很满意。本套框架只能算是一次技术的堆积,与真正的实用框架还有一定的差距。框架中还有很多功能不够完善,有些预想问题还没有实现,各层的问题的解决相对简单。毕竟我将精力放在了框架这个巨大的设计上。在这次设计的过程中,我接触到了Java编程语言,MVC模式,Struts框架技术,Tomcat服务器,JSP网页设计等软件开发技术,每一项都是庞大而深奥的体系,短短几个月里,每项技术思想只能管中窥豹,还有太多的疑问没有解决,详细技术也只是不在深入。但付出还是有收获的,对于Java我已不再陌生,而对于框架我则更加深刻。技术上建设网站的思想我不再是一片空白;开发工具的使用、测试已取得了一定的经验,这些都为以后的工作学习开了个头。万事开头难,这一步能在学校里走好,真的感到这是我大学本科以来最有意义阶段四、 主要参考资料1. Deepak Alur John Crupi. J2EE 核心模式. 机械工业出版社,20052. karl E.Wiegers. 软件需求. 清华大学出版社,20043. Nadir Gulzar 实用J2EE应用程序体系结构.清华大学出版社,20034. John Hunt Chris Loftus 著 精通J2E

温馨提示

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

最新文档

评论

0/150

提交评论