论文部分内容阅读
随着软件规模和复杂度不断提升,传统的软件开发模式已经无法满足在业务多变的环境下进行软件开发的需求。作为一种实现大规模定制生产的软件开发方法,软件产品线工程试图在一定程度上解决这个问题。然而,现在对于特征驱动的软件产品线工程的研究仍有一些不足之处:由于缺乏特征模型与核心资产的追溯关系,在产品线演化过程中无法保证对特征模型的定制能够一致地映射到相关构件及其实现过程中;另一方面,特征模型自身的一致性也缺乏相应的规则进行约束。为了解决这些问题,本文在已有的研究成果基础上提出了一种支持特征追溯和演化的软件产品线特征模型,并开发相应的支持工具进行实现。首先,在传统特征模型基础上,将特征与构件的关联信息、体现特征演化状态的特征绑定信息以及核心资产的标记信息引入特征模型中,并通过对特征之间约束关系的分析定义了一致性约束的相关规则,同时给出了特征模型整体结构的形式化描述。然后,基于上述特征模型提出了一种特征到核心资产构件的追溯方法;同时从特征之间的精化关系和约束关系出发,结合特征横切和控制反转技术提出一种软件产品线演化方法,并对演化过程进行一致性约束校验。再次,基于上述追溯和演化方法,设计并开发了特征追溯和演化工具FSET。FSET为软件产品线特征模型的构建和演化提供了可视化编辑视图,并实现了特征模型到核心资产的追溯功能,同时提供了软件产品线演化过程中的一致性校验机制。最后,在特征模型的基础上,引入分离关注点的思想,提出软件产品线体系结构设计原则,并基于这些原则对软件产品线体系结构进行分层设计。接着根据特征模型中不同类型的特征划分软件产品线的构件类型,并在此基础上采用封装策略和组装机制对不同类型的构件进行实现,从而使软件产品线体系结构符合特征追溯和演化的需求。综上所述,本文研究了面向软件产品线的特征模型,提出了一种基于特征模型的特征追溯和演化方法,并设计和实现了相关的支持工具,最后通过劳动力市场信息系统软件产品线案例说明了本文追溯和演化方法的可行性和有效性。