网站大量收购独家精品文档,联系QQ:2885784924

基于UML状态图的面向方面软件建模.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于UML状态图的面向方面软件建模   摘要:该文基于UML状态图对缓存并发读写问题进行面向方面的建模,把系统的同步和调度分离出来,建模为方面。该方法有效解决了面向对象中功能和代码混乱的现象,也提高了系统模块的可复用性。   关键词:面向方面;UML;状态图; 同步;调度   中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)09-2087-03   Aspect-oriented Software Modeling Based on UML State Diagram   ZHI Lin-xian   (Computer Department, Lishui College, Lishui 323000, China)   Abstract: This paper analyses the problem of reading and writing buffer concurrently which is modeled by using aspect-oriented based on UML state diagram .The synchrony and scheduling is separated from system and modeled as aspect. This method solves the problem of code-tangling and function-tangling in OOP effectively and also increases the reusability of system module.   Key words: aspect orientation; UML; state diagram; synchrony; scheduling   当前,面向对象编程(OOP)得到了广泛的应用,OOP在开发复杂系统时体现出了其强大的能力[1]。但是OOP无法模块化横切整个系统的单元,如实时约束、安全策略、异常捕捉与处理、日志记录等,因此OOP在解决横切关注点(crosscutting concerns)时造成了代码的分散和混乱。面向方面的编程(Aspect-oriented programming) 则把这些横切关注点封装成单独的模块,称为方面(Aspect)。通过织入(weaving)技术把这些代码和核心模块组合在一起,在不改变原有模块封装性的前提下解决了上述问题[2-4]。   AOP是一种新的编程规范,但它不是对OOP的否定,而是OOP思想的补充和发展[2]。目前OOP发展比较成熟,在建模方面有统一的建模语言(UML)支持[5]。而AOP大都在程序级和执行级实现,在软件开发的早期阶段运用较少,还没有正式的建模技术和统一的建模标准。鉴于AO是OO技术的补充,可以使用UML及其扩展机制对面向方面的软件建模[6-7]。   1 面向方面编程   目前支持面向方面的编程语言有很多,如AspectJ、AspectC++、AspectC等。尽管它们有不同的语言规范,但是理论基础大致相同,模型和实现机制比较类似:采用了连接点模型显式地声明程序的横切结构、通知机制指定在程序执行过程中遇到匹配的切入点时应当采取什么行动等。下面就是一些AOP的核心概念[2,7]:   方面(Aspect):方面是AOP的核心概念,它类同于OOP中类的概念。方面是横切关注点模块化的基本单元,是横切行为的封装体。从代码实现的角度来看,方面是面向方面编程语言的语言结构,它将AOP中实现横切行为所需要的语法元素(切入点、通知体等)都封装在同一个逻辑单元里,并且可以拥有自定义的结构成员(如数据成员和方法等)。   连接点(Joinpoint):连接点是指在程序的结构中或执行流中能够被标识的位置,是可能发生横切行为的位置。方法体的调用或执行,属性赋值或读取等代码都可以看成是连接点。   切点(Pointcut):切点就一个或者多个连接点的逻辑组合,用来捕获或识别程序流中的连接点以及这些连接点相关的上下文值。一个系统通常有多个横切关注点,分别对应不同的横切面,AOP需要为每个横切面定义一个 切点,定义切点的关键在于精确捕获横切面对应的所有连接点。   通知(Advice):通知是预先定义好的在连接点处执行的代码,称为“通知体”,通知体不仅定义了横切行为的内容,还定义了横切关注点和核心关注点的横切关系。横切关系一般有before、after、around三种。,其中before是指在连接点所标识的代码执行之前执行通知体,after是指在连接点所标识的代码执行之后再执行通知体,而around是指由通知体代替连接点所标识的代码。   2 面向方面建模  

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档