基于软件体系结构的可复用构件模型

基于软件体系结构的可复用构件模型摘要:在分析了构件间各种操作的基础上,将软件体系结构的概念引入现有的构件模型,用于对复合构件进行描述,从而改进了现有的构件模型,给出了一种基于软件体系结构的可复用构件模型,并给出了该模型的?┯τ谩9丶?词:软件复用;软件构件;软件体系结构;构件模型??:TP311文献标志码:A:1001-3695(2008)01-0120-03复用是成熟工程领域的一个基本特征,传统工业以及计算机硬件产业均是很好的例子。这些工业化发展的特点都是工业生产由符合标准的零部件的生产和基于标准零部件的产品生产两方面组成。其中,符合标准的零部件即为构件,而基于构件的产品生产即为构件的组装。实践表明,这种模式是产业工程化、工业化的成功之路,软件产业要发展并形成规模经济,也应该遵循工业化生产的这种模式,而该模式的关键就是构件的生产和复用[1]。也就是说,软件复用的核心和基础即为软件构件[2]。??随着软件系统的规模和复杂度的不断增大,为了提高软件的可复用性和可维护性,软件开发所关注的主要问题已不再是算法和数据结构,而是软件系统的总体结构和组织,即软件体系结构[3]。对于软件体系结构,许多专家和学者从不同的角度和侧面对其进行了刻画。其中美国卡内基?梅隆大学的D.Garlan和M.Shaw给出了一个广泛能接受的定义:软件体系结构是软件设计过程中的一个层次,处理总体系统结构设计和描述方面的一些问题,包括对系统组成元素的描述,这些元素的交互,指导这些元素组成的模式以及模式的约束[4]。软件体系结构通过计算元素和这些元素间的交互来定义一个软件系统,而这些计算元素即为软件构件。所以,软件构件也是软件体系结构的核心元素。??1构件的概念??软件复用包括两个基本的开发活动,即面向复用的开发(developmentforreuse)和基于复用的开发(developmentwithreuse)。前者为生产可复用软件构件的过程;后者是通过可复用软件构件的组装来生产新的软件系统的过程[5]。而软件体系结构也通过描述构件和构件间的交互来描述一个软件系统。所以,软件构件既是软件复用的基本元素,也是软件体系结构的核心元素。无论研究软件复用,还是软件体系结构,软件构件都是必须要研究的一个重要概念。??构件的概念和面向对象中的对象概念有很多类似之处。对象通过将数据和在其上执行的操作进行封装而达到了一定程度上的复用,但对象在复用的过程中存在很多问题:??a)由于对象对数据和操作进行了封装,要对其进行复用,就必须了解该对象的实现细节。这给对象的复用造成了很大的障碍。??b)对象之间的集成是通过消息通信。在这种集成方式中,对象之间的关系分散并固定在对象的实现中,对象的组装缺乏灵活性。??c)由于对象继承关系和行为的重叠,使得对象的替代性较差。用一个新的对象替代原有对象时可能会影响所有与其有继承关系的对象。??在计算机硬件产业领域,任何厂商生产的零部件(构件),只要遵循标准的接口规范,均可以方便地与其他厂商生产的零部件进行组装并集成到系统中,而无须了解零部件的内部结构。类似地,在软件系统中要对软件构件进行大规模的复用,就必须为软件构件制定某种规范,而这些规范可以由软件接口提供。所以,对象是封装了数据和操作的软件模块,而构件是满足某种规范并提供特定功能的软件模块。面向对象作为一种主流编程技术,对象可以作为实现软件构件的一种途径。??2构件模型??2.1构件模型的引入??构件模型是面向构件和基于构件的软件开发方法的核心,是构件的本质特征及构件间关系的抽象描述[6]。由于构件通常由规约和实现两部分组成,构件规约是在复用时对外可见的部分,是构件必须遵循的接口规范,而构件实现是构件的内部实现细节,是对外不可见的部分。一般构件模型均包括对构件规约和构件实现两方面的描述,即构件::=?Q构件规约,构件实现?R[5]。??2.2构件间操作??基于构件的软件开发是通过将不同的构件进行组装来形成新的软件系统的过程,组装过程是通过构件间的连接操作来实现的。构件间的连接操作多种多样,如IanSommerville提出的顺序连接(sequentialcomposition)、层次连接(hierarchicalcomposition)和加成...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?