软件工程构件级设计

软件工程构件级设计

ID:38681342

大小:2.58 MB

页数:78页

时间:2019-06-17

软件工程构件级设计_第1页
软件工程构件级设计_第2页
软件工程构件级设计_第3页
软件工程构件级设计_第4页
软件工程构件级设计_第5页
资源描述:

《软件工程构件级设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《软件工程》第二部分软件工程实践第11章构件级设计Chapter11Component-LevelDesign在体系结构设计阶段可以定义一套完整的软件构件。这个阶段的软件构件抽象层次比较高,没有接近代码抽象级。构件级设计定义了数据结构、算法、接口特征和分配给每个软件构件的通信机制。构件级设计构件是计算机软件中的一个模块化的构造块。OMGUML规范对构件的定义:系统中模块化的、可配置的和可替换的部件,该部件封装了实现并暴露了一组接口。OMGUnifiedModelingLanguageSpecification[OMG01]definesacompone

2、ntas“…amodular,deployable,andreplaceablepartofasystemthatencapsulatesimplementationandexposesasetofinterfaces.”11.1什么是构件在面向对象软件工程环境中,构件包括一组协作的类(有时,一个构件只包含一个单独的类)。OOview:acomponentcontainsasetofcollaboratingclasses。11.1.1面向对象的观点11.1.1面向对象的观点构建分析模型体系结构设计构件级设计可能与PricingTable构件协作可能与

3、JobQueue构件协作与面向对象的构件相似,传统的软件构件也来自分析模型。不同的是,传统的软件构件是以分析模型中的数据流要素作为导出构件的基础。11.1.2传统的观点11.1.2传统的观点相当于PrintJob类定义的操作相当于PrintJob类定义的操作相当于PrintJob类定义的操作相当于PrintJob类定义的操作相当于PrintJob类定义的操作相当于PrintJob类定义的操作前面有两种构件级设计的观点:面向对象观点、传统观点。都假定从头开始设计构件。另一种方法:使用已有构件来构造系统。11.1.3其他相关观点11.1.3其他相关观点一、

4、相关背景的比较COM/DCOM/COM+:为了适应更加复杂应用的需要,Microsoft公司推出了构件对象模型COM,COM支持同一台计算机上不同进程间对象的调用;由于分布式处理系统的广泛应用和与CORBA竞争的需要,Microsoft公司于1997年推出了COM的分布式版本,即DCOM,支持对象间通过网络(包括局域网、广域网、因特网)进行通信。CORBA:CORBA(CommonObjectRequestBrokerArchitecture公共对象请求代理体系结构)是由OMG工业集团定义的分布对象计算模型和系统结构。OMG与1990年提出了一个对象管

5、理结构(OMA),这是CORBA的最原始的构想及基础。在OMA的基础上,1991年一些大公司联合提出了CORBA1.1版。目前有不少公司从事CORBA的实现工作,并推出了基于CORBA的产品。CORBA仅是一个分布对象规范,没有限定使用何种程序设计语言,其目的是不使CORBA束缚在某种特定程序设计语言上。用不同语言书写的对象,只要符合CORBA规范,就可以相互调用。但由于CORBA规范仅是一个书面的说明,各公司对其理解未必一致,规范中也有不少部分没有做统一规定,由厂家自行决定,因此各厂家基于CORBA的产品未必相互兼容。JavaBeans:JavaBe

6、ans是于1996年提出的基于Java语言的分布对象模型,其构件叫Bean。Bean就是以Java语言中的类和对象为基础定义的。当初,JavaBeans主要为一些软件构造工具提供一些可视化构件。后经不断扩充,发展成为一种通用分布对象模型。11.1.3其他相关观点二、基本概念的比较COM/DCOM:COM/DCOM对象模型设计的指导思想是健壮、高效和切实可行。COM对象具有多个接口,通过每个接口可以访问一组成员函数。成员函数相当于方法。每个对象拥有自己的数据,表示对象的状态。数据只能通过接口访问,用户和应用程序不能越过接口访问数据。每个接口仅包含其所属成

7、员变量函数的调用说明及引用它的指针。成员函数的实现不是对象的一部分,一般可以有两种方法实现:一是用动态链接库DLL实现,二是作为一个可执行模块EXE实现。不管哪一种实现,成员函数都可以动态调用,直接执行,不需要编译连接。甚至调用者所用的程序设计语言与实现成员函数所用的程序设计语言也可以是不同的。用DLL实现时,在调用成员函数前必须将DLL加载到本地进程的地址空间,不能跨进程空间进行访问。而EXE模块不受这个限制,可以跨进程访问。在COM对象的多个接口中,有一个接口是每个对象必备的该接口被命名为Iunknown,接口名前面加字母I,以便识别。COM/DD

8、COM也有类的概念,类也看成是一种对象,称为类对象。由于COM/DCOM不支持继承的概念,一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。