学位论文 > 优秀研究生学位论文题录展示

基于连接器的面向方面建模方法的研究及其工具支持

作 者: 杨剑青
导 师: 杨宗源
学 校: 华东师范大学
专 业: 计算机软件与理论
关键词: 面向方面编程 软件工程 建模方法 建模工具 代码生成
分类号: TP311.52
类 型: 硕士论文
年 份: 2009年
下 载: 23次
引 用: 0次
阅 读: 论文下载
 

内容摘要


AOP技术发展至今已经有了不少年头了,但是在工业界的普及程度还远远达不到Struts,Hibernate和Spring等一些在近年来才出现的开发框架,究其原因其一是因为AOP的准入技术比较高,没有经过专门的培训,开发人员很难准确无误的掌握这一技术;其次,是因为现在比较成熟的AOP技术全部都是集中在软件的开发阶段,在这个阶段如果只有开发人员单独的引入一种全新的技术,项目的风险就比较高,而且代码与文档以及先前的设计就会不符合,由此,程序员就没有引入新技术的意识,而只是一味的根据文档或者是分析设计的模型来进行自己的开发工作。因此,本论文的目的就是在软件生命周期的分析和设计阶段就融入AOP的模型元素,即把AOP的元素融入到分析模型与设计模型之中去,而且还可以在以后的编码开发流程中十分自然的引入AOP技术。通过这种方式,只在编码阶段引入AOP技术而出现致命错误的概率就被大大地缩小了,开发人员也无须经过专门的培训就可以在工作中使用AOP技术。目前,比较国内外比较流行的AOP建模方法主要通过对广泛使用的UML进行扩展或者图形转换的方式,前者虽然比较直观,但是要求设计人员掌握AOP的相关技术才能使用这种方法建模;后者可以让设计人员淡化对AOP的技术概念,但是却容易造成图像纠缠(即相同的模型元素在整个模型中反复地出现,不便于检查模型的正确性。此外,上述两个AOP建模方法还有一个共同的缺点,那就是从AO模型导出AO代码相对困难,即使能够导出,也只能导出一种AOP实现的代码,想要具备导出多种AOP实现的代码的能力比较困难,这是由于这两种方法对于AO设计基本信息的表示或处理不当所造成的。因此,本论文首先对AspectJ,JAsCo,AspectWerkz这三种AOP实现技术进行了比较,归纳了它们之间的共同信息,之所以选择这三种实现技术,是因为AspectJ可以代表比较成熟的AOP技术,JAsCo可以代表基于组件的AOP技术,而AspectWerkz则可以代表基于POJO的AOP技术,它们涵括了大多种类的AOP实现方式,具有典型性,随后本文提出了连接器的概念,将连接器作为一种新的建模元素,用来连接软件模型的核心关注点部分和横切关注点部分,并将其添加到传统的面向对象软件模型中,并且将归纳的不同AOP实现技术中的共同信息存储到连接器中,AO实现代码框架的生成就可以围绕连接器来加以实现,以此形成一种新的面向方面建模方法以弥补上述两种建模方法的不足。至于多种AOP实现技术中的异同点,则可以作为建模方法在导出AO实现代码框架时的特殊情况加以处理。这种建模方法在实现以上两种方法的优点的同时,避免了这两种方法带来的种种弊端,同时对产生AO实现代码框架提供比较好的支持。通过淡化AOP相关概念,降低了AOP技术的准入门槛,通过从设计模型与分析模型中,生成AO实现代码框架,以指导开发人员顺利地完成编程工作,降低了引入AOP的技术风险。

全文目录


摘要  6-8
ABSTRACT  8-13
第一章 引言  13-20
  1.1 研究背景  13-16
    1.1.1 AOP得不到广泛应用的原因  13-14
    1.1.2 UML中没有支持Aspect的元素  14-15
    1.1.3 软件的设计和编码脱节  15-16
    1.1.4 问题总结  16
  1.2 解决方案  16-18
    1.2.1 将AOP移动到软件的分析设计阶段  16-17
    1.2.2 在面向对象模型中增加AO模型的元素  17-18
    1.2.3 AOP信息的存储和代码框架生成  18
  1.3 技术路线  18-19
  1.4 本文的主要贡献  19
  1.5 本文的组织结构  19-20
第二章 面向方面编程及其应用  20-26
  2.1 AOP产生背景  20
  2.2 面向方面编程概述  20-21
    2.2.1 什么是Aspect  20
    2.2.2 Aspect提供了封装  20-21
    2.2.3 织入的概念  21
  2.3 面向方面编程典型应用  21-23
    2.3.1 数据的加密与解密  21-22
    2.3.2 数据的压缩解压缩  22
    2.3.3 对象的持久化  22-23
    2.3.4 事务管理  23
    2.3.5 负载平衡  23
    2.3.6 日志功能  23
  2.4 面向方面编程的新型应用  23-25
    2.4.1 系统的个性定制  24
    2.4.2 信息缺损的处理  24
    2.4.3 操作同步  24-25
    2.4.4 执行时间限制  25
    2.4.5 内存占用限制  25
  2.5 小结  25-26
第三章 面向方面编程语言及其建模  26-50
  3.1 面向方面编程的实现技术  26-27
    3.1.1 AOP语言规范  26
    3.1.2 AOP的语言实现  26-27
  3.2 面向方面编程的实现语言  27-44
    3.2.1 AspectJ—Java的AOP实现  27-31
    3.2.2 JAsCo—基于组件的AOP实现  31-38
    3.2.3 AspectWerkz—基于POJO的AOP实现  38-44
  3.3 面向方面编程的建模  44-49
    3.3.1 对UML进行扩展的AOP建模  44-47
    3.3.2 使用图形转换的AOP建模  47-49
    3.3.3 两种建模方法的分析  49
  3.4 小结  49-50
第四章 不同AOP实现中共同信息的归纳与存储  50-64
  4.1 不同AOP实现中共同信息的归纳  50-61
    4.1.1 AOP的中心:连接点  50-52
    4.1.2 不同AOP实现中方面的比较  52-55
    4.1.3 不同AOP实现中语法的差异  55-56
    4.1.4 不同AOP实现中方面语义的相似性  56-58
    4.1.5 不同AOP实现中方面语言的机制  58-59
    4.1.6 不同AOP实现中共同信息的归纳  59-61
  4.2 不同AOP实现中共同信息的存储  61-63
    4.2.1 AOP共同信息直接存储  61-62
    4.2.2 数据库模型存储  62-63
    4.2.3 混合式存储  63
  4.3 小结  63-64
第五章 连接器  64-74
  5.1 什么是连接器  64
  5.2 连接器的用法  64-65
  5.3 连接器的意义  65-68
    5.3.1 为什么要有连接器  65-66
    5.3.2 连接器解决的问题  66-67
    5.3.3 连接器的要求  67-68
  5.4 连接器的引入  68-71
    5.4.1 连接器的目的  68
    5.4.2 连接器的位置  68-69
    5.4.3 包级别分解  69-70
    5.4.4 连接器语义  70-71
  5.5 代码框架的生成  71-72
    5.5.1 代码框架生成的意义  71-72
    5.5.2 代码框架生成的过程  72
  5.6 小结  72-74
第六章 AOPDesigner工具的实现框架  74-80
  6.1 设计目的  74
  6.2 用户界面  74-77
  6.3 系统框架  77-78
    6.3.1 总体框架  77
    6.3.2 代码结构  77-78
  6.4 小结  78-80
第七章 应用实例  80-86
  7.1 实例描述  80-81
    7.1.1 用例图  80-81
    7.1.2 类图  81
  7.2 AOPDesigner工具使用  81-85
    7.2.1 AO元素建模  82
    7.2.2 添加连接器  82-83
    7.2.3 共同信息生成  83-84
    7.2.4 AOP代码框架生成  84-85
  7.3 小结  85-86
第八章 总结与展望  86-89
  8.1 本文总结  86-87
  8.2 相关工作  87-88
  8.3 未来展望  88-89
第九章 参考文献  89-93
致谢  93-94
附录 攻读学位期间发表的学术论文目录  94

相似论文

  1. 面向SMDA的服务建模方法及工具实现,TP311.52
  2. 面向RIA开发模型的研究,TP311.5
  3. 游戏公司计费系统的设计与实现,TP311.52
  4. 宜宾移动IT支撑系统设计研究,TP311.52
  5. 盘锦市区划地名信息系统的设计与实现,TP311.52
  6. 银行用户数据管理系统的设计与实现,TP311.52
  7. 基于模型的设计在ARM直流电机控制开发中的应用,TM33
  8. 应用于并联型高压断路器的高耦合度分裂电抗器高频暂态过电压研究,TM864
  9. 基于智能手机的传送网风险控制系统的设计与实现,TP273
  10. 仿动物软件工程方法基因模型研究,TP311.52
  11. 基于SSH框架的出版物管理系统的设计与实现,TP311.52
  12. 大型射电望远镜主动面系统控制软件的开发,TH751
  13. 自主模型建模方法研究,TP391.9
  14. ASP模式下的轴承设计系统研究,TP391.7
  15. 基于构件的装备保障业务信息系统的设计与实现,TP311.52
  16. 电力工程项目管理系统的研究与实现,TP311.52
  17. 基于知识发现的职业技术教育管理系统设计与实现,TP311.52
  18. 基于B/S模式的云南财经大学院系管理信息系统的设计与实现,TP311.52
  19. 内蒙古中小学考试系统的设计与实现,TP311.52
  20. 基于.NET的电厂设备管理系统的设计与开发,TP311.52
  21. 深圳航空公司飞行管理系统分析与设计,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com