论文部分内容阅读
构造性和演化性是软件的两个基本特性。软件演化由一系列复杂的变化活动组成,所以对软件变化甚至演化进行管理显得比较复杂而又困难。软件演化管理的复杂性决定了对软件演化管理的研究首先应从宏观层面入手。软件架(SA),作为软件的蓝图和支撑骨架,为人们宏观把握软件的整体结构和软件演化提供了一条有效的途径。因此软件架构演化管理是软件演化管理的基础,研究软件架构演化管理有非常重要的理论意义。另外,软件架构是软件生命周期的早期产品。软件架构像软件生命周期中产生的其它产品一样也必然会更改和演化,它的演化也必须被管理。因此研究软件架构演化管理也有十分重要的实际应用价值。综上所述,深入研究软件架构演化管理是非常必要的。本文主要针对软件架构演化管理进行研究。软件架构演化管理主要有以下五项内容:管理单个组件的多个版本、管理可选组件、管理变体组件、管理可选变体组件和管理变体组件间的关系。由于用软件配置管理系统(SCM)管理软件架构演化存在严重的不足,而且又因为用现有的集成SCM 和SA 的方法管理软件架构演化并不完备,因此我们提出了一个新的集成软件架构演化管理模型SAEM(Software Architecture Evolution Management)。SAEM 模型集成软件架构概念和配置管理概念为一个单一表示,它包含软件架构概念模型和配置管理系统模型。本文的SAEM 模型既能有效地支持软件架构演化管理的五项主要内容,又避免了用SCM 管理软件架构演化的不足。因此,SAEM 模型具有以下独特的优点:它既能在单个构件的细粒度级别,又能在架构的粗粒度级别准确地捕获所有的架构变更以及这些变更间的关系。本文首先介绍了SAEM 模型的理论基础,即SAEM 模型用到的SCM 领域和SA 领域的概念和技术。其次,详细介绍了软件架构描述语言,特别是详细地介绍了xADL2.0。然后,提出了SAEM 模型,并用SAEM 模型的架构演化管理能力论证了它的可行性。最后,本文用xADL2.0 和xADL2.0 的扩展来实现SAEM 模型,以便将来在此实现上构建基于SAEM 模型的架构演化管理系统。