ABC:基于体系结构、面向构件的软件开发方法(上)(3)
时间:2016-03-23 11:26 文章来源:http://www.lunwenbuluo.com 作者:梅宏,陈锋,冯耀东, 点击次数:
SA到OOD的转换现在还没有一个很好的方法,关于这方面的研究有不少,但主要还是集中在如何使用OO建模语言,如UML等,来描述SA结构上.ABC方法则是希望能够用OOD来缩小SA设计到实现的距离,保持系统开发各阶段间的可追踪性.所以,从构件组装的特点出发,我们提出了一个两阶段的映射方法来解决这个问题,具体的细节后面将会进一步介绍。
·有效的工具支持是必要的.作为一个完整的软件开发方法,ABC提出了自己的概念、建模语言和开发步骤;而要有效地应用到实际工作中,工具支持是不可或缺的。工具可以屏蔽技术细节,提高系统的可视化程度,减少开发人员的重复性劳动,从而提高开发的效率与质量。
1.2基本概念和建模语言
作为基于SA的软件开发方法,ABC的基本概念主要有构件(component)、连接子(connector)和体系结构风格(style),同时吸取了面向Aspect(aspect-oriented)的软件开发的研究成果,引入了Aspect这一概念,以更好地描述实际系统。
构件是指系统中较为独立的功能实体.构件模型是面向构件的软件开发方法的核心,是构件的本质特征及构件间关系的抽象描述,它将构件组装所关心的构件类型、构件形态和表示方法加以标准化,使关心和使用构件的外部环境(如使用构件构造出的应用系统、构件组装辅助工具和构件复用者等)能够在一致的概念模型下观察和使用构件.针对不同的需求,不同的方法采用的构件模型也是不同的。文献[14]根据用途将现有的构件模型分为描述/分类模型、规约/组装模型和实现模型.ABC方法从组装的需要出发,定义构件模型。
这个构件模型主要分为外部接口(interfacespecification)和内部规约(internalspecification)两部分。
(1)外部接口主要描述构件提供给使用者的信息,分为两类:功能规约(functionspecification),构件供外部使用的接口;接入点(entrypoint),构件使用到的外部接口。
(2)内部规约主要包括构件自身结构的语法约束(例如功能规约和接入点的依赖关系,即要提供某个功能需要哪些外部接口)、语义模型(例如与其他构件交互的协议)以及其他一些服务特性(例如吞吐量等)。
同时,构件还可以拥有自己的内部体系结构,这样的构件被称为复合构件.利用复合构件的概念,开发人员可以逐步精化系统的体系结构模型,更好地进行设计与开发。
连接子是SA研究的重要贡献之一,它显式地描述了构件之间的交互关系或交互协议,而在传统的程序设计中,构件间交互的描述往往散布在发生交互的各个构件之中.通过连接子,SA提供了一种在较高抽象层次观察、设计系统并推理系统行为和性质的方式,也提供了设计和实现可复用性更好的构件、甚至复用连接子的途径。
在ABC中,连接子与构件类似,有外部接口和内部规约两个部分,也可以拥有自己的内部结构(具有内部结构的连接子称为复杂连接子)。这样可以为设计人员提供更强的抽象描述能力,并且能够将高层的复杂连接子逐步精化到最终的实现上。但是,与构件可以在多个交互中扮演不同的角色相比,连接子只能在一个交互中起作用.这在接口上表现为构件可以有若干个相互无关的接口,而连接子只能有一组相关联的接口。
体系结构风格是SA中另一个重要的概念。它可以从一组特定的构件类型、一组特定的连接子类型、表示构件之间运行时刻联系的拓扑结构以及一组语义约束这4个方面加以定义[8]体系结构风格是对SA的一种分类,每种体系结构风格表示了一组具有相似特性的软件体系结构,为设计提供了一个统一的术语空间.它的引入有以下优点:可以更为准确和方便地在体系结构的层次上进行交流;可以对不同的体系结构风格设计不同的形式化描述,有利于系统的形式化验证和不同风格之间的比较.另外,不同的风格具有不同的系统特性,通过对体系结构风格的研究,可以更好地使用SA来指导软件开发.Bass,Clements等人在文献[8]中归纳总结了5类十几种体系结构风格,并给出了一些如何选择合适的风格的经验规则.ABC方法允许用户自定义体系结构风格,并在设计中作为构件模板来使用。
Aspect是指软件系统中一些贯穿全局(cross-cutting)的特性,例如事务、日志等.在现有的软件开发中,这些特性的实现或者对其调用大多分散在系统的各个部分中.这样就容易造成系统结构不清晰,使得软件的开发、维护和升级都比较困难.面向Aspect的软件开发的研究试图将这种特性的实现模块化,并与其他功能性的实现体(例如构件)分离开来,使用声明的方式将这些特性插入到系统实现中.这样,使得系统的结构和行为更为清晰和易于理解,从而有助于软件的设计、开发与维护。在基于构件的分布式系统中,构件运行平台集成了一些应用系统所需的公共服务,这些公共服务的实现独立于应用系统,并通过构件平台提供的机制作用于应用系统.这与Aspect的概念也有类似性。同时,面向Aspect的编程(aspect-orientedprogramming,简称AOP)[16]在实际开发中开始得到应用.ABC方法也引入了Aspect这一概念,以更好地描述系统的结构和行为。
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com