论文部分内容阅读
软件产品线是一种面向特定领域,以全面、系统的软件复用为基础的软件开发方法,包括领域工程和应用工程两个主要阶段。其中,领域工程是产品线核心资产的生产阶段,而应用工程则是基于核心资产的应用产品生产阶段。在任何系统的开发和维护过程中,追踪关系描述分析、设计和实现等不同开发阶段制品之间的关联,追踪关系的表示、获取和维护因此成为一个重要的问题。软件产品线开发由于涵盖领域工程和应用产品两个开发层次,必须保证各个应用产品之间以及与领域核心资产之间的协调和统一,因此追踪关系在其中的作用也就更加重要了。软件产品线开发中的追踪关系除了跨越不同开发阶段的时间(如基本的分析、设计和实现)维度,还涵盖了空间维度上核心资产与应用产品两个层次中开发制品的追踪关联。建立并且维护这种追踪关系能有效地支持基于核心资产的应用产品开发和演化过程,并保证整个软件产品线的统一性和一致性。本文的研究主要关注于软件产品线领域工程中各主要开发活动及其制品之间追踪关系的描述和建立,以及基于追踪关系的应用产品开发和软件产品线增量演化过程。本文的目标是为领域工程中分析、设计和实现等主要阶段的开发制品提出模型化的表示方法,并在元模型层次上提出相应的映射模式和参考转换规则,从而辅助领域工程过程以及相应的基于复用的应用系统工程和软件产品线演化过程。本文首先提出一种软件产品线追踪概念框架,它定义了产品线在不同开发阶段的抽象表示以及各种表示之间的相互联系。在此基础上,对各抽象层次使用特定的建模方法与技术进行特化,提出一种多层次的产品线领域追踪元模型。该元模型定义了领域分析、设计与实现阶段相关的子模型的组成结构,并且建立了子模型元素间的概念级追踪关联。因此,一次领域工程成功实施的结果就是一个领域追踪模型的具体实例。本文随后研究领域工程主要阶段内的建模技术以及模型转换的方法或指导原则。在领域分析阶段,本文采用扩展i-Star的目标建模技术反映用户的意图以及需求的来源,同时引入基于本体的特征建模框架描述以可变性为核心的产品线领域需求,并以目标与特征间的映射模式为基础指导目标模型的特征化过程,其中包含部分自动化实现算法。在领域设计阶段,本文采用扩展方面机制的领域体系结构支持由可变性所引起的多种类型的构件交互情况,另外引入角色模型作为特征模型与体系结构的中间层次,将特征驱动的领域体系结构设计过程分解为基于特征的角色建模与基于角色模型的体系结构设计。在领域实现阶段,体系结构中概念构件与实体构件具有直接映射的关系,因此实现构件的开发能够直接遵循构件规约的定义。在领域分析与领域设计相关方法的阐述中,本文以同一个产品线应用实例及相关支持工具FdDAT描述领域工程的建模与模型转换过程。追踪模型实例包含具体的制品追踪关联,因此本文还将研究在此基础上的软件产品线应用产品生成方法以及增量演化过程。对于前者,以应用需求为依据配置领域体系结构,并基于概念构件到实体构件的具体追踪关联使用不同的组装机制分别实现对应的构件交互模式,生产出符合特定需求的应用系统,另外该方法给出领域体系结构设计与构件组装工具FdSPLC。对于后者,本文提出了一种特征驱动的产品线增量泛化方法,它包括一组特征模型层次上的基本泛化场景及其组合指导,并且利用特征与实现单元间的具体追踪关联实现自动化的代码演化。