论文部分内容阅读
OOSD技术能够较好的解决核心关注点的问题,但是对于横切关注点的处理以及如何响应软件需求的多变性,仍然具有局限性。而AOSD技术正是针对这一问题而被提出的。AOSD技术是面向对象方法的演绎和发展,将分离横切关注点的思想贯穿在整个软件开发的生命周期当中,使得从软件开发早期的分析设计阶段就考虑对横切关注点的分离,从而解决代码实现时的代码交织和分散的问题,模块化的实现横切特性,实现各个构件或模块的弱耦合性,从而提高软件的复用性,降低软件维护和扩展的难度。其中,对于软件架构设计的这个阶段,通过对目前的软件架构设计方法进行研究和分析,发现传统的架构设计方法还不能分离和描述横切关注点,而是采用忽略的态度将之放到代码实现的时候再来处理,从而增加了从架构设计到代码实现平滑过渡的难度,增加了功能组件可重用的难度,最终导致系统扩展和维护的难度。因此为了能够解决横切关注点所存在的问题,提高软件开发的效率和质量,就需要设计出一种能够分离横切关注点的软件架构设计方法。
首先,文中阐述了横切关注点存在的问题和软件架构设计的重要作用和地位,认真研究了目前常用的一种架构设计模式即MVC模式,从而改进形成了一种支持分离横切关注点的AOMVC设计模式。然后对基于MVC模式的Web框架模式中最早开源的Struts框架进行改进,使其与Spring框架相结合,从而形成一种能够支持业务层管理的STSPF框架。最后应用AOMVC模式将STSPF框架进行改进,最后形成了一种高效的能够分离横切关注点的面向方面的软件架构即“基于MVC模式分离横切关注点的软件架构”。该架构能够从数据和功能上实现核心关注点和横切关注点的分离,从而实现核心功能模块和横切功能模块的系统级重用,实现系统的高度模块化,同时还支持AOADL的架构描述语言对横切关注点进行描述。最后通过一个实例的对比证明了基于MVC模式分离横切关注点的软件架构设计方法是可行和有效的。