论文部分内容阅读
软件产品线工程是实现大规模软件复用的系统化方法之一,软件产品线工程包含领域工程和应用工程,需求工程是领域分析的第一个阶段,也是很重要的阶段之一。领域需求是软件复用的基础和领域分析的产物,软件产品线通过分析领域需求的共性和可变性来生成一个领域可复用的核心资产,因而领域需求是软件产品线工程中非常重要的角色。本文的研究主要针对基于领域的需求工程对软件产品线开发的影响,着重在领域需求获取和分析方法、需求之间依赖关系的分析和管理、需求依赖对产品线核心资产—架构—的影响、软件产品线的可变性的建模和管理、以及产品线需求可追溯性管理,从而将领域需求对软件产品线各个阶段的影响联系起来,使领域需求在产品线中得到很好的体现并有效地指导产品线的开发。本文首先提出了一种基于本体的领域需求获取和分析的方法。该方法采用主观分解方法把复杂的问题领域分解成多个子问题领域;使用自顶向下的求精方法将每个子问题领域分解为原需求,并用本体定义来描述原需求。解决了领域描述的共性、可变性以及质量属性问题,引入了推理逻辑来检测需求的完整性和一致性。领域需求之间的依赖关系对软件产品线的所有开发过程都有很大的影响,本文针对面向特征的产品线需求依赖局限于问题域以及领域建模局限于需求依赖建模上的问题,从面向特征的角度对领域需求依赖进行管理。定义了一种特征依赖的分类方法;采用基于有向图的方法来分析领域需求依赖,以达到对产品线中产品的有效配置。本方法用了一种简单的有向图,并用一个有效的算法得到一个产品的需求闭包集合。在上述定义的特征依赖的分类方法基础上,然后提出了从领域需求到特征,以及从特征到产品线体系结构的映射规则,以减少产品线中核心资产的不一致性并增加产品线的复用程度;同时验证了基于这些映射规则,产品线核心资产之间的一致性继承需求之间的一致性。本方法支持从领域需求方便地产生产品线体系结构,并保持产品线核心资产之间的一致性和领域需求之间的一致性。本文对软件产品线的可变性进行了研究,文中给出了一个可变性元模型,并给出了在该模型下的可变性管理技术,采用了一个分离的可变性模型和产品线其他产物之间的依赖关系来保证可变性在所有阶段和其他产物之间的一致性。然后文章给出一个需求跟踪模型以及正向、逆向需求跟踪算法来管理产品线上各个阶段的需求实现情况及需求变更。为了体现相关关键技术的实用性,在文中,均结合了实例“现货和期货电子交易系统”来分析和设计。最后文章对全文进行了总结,并指明了进一步的发展方向。