接口组件节点课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《接口组件节点课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 组件 节点 课件
- 资源描述:
-
1、上海交通大学计算机系上海交通大学计算机系2023-2-61上海交通大学计算机系上海交通大学计算机系2023-2-62w包图包图w从逻辑到物理实现从逻辑到物理实现n我们已经完成了逻辑模型的学习我们已经完成了逻辑模型的学习n本讲中我们要学习物理模型的表示本讲中我们要学习物理模型的表示w物理图的构成物理图的构成:组件图和配置图组件图和配置图上海交通大学计算机系上海交通大学计算机系2023-2-63上海交通大学计算机系上海交通大学计算机系2023-2-64w大型的软件系统中往往包含大型的软件系统中往往包含大量的建模元素大量的建模元素w需要将它们需要将它们有序有序的组织起来的组织起来w包就是一种包就是一
2、种概念概念性的模型管理的图形工具性的模型管理的图形工具上海交通大学计算机系上海交通大学计算机系2023-2-65w包是一种对模型元素进行成组组织的通用机制。包是一种对模型元素进行成组组织的通用机制。包用于定义一个名字空间或容器(包用于定义一个名字空间或容器(Container)Container)。w运用包可以把运用包可以把语义上相近的语义上相近的可能一起变更的模型可能一起变更的模型元素组织在同一个包中,对包中的元素作为一个元素组织在同一个包中,对包中的元素作为一个整体对待,并且控制它们的可视性和存取。整体对待,并且控制它们的可视性和存取。w包纯粹是一种概念性的模型元素,只存在于软件包纯粹是一
3、种概念性的模型元素,只存在于软件的开发过程中,因而与组件的概念是不一样的。的开发过程中,因而与组件的概念是不一样的。上海交通大学计算机系上海交通大学计算机系2023-2-66 GUIGUICOMMON:GUIVersion 1.2+窗口+表格事件处理简单名字路径名字Common是GUI所属的包包的性质拥有的对象类上海交通大学计算机系上海交通大学计算机系2023-2-67w包拥有内容,包括类、接口、组件、节点、协同。包拥有内容,包括类、接口、组件、节点、协同。Use CaseUse Case、图,甚至其它包、图,甚至其它包w包与它所含的模型元素之间的关系是一种包与它所含的模型元素之间的关系是一种
4、组合组合联联系,即一个包由一个或多个模型元素组成,每一系,即一个包由一个或多个模型元素组成,每一个模型元素都在该包中申明,一个模型元素只能个模型元素都在该包中申明,一个模型元素只能为一个包唯一地拥有,一个包消失了,该包中所为一个包唯一地拥有,一个包消失了,该包中所有元素都消失有元素都消失w不同包中的元素可以同名,但是同一包中的模型不同包中的元素可以同名,但是同一包中的模型元素不能同名元素不能同名上海交通大学计算机系上海交通大学计算机系2023-2-68w包的模型元素名前可以有包的模型元素名前可以有可视性标志可视性标志,其表示方,其表示方法与类中的属性和操作的可视性表示一样。法与类中的属性和操作
5、的可视性表示一样。n,对于输入该包的任何包的模型元素都可见,对于输入该包的任何包的模型元素都可见n,对于外包不可见,对于外包不可见n,只对其,只对其子包子包可见可见+订货表+追踪表订货客户机上海交通大学计算机系上海交通大学计算机系2023-2-69w包可以拥有其它包作为包内的元素,子包又可以包可以拥有其它包作为包内的元素,子包又可以拥有子包,这样就构成一个嵌套结构拥有子包,这样就构成一个嵌套结构w包的嵌套层次不能太多,一般最多不超过包的嵌套层次不能太多,一般最多不超过2 23 3层层上海交通大学计算机系上海交通大学计算机系2023-2-610importimportimportaccessac
6、cess控制器图形元素领域元素图形内核编辑器通用的图形编辑器上海交通大学计算机系上海交通大学计算机系2023-2-611编辑器图形元素图形内核领域元素控制器另一种表达只能表示构成,不能表示依赖上海交通大学计算机系上海交通大学计算机系2023-2-612w构造型和标记值说明其特定的性质,如包的作者,构造型和标记值说明其特定的性质,如包的作者,提供的服务等提供的服务等nfacadefacade:一个包仅仅是其它一些包的视图一个包仅仅是其它一些包的视图nframeworkframework:代表模型架构代表模型架构nstubstub:一个包是另一个包的公共内容的服务代理一个包是另一个包的公共内容的服
7、务代理nsubsystemsubsystem:子系统:子系统nsystemsystem:代表一个系统模型:代表一个系统模型上海交通大学计算机系上海交通大学计算机系2023-2-613w主要有两种:主要有两种:n依赖依赖n泛化泛化上海交通大学计算机系上海交通大学计算机系2023-2-614w依赖依赖:一个元素的定义的改变会引起另一个元素:一个元素的定义的改变会引起另一个元素发生相应改变发生相应改变w如对于类而言,一个类作为另一个类的数据的一如对于类而言,一个类作为另一个类的数据的一部分,一个类用另一个类作为操作的参数等部分,一个类用另一个类作为操作的参数等w两个包之间存在依赖是指两个包所含的两个
8、包之间存在依赖是指两个包所含的模型元素模型元素之间之间存在着一个或多个依赖。存在着一个或多个依赖。w依赖关系的表示:用虚箭线从依赖包指向独立包依赖关系的表示:用虚箭线从依赖包指向独立包上海交通大学计算机系上海交通大学计算机系2023-2-615订货顾客数据库接口abstractOracle接口Sybase接口领域上海交通大学计算机系上海交通大学计算机系2023-2-616w包的依赖关系没有传递性包的依赖关系没有传递性w包的依赖关系可以加上许多构造型规定它的语义,包的依赖关系可以加上许多构造型规定它的语义,其中最常见的是输入依赖其中最常见的是输入依赖n输入依赖输入依赖(Import Depend
9、ency)(Import Dependency)是包与包之间的一种存是包与包之间的一种存取取(Access)(Access)依赖关系。输入依赖关系。输入(importing)(importing)允许一个包中的允许一个包中的元素存取另一个包中的元素元素存取另一个包中的元素w输入依赖是单向的。输入依赖是单向的。上海交通大学计算机系上海交通大学计算机系2023-2-617w包的公共部分,即可视性为公共的模型元素,称包的公共部分,即可视性为公共的模型元素,称为包的输出,包的输出只对另一个与它有输入依为包的输出,包的输出只对另一个与它有输入依赖的包才是可视的,可存取的赖的包才是可视的,可存取的w输入依
10、赖的表示,是在虚箭线上标有构造型输入依赖的表示,是在虚箭线上标有构造型importimport,箭头的方向从输入方的包指向输出,箭头的方向从输入方的包指向输出方的包方的包w表达存取依赖的另一构造型是表达存取依赖的另一构造型是AccessAccess,nimportimport把目标包的内容加到源包的名字空间,因把目标包的内容加到源包的名字空间,因而无需限定(指出)它们的名称而无需限定(指出)它们的名称nAccessAccess不把目标包的内容加到源包的名字空间,不把目标包的内容加到源包的名字空间,因而需要指出它们的名称因而需要指出它们的名称上海交通大学计算机系上海交通大学计算机系2023-2-
11、618客户机订货表追踪表订货订货规则GUI:窗口窗口表格事件处理策略GUIimportimport对于“策略”包中的类可视对于“策略”包中的类不可视上海交通大学计算机系上海交通大学计算机系2023-2-619w与类的泛化关系一样:表示一般与特殊的关系与类的泛化关系一样:表示一般与特殊的关系w两个包之间存在泛化关系,指其中的特殊性包必两个包之间存在泛化关系,指其中的特殊性包必须遵循一般性包的须遵循一般性包的接口接口。w与类的继承相同,特殊包一般继承其所包含的公与类的继承相同,特殊包一般继承其所包含的公共类,并且可以重载和添加自己的类。共类,并且可以重载和添加自己的类。上海交通大学计算机系上海交通
12、大学计算机系2023-2-620w包与包之间的联系(依赖与泛化)构成包图包与包之间的联系(依赖与泛化)构成包图w包与对象类在形式上类似,但是,包是包与对象类在形式上类似,但是,包是组织模型组织模型的一种机制,不存在实例,而对象类是对问题领的一种机制,不存在实例,而对象类是对问题领域的事物的一种抽象,存在实例。域的事物的一种抽象,存在实例。上海交通大学计算机系上海交通大学计算机系2023-2-621w小型系统可以不使用包小型系统可以不使用包w对于大型的复杂系统,通常需要建立包图,以便于理解对于大型的复杂系统,通常需要建立包图,以便于理解和处理整个模型和处理整个模型w建立包图的步骤如下:建立包图的
13、步骤如下:n分析系统模型元素,把概念上和语义上相近的模型元素纳入一个分析系统模型元素,把概念上和语义上相近的模型元素纳入一个包包如何确定如何确定“相近相近”性?性?如果一个类的行为和如果一个类的行为和/或结构的变更要求另一个类作出相应的变更或结构的变更要求另一个类作出相应的变更如果删除一个类后,另一个类便成为多余的如果删除一个类后,另一个类便成为多余的如果两个类之间有大量的频繁交互或通信如果两个类之间有大量的频繁交互或通信如果两个类之间有一般如果两个类之间有一般/特殊关系特殊关系如果一个类激发创建另一个类的对象如果一个类激发创建另一个类的对象上海交通大学计算机系上海交通大学计算机系2023-2
14、-622n对于每一个包,标出其模型元素的可视性对于每一个包,标出其模型元素的可视性n确定包与包之间的依赖关系确定包与包之间的依赖关系n确定包与包之间的泛化联系确定包与包之间的泛化联系n绘制包图绘制包图n精化精化上海交通大学计算机系上海交通大学计算机系2023-2-623w利用包图可以对系统的建模利用包图可以对系统的建模w系统的结构可以以不同的角度和观点建立系统的结构可以以不同的角度和观点建立上海交通大学计算机系上海交通大学计算机系2023-2-624用户接口业务通信数据库文件处理报表处理例行程序上海交通大学计算机系上海交通大学计算机系2023-2-625用户服务业务服务数据服务importsi
15、mports上海交通大学计算机系上海交通大学计算机系2023-2-626w一个大型复杂的系统可以分成若干个功能相对独一个大型复杂的系统可以分成若干个功能相对独立的子系统。系统和子系统都可以用一个包表示,立的子系统。系统和子系统都可以用一个包表示,但分别加上构造型但分别加上构造型SystemSystem和和subsystemsubsystem来来表示表示n系统系统:目的事物目的事物,它由一组系统元素组成它由一组系统元素组成,能完成整个任能完成整个任务务n子系统子系统:系统元素组成系统元素组成,系统的相对独立的部分系统的相对独立的部分n模型模型:现实世界的简化现实世界的简化,是系统的抽象是系统的抽
16、象n视图视图:模型的投影模型的投影,从不同角度反映系统模型从不同角度反映系统模型上海交通大学计算机系上海交通大学计算机系2023-2-627零售企业管理系统顾客服务子系统商店管理子系统仓库管理子系统上海交通大学计算机系上海交通大学计算机系2023-2-628w是一种依赖联系是一种依赖联系,说明它所连接的两个模型元素说明它所连接的两个模型元素是同一个概念的模型元素是同一个概念的模型元素,只是位于不同的抽象只是位于不同的抽象层上层上n需求到实现需求到实现n版本之间版本之间销售管理version=5.1销售管理version=5.2销售管理可视说明上海交通大学计算机系上海交通大学计算机系2023-2
17、-629上海交通大学计算机系上海交通大学计算机系2023-2-630w组件组件(component)(component)是系统的物理的可替换的单元是系统的物理的可替换的单元,它把系统的实现打包它把系统的实现打包,并且提供一组接口的实现并且提供一组接口的实现(realization)(realization)w组件代表系统的一个组件代表系统的一个物理实现物理实现块,代表逻辑模型块,代表逻辑模型元素如类、接口、协同的物理实现。组件本身遵元素如类、接口、协同的物理实现。组件本身遵从和提供一组接口的实现,它们代表了由驻留在从和提供一组接口的实现,它们代表了由驻留在组件内部的模型元素所实现的服务组件内
18、部的模型元素所实现的服务w常见的组件有系统的配置组件常见的组件有系统的配置组件,如如COM+COM+组件组件,Java,Java BeansBeans等等.组件也可以是软件开发中的产物组件也可以是软件开发中的产物,如源代如源代码码,二进制码二进制码,可执行代码等可执行代码等上海交通大学计算机系上海交通大学计算机系2023-2-631w组件的图标组件的图标Image.javaSystem:dialog.dllversion=2.0简单名字路径名字描述特性上海交通大学计算机系上海交通大学计算机系2023-2-632Mailer+Mailbox+RoutingList-MailQueuemyMail
19、er:Mailer:Mailbox:RoutingList:MailQueue组件中的类组件实例,存在于运行期间,用于配置图匿名对象可视性上海交通大学计算机系上海交通大学计算机系2023-2-633w组件与类相比组件与类相比n相同点相同点:都有名字都有名字,都有实例都有实例,都能实现接口都能实现接口,都有联系都有联系n区别区别:组件代表组件代表物理事物物理事物,类代表事物的类代表事物的逻辑抽象逻辑抽象,因此组件可以出因此组件可以出现在配置图中现在配置图中,类则不可以类则不可以.一般组件只有操作一般组件只有操作,外界通过接口接触外界通过接口接触它们它们,而类可以直接有属性和操作而类可以直接有属性
20、和操作n联系联系:一个类可以由一个或多个组件实现一个类可以由一个或多个组件实现.组件和类的关系为组件和类的关系为依赖依赖关系关系.w组件与包相比组件与包相比n组件组件代表一个物理的代表一个物理的代码模块代码模块,包可以包含包可以包含成组的逻辑模型成组的逻辑模型元素元素,也可以包含也可以包含物理的组件物理的组件,一个对象类可以出现在多个组件中一个对象类可以出现在多个组件中,却只却只能出现在一个包中能出现在一个包中上海交通大学计算机系上海交通大学计算机系2023-2-634w组件提供接口的组件提供接口的实现实现,一个组件可以实现一个或一个组件可以实现一个或多个接口多个接口字典拼写检查同义词上海交通
21、大学计算机系上海交通大学计算机系2023-2-635w配置组件配置组件(Deployment Component)(Deployment Component)n构成可执行系统必须的组件构成可执行系统必须的组件,如动态链接库如动态链接库(DLL),(DLL),执行执行程序程序(EXE)(EXE)等等.w工作产品组件工作产品组件(Work Product Component)(Work Product Component)n软件开发阶段用的组件软件开发阶段用的组件,包括源程序文件包括源程序文件,数据文件等数据文件等.它们并不直接构成执行系统它们并不直接构成执行系统,配置组件根据工作产品组配置组件根
22、据工作产品组件建立件建立w执行组件执行组件(Execution Component)(Execution Component)n是执行系统的部件是执行系统的部件,如如COM+COM+对象对象,它是执行动态链接它是执行动态链接库的实例库的实例上海交通大学计算机系上海交通大学计算机系2023-2-636上海交通大学计算机系上海交通大学计算机系2023-2-637wUMLUML的所有的所有扩展机制扩展机制都可以用于组件都可以用于组件,如加标记如加标记值以描述性质值以描述性质,使用构造型规定其种类使用构造型规定其种类w标准构造型标准构造型:n:可在节点上执行的组件可在节点上执行的组件n:静态的或动态的
23、对象库静态的或动态的对象库n:数据库表数据库表n:文档文档,代表源代码或数据代表源代码或数据n:文档文档上海交通大学计算机系上海交通大学计算机系2023-2-638w组件之间可以有组件之间可以有依赖依赖联系联系:一个组件的模型元素一个组件的模型元素使用另一个组件的模型元素使用另一个组件的模型元素w组件也可以通过接口实现依赖联系组件也可以通过接口实现依赖联系n简单表示法简单表示法n扩充接口表示法扩充接口表示法上海交通大学计算机系上海交通大学计算机系2023-2-639Image.javaComponent.javaImageObserverImage.javaComponent.javaImag
24、eObserverAbort:intfinal staticError:intfinal staticimageUpdate():boolean扩展成一个接口类实现该接口上海交通大学计算机系上海交通大学计算机系2023-2-640w由一个组件实现的接口称为由一个组件实现的接口称为输出接口输出接口(Export(Export Interface),Interface),表示该接口是组件提供给其他组件的服表示该接口是组件提供给其他组件的服务务.一个组件可以提供多个输出接口一个组件可以提供多个输出接口.w为一个组件使用的接口称为为一个组件使用的接口称为输入接口输入接口(Import(Import I
25、nterface)Interface)w通过输入接口和输出接口所实现的组件之间的依通过输入接口和输出接口所实现的组件之间的依赖成为输入依赖赖成为输入依赖(Import Dependency)(Import Dependency)上海交通大学计算机系上海交通大学计算机系2023-2-641w依据不同开发阶段依据不同开发阶段,可以将依赖分为可以将依赖分为:n开发期间的依赖开发期间的依赖n调用依赖调用依赖w开发期间的依赖开发期间的依赖(Development-time Dependency)(Development-time Dependency)是是指在编译阶段和连接阶段的组件之间的通信或调指在编
展开阅读全文