基于构件的软件复用技术研究与应用实践

合集下载

河海大学研究生课程【软件复用技术】06软件构件技术概述(二)

河海大学研究生课程【软件复用技术】06软件构件技术概述(二)

软件复用硕士研究生课程软件构件技术计算机与信息学院软件复用硕士研究生课程声明软件复用硕士研究生课程主要内容一、软件构件二、软件构件模型三、应用框架四、基于构件的软件开发方法三、应用框架技术软件复用硕士研究生课程软件复用硕士研究生课程1. 应用框架(1) 定义1:应用框架是一种可以复用的应用软件的半成品,它可以被用来建造一族应用程序;定义2:应用框架是一组相关组件的集合,这些组件的相互作用关系形成了一个可以复用的体系结构。

该结构可以被用来建造一族应用程序;定义3:应用框架是一种软件复用技术。

它是一个应用软件系统的部分或整体的可复用设计。

一般来说,框架定义了一个应用程序的骨架并提供可以放置于该骨架中的标准用户界面实现(2) 开放式体系结构:软件系统的开放性包括数据的开放性、功能的开放性和系统的可扩充性。

软件复用硕士研究生课程典型成果:软件复用硕士研究生课程2、框架的特点软件复用硕士研究生课程•框架的优点:•存在困难:3、框架的特征软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程4、框架分类软件复用硕士研究生课程5、通用框架开发过程模型6、框架开发过程软件复用硕士研究生课程软件复用硕士研究生课程软件复用硕士研究生课程(3)设计阶段软件复用硕士研究生课程软件复用硕士研究生课程四、基于构件的软件开发软件复用硕士研究生课程软件构件技术是一种系统化的技术,包括构件模型、构件构架(Architecture)及实现技术、构件分析和设计技术、基于构件的应用系统构造及实现技术等内容。

当构件技术运用于特定的应用系统开发,通常称之为基于构件的软件开发(Component-Based software Development ,CBD). CBD是指利用已开发完成的商业构件(Commercial Off-The-Shelf,COTS)(或可复用的构件)来按应用需求组装形成软件应用系统的软件开发方法研究构件软件的两个核心是:如何提取可复用构件以及如何组装成系统并能实现互操作。

软件构件管理及复用研究

软件构件管理及复用研究
收稿 日期 : 0 6—0 20 6—1 5 作者简介 : 文峰 (9 2 , 贾 17 一) 河南许 昌人 . 系统分析师 , 高级程 序员 , 工程 师 , 华中科 技大学软件学院 软件工 程硕士研究生.
维普资讯

8 6-
洛 阳大学学报
联构件等信息 , 它们与构件模型共 同组成 了对构件的完整描述 . 为了给使用者在查询构件时提供方便 , 同时也为了更好地复用构件 , 必须对收集和开发的构件进行

能、 能够独立工作或能 同其他构件装配起来协调工作的程序体 , 构件的使用同它的开发、 生产无关.从
抽象程度来看 , 向对象技术 已达到了类级复用( 面 代码复用 ) 它以类 为封装 的单位 , , 这样 的复用粒度还 太小 , 足以解决异构互操作和效率更高的复用. 不 构件将抽象 的程度提到一个更高的层次 , 它是对一组 类的组合进行封装 , 并代表完成一个或 多个功能的特定服务 , 也为用户提供 了多个接 口.整个构件隐藏 了具体的实现 , 只用接 口对外提供服务.
键字有相同的领域分析结果作为支持. 刻面分类法的主要思想来源于图书馆学. 在刻面分类机制 中, 定义若干用于刻画构件特征的“ , 面”
每个面包含着干概念 , 这些概念表述构件在面上的特征. 刻面可 以描述构件执行的功能、 被操作 的数据 、 构件应用的语境或任意其他特征. 描述构件的刻面的集合称为刻面描述符. 通常 , 刻面描述被 限定为不 超过 7 8 或 个刻面.当描述符中出现空的特征值时 , 表示该构件 没有相应 的面. 面描述符 中的每个刻 刻
() 4 对应用领域具有较强的描述能力和较好的描述精度 ;
() 5 库管理员和用户容易使用.
目前 ,已有的构件分类方法可以归纳为三大类 , 分别是关键 字分 类法、刻面分类法 和超文本组织

