收藏 分享(赏)

lecture 9 构件技术.ppt

上传人:hwpkd79526 文档编号:10083822 上传时间:2019-10-08 格式:PPT 页数:41 大小:349.50KB
下载 相关 举报
lecture 9 构件技术.ppt_第1页
第1页 / 共41页
lecture 9 构件技术.ppt_第2页
第2页 / 共41页
lecture 9 构件技术.ppt_第3页
第3页 / 共41页
lecture 9 构件技术.ppt_第4页
第4页 / 共41页
lecture 9 构件技术.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、1 Lecture 9 构件技术 1. 构件定义 2. 对象与构件 3. 构件接口描述 4. 构件模型 5. 基于构件的系统开发( CBSD) 6. 采用构件的开发问题 2 1. 构件定义 构件是什么 构件是经过封装,有定义完备的接口的可发布软件包。 CSBE1999 封装:字包含特性,有特定功能 接口:可合成 3 1 构件定义 构件是什么 构件是具有接口义务的合成单元,并且明确规定了所有背景的依赖关系,是由第三方进行合成的主体,可以独立的部署。 Szyperski 1999 独立性 接口合约 合成 构件包含可执行的代码。 区分了其他可复用资产 4 1.构件定义 构件是什么 构件是软件实现的一

2、种内聚包, D Souza 1998 (a)能够独立的开发、分发 (b)所提供的服务被明确、完备的定义 (c)明确完备的定义期望从外部得到的服务接口 (d)能够与其他构件合成,可定制部分属性而不修改构件本身 5 1. 构件定义 构件实现技术? 构件不一定是对象,不必实现为对象,面向对象技术能用于开发构件 构件粒度比类大 6 2. 对象与构件 对象 不是一个部署单元,而是一个实例化单元 对象的部署常以对象的交互假设为条件 对象与构件: 部署,用构件 开发,用对象 构件:对象技术的演进 7 3.描述构件接口的语言 模块接口语言 MIL(比较老, 1975) ( module interface l

3、anguage) 接口定义语言 IDL (Interface definition language) 体系结构描述语言 ADL (Architecture description language) 8 Interface definition language 接口定义语言 IDL (Interface Definition Language),是用于描述对象接口的一种高级符号语言, IDL不涉及任何接口的实现细节。 IDL特点: 1、 IDL 是一种规范语言。 2、 IDL 看上去很像 C 语言。 3、 OMG IDL 的目的是定义接口和精简分布对象的过程。 4、 IDL分离对象的接口与

4、其实现。 5、 IDL剥离了编程语言和硬件的依赖性。 6、使用 IDL定义接口的客户机程序员不知道接口背后的实现细节。 7、 IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。 9 Interface definition language module About interface Show string ShowName(); ; ; Show.idl 和 Java的 Interface的比较 类似 Package的概念 Interface method public interface Drawable public void setColor(Color c);

5、 public void setPosition(double x, double y); public void draw(DrawWindow dw); 10 Architecture description language ADL是一种形式语法,可以用来以一种可读的方式来描述实际系统体系结构。 ADL的构成要素: 构件 连接件 体系结构配置:描述体系结构的构件与连接件的连接图 比较有影响力的有 C2、 UniCon、 MetaH、Aesop、 SADL、 Rapide、 Wright等。 11 C2(component-connector) 风格的 ADL 例如:事件管理框架 12 T

6、form 构件的 C2 SADL伪代码 13 14 15 Architecture description language 相对于 MIL和 IDL,体系结构描述语言更加侧重于构件( component) ,除了确定构件及其互连之外,体系结构描述语言还着重描述了以下三个方面 : 构件行为规范,既包括功能性,也包括非功能的特征。后者是体系结构描述的重点:包括可用性,可靠性,可维护性等等; 构件通讯规范; 以及构件连接规范。 16 构件接口分类 内部接口 (构件内部的,对其他构件隐藏的) 应用系统接口(与其他构件或者应用系统的交互) 平台接口(与构件所运行平台的交互) 17 平台(操作系统、通信

7、系统或者其他硬件) 中间件 其他构件 应用系统 接口 (横向通道) 内部专 用产品 平台接口 18 什么是好构件 - 可重用资产的特性 - 文档完备 内聚 独立 有用 经过确认 - 构件的特殊特性 - 可合成 拥有定义完备的接口 符合构件模型 安全 19 4.构件模型 构件模型是用于定义 特定软件体系结构风格 下的构件的模型或模版。 构件模型要描述一个或多个构件类型,并定义这些类型构件需要满足的约定,以便向使用这种体系结构风格系统的其他构件提供服务、使用这些构件提供的服务。 20 构件模型应该描述的问题 问题的来源 : 有时构件看起来兼容,但是后来发现不兼容,这类情况叫体系结构失配。 解决方法

8、: 通过观察构件对在自己与其他构件交互中的作用所作出的假设,找出失配来源。 21 构件模型应该描述的问题 数据表示 数据传输 传输协议 状态持久性 状态作用范围 故障 22 数据表示 两个构件应该就它们所交换的数据表示达成一致。数据表示通常指数据类型。 比如某个数值类型的数的精度等。 23 数据传输 在数据流动方向和数据传输顺序上,构件也会遇到失配情况。 例如:针对推模式开发的构件不能在拉模式下正常开发。 比如银行的对帐: 一种对帐构件是服务器始终等待银行发送来消息,银行会主动发送数据过来;另外一种构件是不断向银行查询,银行相应返回结果。 24 传输协议 传输协议描述数据如何在构件之间传输,并

9、描述构件交互如何影响传输。 例子:传输控制上的单词数据传输的数量和顺序 25 状态持久性 无状态构件和有状态构件 26 状态作用范围 状态作用范围定义构件内部状态的公布范围 例如:文档编辑器构件允许外部构件访问文档的一部分、整个文档、还是某个部分。 Class documentEditor private Document document; public Document getAllofDocument(); public Document getPartofDocument(); 27 故障 不同构件可能会采用不同的构件故障报告手段。 Exception - printStackTrac

10、e/ Log 28 5.基于构件的系统开发 (CBSD) 起源: 随着业务的不断增长,要求集成以快速投放市场为目标的生产基于构件的系统的过程,寻找新的有效手段开发基于构件的软件。 动力: 1.大规模应用系统,包括分布式系统的开发不断增长 2.支持集成和合成的新手段的迅速发展 3.软件公司在创纪录的短时间内交付产品,从而面对以抓住时间为要求且越来越高的不断增长的竞争压力。 29 CBSD过程 查找 查找 (Find?): 定义如何创建构件库并编写文档。(领域工程阶段) 领域专家发掘一些领域内类似产品的集合,编写核心构件文档,加入构件库。 30 选择 :从构件库中选择特定的构件(涉及到构件库的检索和浏览),此时应该已经有了一个领域模型了。 CBSD过程 查找 选择

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报