论文部分内容阅读
随着软件系统的密集程度和复杂度逐渐增长,人们发现软件产品线工程是一个促进软件复用、高效管理软件产品复杂性的软件工程方法。对大规模软件系统中公共部分以及可变部分的定义、描述、管理、开发是软件产品线工程的关键问题。面向特征的可变性建模作为一种有效描述产品家族可变性与共性的建模方法,已成为管理可变性的主流方法,其中特征模型是应用最为广泛的可变性模型。虽然存在大量基于传统特征模型的扩展,但仍存在以下亟待解决的问题。首先扩展的特征模型在特定问题上的可变性表达能力存在不足。领域分析人员对强制与可选这种可变性机制的语义理解存在不一致,导致建模过程的差异而带来混乱。最后,以单个特征为基本单元的细粒度配置过程对于用户来说过于复杂,加大了用户对定制化软件的需求选择难度。为此,本文研究面向软件产品线的特征模型关键技术与应用,主要工作包括如下几方面:1.在传统特征模型的基础上提出了一种强化的特征模型元模型,给出模型的一致性约束规则,对特征、特征属性、特征关系等建模元素进行详细定义,提出配置向量与变体约束属性以丰富可变性表达能力。2.在所提出的特征模型上分析并提取模型所表达的领域共性。领域共性与软件产品线核心需求表现为特征模型中一组核心特征,本文提出启发性策略以识别核心特征,将其分类为直接可达核心特征、依赖传递核心特征、间接可达核心特征,并设计算法在特征模型上自动提取核心特征集合。3.在获取核心特征集合的基础上,重新定义已有的可配置特征单元概念,将组成单元的特征集合范围缩小至特征模型中的可变特征。可配置特征单元表现了特征模型的可变性,可进一步的缩小配置范围,本文定义可配置单元的结构关系与约束关系,设计算法识别可配置单元,并实现领域特征模型至可配置特征模型组织结构上的转化。4.实现了本文提出的特征模型以及各个算法,借助并扩展特征建模工具FeatureIDE将本文所介绍的特征模型以及相关算法应用于慢阻肺家庭护理领域产品线中,验证了本文方法的有效性。