论基于构件的软件开发

论基于构件的软件开发

别 做 成 用 户 管 理 组 件 ,把 所 有 实 现 与 数
信 息技 术 .为广 大 的 学 生 提 供 开 放 的教
育 平 台 和最 优 秀 的教 育 资 源 , 出 个性 、 突 学 生 自主学 习 的教 学 。
据 库 的 连 接 做 成 连 接 组 件 ,把 用 户 的错 误 操 作 、与 系 统 的 的交 互 出错 等做 成 错
要调 用 另 一 个 组 件 时 .就 在 需 调 用 的 组 件 中 引 用 另 一 个 组 件 的 方 法 。 例 如 在 使
用 查 询 和 提交 信 息 组 件 时 就 需 要 先 调 用 连接 组 件 。
1用 户 管 理 组 件 , 括 身 份 认 证 功 . 包
能 。 我 们 主要 定 制 C M组 件 用 户 管 理 组 0 件U eC e k l 行 用 户 管 理 处 理 组 srh c .l d进 该 件 主 要 完 成 两 个 功 能 :一 是 身 份 认 证 功
WI D WS S R E 2 o 。 用 S L N 0 E V R o 0 Q S R E 00 为 后 台 数 据 库 . 用 A P E V R20 S+ I 5 来架构网站。 I . S 0 由 于 C M组 件 既 可 以 被 嵌 入 动 态 0
嵌 入 A P 页 中 , 即在 A P 本 中 通 过 S 主 S脚 S T 象名  ̄ ev F ra O jc f类 名 ” E对 - re. e t be t ‘ S C e ‘ 1 来 引 用 ,使 此 二 进 制 组 件 可 以运 行 于 服 务器 端 。 二 是 容 器 集 成 .即 如 果 一 个 组 件 需
来 进 行 相 应 的处 理 .这 就要 调用 各 种 组 件 。如 果 学 生 以错 误 的 学 号 和 用 户 名 登 录进 入 学 生 平 台 .这 就 要 调用 用 户 管理

《2024年基于标准版的定制软件开发的复用方法研究》范文

《2024年基于标准版的定制软件开发的复用方法研究》范文

《基于标准版的定制软件开发的复用方法研究》篇一一、引言随着信息技术的飞速发展,软件开发已成为现代社会不可或缺的一部分。

在软件开发过程中,定制软件开发占据着重要的地位。

为了提升开发效率、降低开发成本并保证软件质量,基于标准版的定制软件开发方法逐渐受到广泛关注。

其中,复用方法在软件开发中扮演着至关重要的角色。

本文将就基于标准版的定制软件开发的复用方法进行深入研究,探讨其重要性、应用场景及实施策略。

二、复用方法在软件开发中的重要性复用方法在软件开发中具有显著的优势。

首先,它可以提高软件开发的效率,减少重复劳动,使开发者能够更加专注于核心功能的实现。

其次,复用方法有助于降低软件开发成本,通过复用已有的代码、模块和设计,可以避免从零开始进行开发。

此外,复用方法还能提高软件质量,减少错误和缺陷的出现,提高软件的稳定性和可靠性。

三、基于标准版的定制软件开发的复用方法基于标准版的定制软件开发过程中,复用方法主要体现在以下几个方面:1. 代码复用:通过提取和封装通用的代码片段和模块,形成可复用的代码库。

在定制开发过程中,根据需求对代码库进行调用和修改,实现代码的复用。

2. 设计模式复用:设计模式是在软件开发中解决特定问题的最佳实践。

通过将设计模式与标准版相结合,形成可复用的设计模板,提高开发效率和软件质量。

