论文部分内容阅读
领域工程是软件复用研究的一个重要方向。领域工程侧重在一个领域内系统性的、有计划的复用。其基本思想是通过领域分析,领域设计,领域实现等阶段开发出领域核心资产库;在开发应用系统时,通过定制及适配等方式复用核心资产库中的软件制品,从而提高应用开发的效率和质量。领域制品可以分为三个不同的抽象层次,即需求、设计和实现。在基于定制的软件开发过程中,需要对这三个不同抽象层次的制品分别进行定制。然而这三个层次的制品之间是存在内在联系的,能否通过对需求的定制,自动定制出应用的体系结构及应用的实现代码,正是本文所针对的问题。本文通过采用相应的设计和实现方法,建立特征模型。体系结构-实现代码之间的映射关系,然后基于这种映射关系,达到自动定制设计和实现层软件制品的目的.
在需求层,本文采用特征模型来组织需求。特征模型使用特征作为组织需求的基本单元,其优点是易于表达领域内的共性和变化性并方便定制。
在体系结构层,本文使用构件、责任和交互关系来组织体系结构。特征模型和体系结构之间的映射关系是分两个步骤来建立的,第一步是将特征操作化为责任及责任间的交互关系,第二步是将责任分配到构件并形成构件间的交互关系。以责任为媒介,从而可以通过特征的定制实现体系结构的定制。
在实现层,本文采用OOP和AOP作为主要的实现技术。为了使实现代码具有可定制性,将每个责任实现为一个aspect。通过aspect的pointcut定义机制来解耦责任间的交互关系。同时,通过分析责任间的依赖关系来管理代码间的相互引用关系,从而使得在定制体系结构的基础上相应的实现代码也具有良好的可定制性.
本文在详细论述所采用的相关方法的基础上,开发了相应的支撑工具。支撑工具提供了特征编辑器,责任编辑器,构件编辑器,源代码编辑器,特征模型定制,以及自动定制体系结构和自动定制应用代码等一系列的支持。最后本文还提供了一个完整的例子来演示本文方法的可行性及工具的可用性.