论文部分内容阅读
演化是软件固有的本质特征之一。提高软件易演化性一直是软件工程的重要研究目标之一。构件化软件开发作为软件复用的核心技术,是当前的主流技术之一,它的演化具有其特殊性。本文研究构件化软件开发中演化信息获取与应用的相关技术。
本文从模型、技术、过程三个角度出发进行研究,探讨如何收集和获取构件化软件的演化信息,如何应用这些演化信息指导构件化软件的开发,并提供自动化的支撑系统环境支持构件化软件的演化。论文主要工作如下:
①针对构件化软件演化的特点,提出了一个支持演化的软件构件模型,可以较整体、较全面地收集和获取构件化软件在演化过程中的演化信息。以青鸟构件模型JBCOM为基础进行研究,相应地给出了扩充的构件描述语言xJBCDI.,同时,研究了支持演化的软件构件模型与软件配置管理模型之间的信息转换,给出了从XJBCDL向基于构件的软件配置管理模型(CBSCM)的映射算法,使构件化软件开发能够与演化管理具有一致的概念体系。
②为提高软件体系结构的易演化性,提出了演化信息驱动的软件体系结构重构方法。其中,研究了通过概念格挖掘演化依赖关系的方法,提出了扩展的构件依赖关系图,将构件间演化依赖关系和逻辑依赖关系集中地进行表示;分析了体系结构重构方法,提出了一系列接口规约和实现体规约的重构基本操作,给出了基于演化信息和基于扩展构件依赖关系图的两种体系结构重构策略。
③在基于框架代码的原子构件实现体的制作中,针对框架变化点实例化模式缺失的情况,提出了挖掘已有原子构件实现体中的框架实例化模式的技术,以辅助制作新的原子构件实现体。
④从技术和过程管理的角度出发,提出了一个支持构件化软件演化的支撑环境框架,并实现了相应的系统原型。该系统不仅支持构件化软件演化信息的收集和捕获、体系结构的自动重构和系统的组装和部署等活动,而且通过定义软件体系结构变化模板、在过程引擎的支持下,可以实现对体系结构的变化控制和变化追踪。
综上所述,本文针对构件化软件的演化特点,提出了一套收集和获取构件化软件演化信息的机制,分别研究了基于演化信息进行体系结构重构和原子构件制作的一些方法,并研究了相应的支持构件化软件演化的支撑环境框架,开发了原型系统。