论文部分内容阅读
随着互联网技术的飞速发展,软件系统的运行环境越来越趋于网络化,导致用户对软件性能的要求不断提升,软件的变化性和复杂程度也进一步提高。此时,软件演化逐渐显现出来,成为了领域中的研究热点。软件复杂性变高,要求我们必须从宏观层面入手,软件体系结构从系统全局刻画系统结构,是软件演化的重要依据,因此体系结构的演化已经成为许多软件系统的根本需求。传统的面向对象技术良好的解决了体系结构中单个业务逻辑的实现问题,但是由于系统中横切关注点和需求多变性的存在,面向对象技术便显现出了其局限性。面向方面技术的提出恰好为解决系统中的横切问题提出了可行的方法,利用面向对象技术将系统中的横切属性封装形成方面,很好的解决了软件系统的代码分散问题,有利于系统的维护和演化。此外,当前软件系统的演化愈发频繁,如何进行体系结构层面的演化影响分析也是当前的研究热点。现存的基于体系结构演化的研究并没有实现有效分析演化变更的手段以保持软件动态演化的完整性和可控性。为了解决上述问题,作者通过大量文献阅读和研究工作,将AOP思想引入到软件体系结构中,对两者的优点进行分析和结合,提出了面向方面的软件体系结构模型;利用反射原理解决体系结构运行时不可见的问题,提出了一种支持动态演化的反射式架构RFSAAO,实现了对演化的控制;演化就会带来变更,变更会对软件系统产生影响,针对体系结构演化产生的变更,本文从静态和动态两方面分别详细分析了构件间的依赖关系,最终实现了体系结构层次的演化影响分析并应用到实例中,对该方法进行了初步验证,为软件演化实现良好的可控性打下理论基础。