3. 组件复用:将标准版中的组件进行封装和抽象,形成可复用的组件库。

在定制开发过程中,根据需求选择合适的组件进行组合和配置,实现组件的复用。

4. 业务流程复用:针对特定的业务流程,将其标准化并形成可复用的业务流程模板。

在定制开发过程中,根据企业的实际需求对模板进行适当调整和优化,实现业务流程的复用。

四、实施策略为了有效实施基于标准版的定制软件开发的复用方法,需要遵循以下策略:1. 建立完善的代码库、设计模板和组件库,为复用提供充足的资源。

2. 加强培训和指导,提高开发人员的复用意识和能力。

3. 制定严格的质量控制标准,确保复用过程的准确性和可靠性。

论基于构件的软件开发

论基于构件的软件开发

论基于构件的软件开发作者:靳桂珍来源:《活力》2010年第06期[摘要]基于构件的软件开发是提高软件生产效率和软件产品质量的有效途径。

本文结合我们的实践,以“在线学习支持服务平台”项目为例,讨论基于构件的软件开发的技术应用。

[关键词]基于构件;软件开发;技术应用“在线学习支持服务平台”是对学生远程学习进行教学辅导。

经过多年对远程教育模式的探索,确立了成熟的远程教育教学模式——利用先进的网络数字信息技术,为广大的学生提供开放的教育平台和最优秀的教育资源,突出个性、学生自主学习的教学。

“在线学习支持服务平台”是一个综合性的在线式基于WEB的远程教学平台,存储着核心信息数据,提供网上课程、信息发布、查询、BBS、VOD视频点播等教学服务,该系统的开发技术主要集软件复用、企业级应用程序开发于一体的“基于构件的软件开发”。

系统运行于WINDOWS SERVER2000。

用SQL SERVER 2000 为后台数据库,用ASP+IIS5.0来架构网站。

由于COM组件既可以被嵌入动态WEB面面,还可以在LAN或桌面环境的VB、VC等应用中使用。

另外该组件之间是彼此独立的。

当应用需求发生变更时,可能需要更换中间层的个别COM组件,但并不影响其他组件的继续使用。

组件具有若干对外接口(属性和方法)。

可以根据不同的应用需求,有选择地使用不同的接口。

即使不再使用某些接口时,COM接口本身仍然可继续使用。

同一COM组件可以在不同的应用环境中重复使用。

因此,结合我们的实际情况,我们现有的各级软件系统都是基于微软Windows系统列平台,且开发人员对COM组件技术也较熟悉,对开发语言VB6也很熟悉,因此我们确定使用微软的COM组件技术来开发该平台。

该平台采用B/S结构进行设计,把整个系统分为三个层:数据库层,应用逻辑层,用户界面层。

用户界面是浏览器(如IE等),并通过ASP语言来实现同应用逻辑层构件交互。

应用逻辑层负责事务处理。

系统架构师 论基于构件的软件开发方法及其应用

系统架构师 论基于构件的软件开发方法及其应用

系统架构师任务重大,需要了解客户需求以及如何设计和实施系统。

构件化的软件开发方法是系统架构师需要掌握的重要技能之一。

在本文中,我们将深入探讨基于构件的软件开发方法及其应用,以及它对系统架构师的重要性。

一、基于构件的软件开发方法简介基于构件的软件开发方法是指将软件系统拆分成互相独立的构件,然后将这些构件组合在一起以构建整个系统的方法。

这种方法提供了一种将系统模块化的方式,使得系统可以更容易地理解和维护。

构件化还能够提高系统的复用性和可扩展性,从而减少系统的开发时间和成本。

在基于构件的软件开发方法中,系统架构师需要首先对系统进行全面评估,了解系统的需求和各个模块之间的关系。

系统架构师需要设计和定义系统的构件,并确定它们之间的接口和通信方式。

系统架构师需要协调开发团队,确保各个构件能够按照设计规范进行开发,并最终集成到整个系统中。

