论文部分内容阅读
随着计算机技术的发展,基于构件的软件开发逐渐成为软件开发的主流技术,它为软件的高开发费用、低生产率、不可控制的软件质量和高风险性提供了有效的解决途径。但是基于构件的软件开发也遇到了系统横切方面的问题,很容易导致代码混乱和代码分散,不仅不利于构件的复用,而且还造成系统结构和行为不清晰,给软件的开发和维护带来了困难。
针对上述问题,本文在基于构件的软件开发中引入了面向侧面的编程思想。面向侧面编程能够实现关注点的分离,解决横切方面的问题,并有助于更好地对系统进行分析和理解,增强软件系统的自适应性、可维护性和高度的可复用性。
本文首先提出了一个面向侧面的开发模型,并通过一个图书管理系统着重说明了面向侧面分析设计过程中遇到的问题,并给出了相应的解决方案。单纯分析某个系统并不是解决这一类问题的关键,必须从体系结构层次上对系统进行描述,才是解决问题的关键。
其次定义了侧面模型,并在此基础上对构件和侧面的交互语义进行了定义,为体系结构描述语言的扩展以及框架的提出建立了理论基础。在分布式软件体系结构基础上引入了面向侧面软件开发思想,对体系结构描述语言进行了扩展。引入侧面后软件体系结构将是由系统中的构件、侧面、连接以及约束构成的配置格局,本文分别对其进行了描述,扩展后的体系结构描述语言增强了对非功能属性、构件与侧面交互的描述能力。体系结构描述语言为各种工具的开发提供了一个良好的基础。
最后,提出了一个构件和侧面的交互框架,并通过消息队列和消息截获技术为框架提供了一个运行支撑环境,消息队列技术为分布式环境下构件和侧面消息的可靠传输提供了一种良好的支持,消息截获技术为侧面的实施应用提供了技术支持,支撑环境的建立为构件和侧面的应用提供了一个切实有效的途径。