面向方面的软件开发辅助平台
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
本文介绍了软件设计过程中类间协作的特点以及非法类间协作引发的问题,并通过开发面向方面的软件开发辅助平台来捕获代码中的非法类间协作。通过讨论面向对象软件开发方式的不足,引入面向方面开发思想的优点,提出了一种可能的由面向对象软件开发方法向面向方面软件开发方法的过渡手段,即通过分析代码的非法协作来发现系统关注点的相互叠加。通过分析面向对象开发方法中某段代码是否涉及了多个关注点,从而可以使用面向方面语言把这些次要关注点从外部进行织入,并在此思想的推动下开发出来的一个软件开发辅助工具,在一定程度上帮助开发人员分析手中的代码。本文描述了该辅助工具的开发过程,其中分析了代码中的类间协作,提出了合法协作和非法协作的观点,并开发出相应功能将非法协作识别出来。最后引入面向方面的分析技术,作为前瞻性技术的一个介绍和展望。
In this paper, characteristics of collaborations among classes in software design process and problems brought by the illegal collaborations among classes are discussed, and an aided software tool is designed for capturing these illegal collaborations among classes in the source code. By investigating the weak points of the object-oriented paradigm and advantages of the aspect-oriented paradigm, a possible transition way from object-oriented to aspect-oriented is proposed, which can discover the superposition of concerns by analyzing the illegal collaborations among classes. By analyzing whether more than one concerns are involved in one unit of codes, subordinate concerns can then be weaved from outside of an aspect. Based on this idea, a software development assistant kit is developed to help the developer analyze their codes. Emphasis of this paper is put on the development process of the kit. By investigating collaborations between two classes, we put forward the concepts of "legal collaboration" and "illegal collaboration" and then develop the relevant function for identifying the illegal collaborations. At the end of the paper, prospects of the aspect-oriented analysis technology are presented.
引文
[1](美)Bruce Eckel著,陈昊鹏 译,JAVA编程思想第四版,机械工业出版社,2008年1月第1版(880)。
    [2]阎宏 著 JAVA与模式,电子工业出版社,2002年10月第1版。
    [3]Ivar Jacobson,Pan-Wei Ng著,徐锋 译,AOSD中文版—基于用例的面向方面软件开发,电子工业出版社,2005年10月(418)。
    [4]Robert E.Filman等主编,莫倩 等译,面向方面的软件开发,机械工业出版社,2006年1月第一版(460)。
    [5]Craig Larman著,李洋 等译,UML和模式应用,机械工业出版社,2006年9月第一版。
    [6]Joseph D.Gradecki,Nicholas Lesiecki著,王欣轩 等译,精通Aspect J,清华大学出版社,2005年1月第一版。
    [7]Russ Miles著,程利剑译,Aspect J Cookbook中文版,清华大学出版社,2006年11月第一版。
    [8]吴亚锋 纪超 编著,Java SE 6.0编程指南,人民邮电出版社,2007年11月第一版。
    [9]Alan Shalloway,James R.Trott著,徐言声 译,设计模式解析 人民邮电出版社,2006年10月第二版。
    [10]Siobhan Clarke,Elisa Baniassad著,郭旭 译,面向方面的分析与设计Theme方法,机械工业出版社,2006年5月第一版。
    [11](美)Colyer,A.等著,钱竹青,邹正武 译,Eclipse AspectJ中文版:利用Eclipse和AspectJ进行面向方面程序设计,清华大学出版社,2006-12月第1版。
    [12]Eric Evans著,陈大峰等译 领域驱动设计 清华大学出版社,2006年03月第1版。
    [13 结城浩 著 博硕文化译 设计模式—JAVA语言中的应用 中国铁道出版社,2005年06月第1版。
    [14]Robert C.Martin著,邓辉 译,敏捷软件开发——原则、模式与实践,清 华大学出版社,2003年9月第1版。
    [15]Martin Fowler著,候捷,熊节译,重构——改善既有代码的设计(中文版),中国电力出版社,2003年8月第1版。
    [16]郭禾,刘天阳,陈锋,王宇新,刁华丽.一种基于AOP的软件演化策略设计与实现,大连理工大学学报,2007年02期.
    [17]李彬玉,吴洁明.基于AOP和Template模式实现数据持久化处理框架CNKI:ISSN:1001-9960.0.2007-06-005.
    [18]古全友,王恩波,胥昌胜.AOP技术在J2EE系统构建中的应用[J]计算机技术与发展,2006,(04).
    [19]骆斌,陈武华,张东摩,陈世福.意向驱动的AOP语言AOPLID[J].南京大学学报(自然科学版),2000,(05).
    [20]牛牧,刘丽,祝建中.基于JAVA动态代理的事务处理[J].科技广场,2007,(03)
    [21]范后军.面向方面编程在WEB系统中的应用与研究[D]北京交通大学,2007.
    [22]董波涛,潘凌霞,基于AOP方法的应用软件开发方式研究,CNKI:ISSN:1672-7800.0.2007-03-006.
    [23]吴元斌.面向对象技术与面向agent技术的比较研究[J]计算机工程与应用,2001,(19).
    [24]王向安,张成洪,严正.基于AOP的软件开发方式改善[J]微型电脑应用,2003,(11).
    [25]陈垚.基于AOP的轻量级解耦框架的设计与实现[D]东北大学,2006.
    [26]张瞩熹.面向方面编程在软件可管理性上的研究与实现[D]国防科学技术大学,2006.
    [27]周颖颖.基于AOP的横切关注点实现架构应用研究[D]大连海事大学,2006.
    [28]王昆昆,邹书蓉.面向切面编程(AOP)在J2EE公共问题中应用,黑龙江省计算机学会2007年学术交流年会论文集,2007年.
    [29]付登科,郝克刚,葛玮.AOP改进观察者模式——实现关注点的分离[J]计算 机应用,2005,(S1).
    [39]潘晔,任广伟.基于AOSD的Web架构规划[J].计算机技术与发展,2006,(12)
    [31]何丽莉.横切关注分离方法研究[D]吉林大学,2007.
    [32]顾治华,贾仰理,张振领,黄德启,AOSD方法及其在分布式系统开发中的应用cnki:ISSN:1000-7024.0.2006-17-061.
    [33]Elrad,Tzilla,Robert E.Filman,and AtefBader.Aspect oriented programming.Communications of the ACM.October,2001,Vol.44,NO.10.
    [34]Ramnivas Laddad,刘克科.使用AspectJ描述现实问题里的横切关注点[J].程序员,2002,(11).
    [35]Shah V,Hill F.An aspect-oriented security framework.DARPA Information Survivability Conference and Exposition,2003 Proceedings.2003.
    [36]Gregor Kiczales,Erik Hilsdale,Jim Hugunin,Mik Kersten,Jeffrey Palm,and William G Griswold.An Overview of AspectJ.Proc.of ECOOP.Springer-Verlag,2001,.
    [37]Lesiecki N.Applying AspectJ to J2EE Application Development Digital Object Identifier 10.1109.2006,Volume 23(Issue 1).
    [38]http://www.blueJ.org
    [39]http://www.javanb.com/java/2/19497.html,"InsideJVM".

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700