二、基于构件的软件开发方法的应用基于构件的软件开发方法广泛应用于大型软件系统的开发中。

它可以帮助开发团队更好地理解系统的复杂性,降低系统的维护成本,并提高系统的可靠性和稳定性。

在实际应用中,系统架构师可以通过使用现有的构件库来加速系统的开发进程,同时也可以提高系统的灵活性和可定制性。

三、个人观点和理解作为系统架构师,我深刻理解基于构件的软件开发方法对于系统开发的重要性。

它能够帮助我们更好地管理系统的复杂性,提高系统的可维护性和可扩展性。

基于构件的软件开发方法也能够加速系统的开发进程,降低系统的开发成本。

我认为系统架构师需要深入学习和掌握基于构件的软件开发方法,并将其运用到实际的系统开发中。

四、总结通过本文的讨论,我们深入探讨了基于构件的软件开发方法及其应用在系统架构师工作中的重要性。

我们从简到繁地介绍了基于构件的软件开发方法的基本概念,并探讨了其在实际应用中的优势。

我共享了对于这个主题的个人观点和理解。

希望通过本文的阅读,读者能够更全面、深刻和灵活地理解基于构件的软件开发方法在系统开发中的重要性。

基于构件的软件工程技术研究

基于构件的软件工程技术研究

基于构件的软件工程技术研究作者:贾岩来源:《科技资讯》 2011年第6期贾岩(1.同济大学软件学院上海 200120; 2.沈阳市中小企业服务中心沈阳 110031)摘要:本文基于笔者多年从事软件工程的相关学习和研究心得,以基于构件的软件工程技术为研究对象,探讨了面向对象软件工程与传统软件工程之间的差别,给出了基于构件的软件工程概念模型,全文是笔者长期工作实践基础上的理论升华,相信对从事相关工作的同行有着重要的参考价值和借鉴意义。

关键词:构件软件工程面向对象中图分类号:TP3 文献标识码:A 文章编号:1672-3791(2011)02(c)-0057-02软件是信息产业的灵魂,软件工程是软件产业的灵魂。

1968年由NATO(北大西洋公约组织)在德国格密斯(Garmish)举行的学术会议上正式提出“软件工程(software engineering)”这一概念以来,软件工程发展极快,取得了丰硕的成果。

软件工程分为传统软件工程、面向对象软件工程、软件过程工程和构件软件工程四种。

软件工程没有一个权威的定义,比较认可的定义为:软件工程是一门交叉学科,它是解决软件问题的工程,是对软件开发、运作、维护的系统化的、有规律的、可定量的研究方法。

软件工程有明确的目标。

那就是研制开发与生产出具有良好的软件质量和费用合算的产品。

软件质量可用六个特性来评价:功能性、可靠性、易使用性、高效率性、可维护性、易移植性。

软件工程不同于一般工程,具体表现在以下几点。

(1)软件是逻辑产品而不是实物产品,所以费用集中在研制开发上而不在生产上。

软件不会用坏、磨损、老化,但有一个过时的问题。

(2)由于软件是逻辑产品,使得它的功能只能依赖于硬件和软件的运行环境以及人们对它的操作,才能得以体现。

(3)软件产品的功能比一般产品的功能复杂得多。

(4)软件设计比一般产品复杂得多。

具体表现在:功能的多样性,实现的多样性。

推动软件工程发展的原动力是提高软件质量和软件开发的生产效率。

基于构件的软件复用及在GIS中的应用

基于构件的软件复用及在GIS中的应用

