论文部分内容阅读
随着软件规模的扩大,遗留系统问题越来越突出,软件演化问题逐渐成为今天软件工程研究的热点。软件演化过程,作为软件演化和软件过程的交叉学科,已成为了软件工程的一个关键领域。随着面向方面的编程及其广泛的应用,面向方面的软件开发已经引起了整个软件工程界广泛的关注,面向方面的概念被越来越多的领域所接受。为了便于对软件过程演化中人员、工具及其管理等一系列活动进行有效的管理,本文借助于面向方面的思想将软件过程划分具有核心功能的过程和具有横切属性的过程(即方面),通过将方面编织到核心软件过程中提高软件过程演化的效率和质量。本文致力于采用面向方面的思想来提高软件演化过程的效率。为了这个目的,论文主要工作如下:第一,提出了面向方面的软件演化过程模型,对面向方面的软件演化过程构件、过程连接件和方面连接件分别进行了定义。第二,提出了面向方面的软件演化过程体系结构(AOSEPA),并设计了AOSEPA描述语言(AOSEPADL)。AOSEPADL描述了面向方面的软件演化过程构件、过程连接件及方面连接件之间的关系,支持软件演化过程的静态组装和动态组装。第三,提出了面向方面的软件演化过程Petri网。定义了简单过程Petri网并提出过程Petri网的合并算法、对过程Petri网中的方面进行定义并提出方面的合并、继承及扩展算法。第四,提出了面向方面的软件演化过程编织算法,并把编织类型划分为变迁切点类型、弧切点类型和库所切点类型。总之,本论文提出的面向方面的软件演化过程思想是对软件演化过程的补充和完善。