论文部分内容阅读
软件复用和构件技术作为提高软件开发的效率和质量的重要途径已经得到广泛的认同。在此基础上,软件工程研究所(SEI)借鉴制造业中生产线的成功经验,提出了软件产品线(Software Product Line)的思想。软件产品线针对特定领域中的一系列具有公共特性的软件系统,试图通过对领域共性和可变性的把握构造一系列领域核心资产,从而使特定的软件产品可以在这些核心资产基础上按照预定义的方式快速、高效地构造出来。软件产品线是一种针对特定领域、系统的、全面的基于构件的复用式开发范例,区别于偶然的复用以及基于复用的单个系统开发等。因此,软件产品线十分强调领域级的需求分析以及产品线体系结构的重要作用,它们对于作为产品线基础设施的领域核心资产在产品开发中的可复用性以及适应特定应用需求的灵活性有着决定性作用。本文的研究针对产品线开发中领域分析建模、体系结构设计和应用工程等关键环节,采用广泛使用的特征建模方法,以基于本体的特征模型作为领域分析以及体系结构和构件设计的基础,从而将各个产品线开发阶段有机地联系起来,使相关开发活动能够平滑地完成过渡。本文首先提出了一种基于本体的特征建模方法,该方法在本体基础上为领域模型和应用模型定义了统一的特征元模型,并提供了良好的模块化机制,同时还运用本体的推理能力实现了特征模型的一致性检查。在此基础上,本文提出了一种基于特征本体的构件静态语义描述框架以及基于通信顺序进程CSP和特征语义的构件行为协议描述方法,为特征模型向体系结构和构件模型的转换以及面向复用的构件和体系结构适配创造了条件。针对领域体系结构设计,本文在基于本体的特征模型基础上提出了一种概念体系结构设计方法,该方法主要考虑构件间的功能分配和交互边界设计,可以自动地为开发者提供最初的领域体系结构方案。在此基础上,本文还对面向复用的构件适配以及连接器设计进行了探讨。最后,本文提出了面向特定应用需求的特征模型和体系结构定制方法,以及基于特征模型的体系结构一致性检查方法,并结合一个领域开发实例以及相关的工具实现进行了说明。总的来说,本文针对产品线开发过程中问题空间(领域需求)与解空间(体系结构及构件)之间的鸿沟,以及适应不同应用需求的领域体系结构灵活性和可定制性以及需求追踪等方面的困难,将特征工程的思想与领域工程技术结合起来,以基于本体的特征语义作为纽带将特征模型和体系结构模型联系起来,不仅使问题空间到解空间的过渡平滑起来,而且使基于本体推理的特征模型和体系结构一致性维护成为可能。相关方法已经在课题组的研究中实现为基于本体的特征建模工具和基于特征模型的体系结构设计工具,有望对产品线软件开发提供有力的支持。