功 能 和可 复用 价值 的 构件 J构件 化 的软 件 开 发 过 . 程可 以提高 软件 复用 程度 , 高开 发效 率 , 提 并且 便 于
维护 , 高 质量 。 提
质量、 提高软件生成效率 已经是非常棘手的问题. 软 件 复用 的 出现使 得软件 的开 发真 正工 程 化 、 业 化 . 工
的重点 集 中于应 用 的特 有构 成部 分.
从2 O世 纪 6 O年代 后 期 的第 一 次 “ 件危 机”, 软
件 复用 研究 重新 成 为热点 , 视为 解决 软 件 危机 , 被 提 高 软件 生 产效 率 和 质 量 的 现实 可 行 的 途 径 ¨ . 实 J其
程 序设 计 出现 后 人们 就有 了 复用 的 思 想 , 随着 面 向
中图分类号 :P 1 文 献标志码 : 文章编号 :0 8— 94(0 2 0 ~ 0 5—0 T3 1 A 10 7 7 2 1 ) 4 02 3
收 稿 日期 :0 I 2—1 2 1 一1 5
作者简介 : 李瑞华( 9 5一) 男 , 17 , 山西阳泉 人, 硕士 , 阳泉师范高等专科学校讲师.
李瑞华 李 霞 ,
(. 1 阳泉师范 高等专科学校 , 河北 阳泉 0 5 0 ; 河北省石家庄经济学院 信息工程学院 , 4202 河北 石家庄 0 0 3 ) 501

要: 软件复用是提 高软件生产率, 减少开发代价 , 高软件质 量的关键技术之 一. 提 支持软件 复用 的技 术有很 多, 件技 术 构
2 软件复用
16 年 N T 98 A O软件工程会议 , c r 在提交会 M lo ly 议 的论文 《 大量生产的软件构件》 提 出了“ 中, 软件 组 装 生产 线 ” 的思 想 . 那 以后 , 用构 件 技 术 实 现 从 采
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于构件的软件复用技术研究与应用实践基于构件的软件复用技术研究谷今杰莫继红 ((湖南大学软件学院,长沙410082)通常情况下.应用软件系统的开发过程包含以下几个阶段:需求分析、设计、编码、测试、维护等。

当每个应用系统的开发都是从头开始时,在系统开发过程中就必然存在大量的重复劳动,如:用户需求获取的重复、需求分析、编码、测试的重复和文档等。

探讨应用系统的本质,发现其中通常包含:①通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中;②领域共性构件:是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中;③应用专用构件:是每个应用系统的特有构成成分。

应用系统开发中重复劳动主要在于前两类构成成分的重复开发。

软件复用是在软件开发中避免重复劳动的解决方案。

其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等.从而将开发的重点集中于应用的特有构成成分。

通过软件复用,在应用系统开发中可以充分利用已有的开发成果.消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率:同时,通过复用高质量的已有开发成果时,避免了重新开发可能引入的错误,从而提高软件的质量。

软件复用指重复使用“为了复用目的而设计的软件”的过程。

相应地,可复用软件是指为了复用目的而设计的软件。

与软件复用的概念相关,重复使用软件的行为还可能是重复使用“并非为了复用目的而设计的软件”的过程,或在一个应用系统中的不同版本间重复使用代码的过程,这两类行为都不属于严格意义上的软件复用。

真正的复用是为了支持软件,使用“为复用而开发的软件(构件)”来更快、更好地开发新的应用系统。

复用技术在整体上对软件产业的影响却并不尽如意。

这是由于技术方面和非技术方面的种种因素造成的,其中技术上的不成熟是一个主要原因。

近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。

软件复用研究重新成为热点。

被视为解决软件危机。

提高软件生产效率和质量的现实可行途径。

(复用分类)软件复用可以从多个角度进行考察。

依据复用的对象,可以将软件复用分为产品复用和过程复用。

产品复用指复用已有的软件构件.通过构件集成(组装)得到新系统。

过程复用指复用已有的软件开发过程.使用可复用的应用生成器来自动或半自动地生成所需系统。

过程复用依赖于软件自动化技术的发展,目前只适应于一些特殊的应用领域。

产品复用是目前现实的、主流的途径。

依据对可复用信息进行复用的方式。

可以将软件复用区分为黑盒(Black—box)复用和白盒(White—box)复用。

黑盒复用指对已有构件不需作任何修改,直接进行复用。

这是理想的复用方式。

白盒复用指已有构件并不能完全符合用户的需求。

需要根据用户需求进行适应性修改后才使用。

而在大多数应用的组装过程中,构件适应性修改是必需的。

软件复用按抽象程度的高低, 可以划分为如下的复用级别:(1) 代码的复用, 包括目标代码和源代码的复用。

当前大部分编程语言的运行支持系统都提供了连接(L ink) 、绑定(Binding) 等功能来支持这种复用; ( 2) 设计的复用, 设计结果比源程序的抽象级别更高, 因此它的复用受到实现环境的影响较少, 从而使可复用构件被复用的机会更多, 并且所需的修改更少; (3) 分析的复用, 可复用的分析成分是针对问题域的某些事物(问题) 的抽象程度更高的解法。

软件复用有三个基本问题.一是必须有可一是必须有可以复用的对象。

二是所复用的对象必须是有用的。

三是复用者需要知道如何去使用被复用的对象。

软件复用包括两个相关的过程:可复用软件(构件)的开发(Development, for Reuse)和基本可复用软件(构件)的应用系统构造(集成和组装)(Development with Reuse)。

解决好这几个方面的问题才能实现真正成功的软件复用。

2构件技术2.1构件技术模型构件复用是软件复用的核心问题,因此有关构件的研究得到日益重视并且形成了软件工程学科的一个分支。

在产业界正在逐渐形成一种产业模式,即构件生产商负责生产构件,构件销售商负责构件的销售,构件集成商负责构件集成。

目前已经商品化的构件有微软的COM/DCOM、Sun公司的Java Bean和对象管理组织(OMG)的CORBA。

构件是一种不透明的功能实现.要通过构件模型进行构造,要能够与第三方进行合成,这样就存在构件模型标准化的问题。

构件模型的标准化要能同时满足构件生产者和构件消费者需求,学术界普遍接受的是“3C”(Concept,Content,Context)模型[2],即component=(Concept,Content,Context),在这个模型中:Concept:概念.描述软件完成什么功能。

描述构件的接口和语义,概念和内容(Content)能够进行通信;Content:内容,描述如何实现这个构件,一般情况下,构件的内容信息对临时用户是隐藏的。

只有需要对构件作修改的用户才是可知的;Context:上下文、组件在其适用领域内的配置,通过对概念、操作和实现特征的详细说明。

上下文能够使软件寻找到满足应用需求的组件。

2.2构件的开发构件的开发技术有多种.其中比较有代表性的是CBSD技术。

CBSD是CMU/SEI提出的构件设计参考模式,这种设计模式的原则是:组件具的扩充独立性:组件模型必须给出一些标准以保证独立开发的组件能够配置到公共的环境中,而不会出现不可预知的问题;开发时间短,这样会减少整个开发和维护费用;提高可预知性。

基于构件的系统来源于基于构件的设计策略,构件技术包括支持这种设计策略的产品的概念,这种设计策略与组件描述的设计模式和交互模式的构造类型非常相近,组件(即构件)反映的设计模式如图1。

图1中,①构件实现是能够在物理或者逻辑设备中执行的软件实现。

一个构件可以有一个或者多个接口②。

构件满足一定的规范,这里称为契约,这些契约的作用是保证独立开发的构件符合给定的规则,以便以可预知的方式进行交互并配置到标准的建造环境和运行环境④中。

基于构件的系统是建立在少数不同的构件类型上。

每一个构件的类型在⑤中扮演的一个特定的角色,由接口②对其进行描述。

构件模型⑥是组件类型、接口和组件间相互作用的模式说明书集合。

构件构架⑦提供多种服务⑧来支持和加强构件模型。

3 COTS构件当前的软件已不再是一个简单的系统.规模越来越大,通常是一复杂的“系统中的系统”。

大型软件尤其如此,从头开始做每一件事情来建造系统几乎是不可能的。

于是出现了COTS(Commercial Off The Shelf)技术。

COTS构件是从市场上采购得到的软件组件,它由第三方开发。

系统开发者不能访问源代码,相同的COTS构件可能有很多用户最后才能得到健壮的系统。

C0码构件有以下的特征:COTS软件不能被修改,这是COTS软件的固有特性.系统集成者购买组件后,不需要对构件作修改:有时为了把所有的构件进行了太多的修改就不再被认为是COTS组件了;系统集成者对COTS构件没有升级和维护控制权,软件升级和维护是COTS组件开发者的职责。

依据COTS组件在系统中所起的作用不同。

COTS分为两类:一类是一个COTS系统中,不是单一的COTS 构件支配整个系统,而是由一组绑定在一起构成的;另一类是在COTS解决方案中。

使用一个主COTS 构件作为主解决方案。

其他的传统的构件作为辅助的软件或者插件加入到系统中。

使用COTS构件突出的优点是能降低软件开发的成本.购买现有的软件比自己开发所需的成本低,软件的健壮性要高,因为市场上提供的COTS软件使用的是成熟的技术,使用这样的构件往往比自己开发的构件的可靠性要高。

但是COTS构件的缺点是以“黑盒”提供给用户,没有源代码,维护困难.版本易于变化。

不同COTS之间存在潜在的冲突。

软件构件提供的功能过少或者过多。

4基于Agent的软件复用技术Agent也被称为软件Agent或智能Agent.许多研究人员依据不同的研究内容和目标对术语“Agent”赋予了不同含义。

Woodridge和Jennings对“Agent”的不同定义进行了总结,认为“Agent”按其用法可分为两种.也就是Agent的两种定义[3]:弱定义和强定义。

Agent的弱定义是指Agent 具有的自主性、社会性、反应性、能动性、时间连续性以及面向目标的特性。

Agent强定义指Agent 除了具有弱定义中的特性以外,通常还具有:可移动性、理性、适应性、协作性。

面向对象技术用于对被动实体的抽象较好。

但是,它无法实现对活动实体的抽象;而Agent技术能够较好地实现对活动实体的抽象。

基于Agent的软件复用是软件工程的一个新的研究领域,面向Agent编程AOP(Agent—Oriented Programming)的概念是Shoham在1993年提出的。

因此,软件技术的发展经历00(Object Oriented)技术后。

并正在Agent技术方向发展。

人工智能专家Guilfoyle在1995年就断言:10年后大多数新兴信息技术的发展将接受:Agent理论与技术手段是解决2l世纪系统建模和网络化协同的重要手段【4】。

基于构件的复用必须解决的需求有:用户能对所需要的构件进行搜索;需要有对已有复用该构件的用户版本进行升级机制;对应用该组构件生产商和用户提供一种能够用相同的技术语言交流的工具;构件生产者和构件复用者可以灵活地加入系统和从系统中撤销;Internet上基于构件复用的工具一定是复用者和生产者的环境的集成的部分。

要满足以上需求。

基于组件复用的软件开发过程实际上成为被多Agent系统理解和操作的过程,这里称为“面向Agent的软件复用”。

其基本思想是:在可复用的通用多Agent机构中,对Agent 结构中的每一个元素都进行定义,这些元素包括Agent需要的知识、计划、行为和Agent之间的交互等,每一个具体Agent都是在基本Agent结构的基础上进行创建。

Internet环境下基于Agent的软件复用的一般结构如图2所示。

依据上述结构,构建基于构件的软件复用的多Agent系统结构时,必须要考虑的因素有:选用哪几种类型的Agent,多Agent人分工与协作,Agent知识库的建立等。

构建的方法和步聚包括:识别Agent.对任务进行提炼,定义本体(Ontology),定义行为计划,表示行为和定义交互作用,构造原型。

使用Java的RIM能够很好地实现通讯模块的功能,这种结构中需要对每一个实例化的Agent定义必需的知识。

相关文档
最新文档