包图组件图、部署图.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
包图组件图、部署图

1 包(Package) 1.1 包的基本概念 1.2 设计包的原则 1.2.1 重用等价原则(REP) 1.2.2 共同闭包原则(CCP) 1.2.3 共同重用原则(CRP) 1.2.4 非循环依赖原则 1.3 包的应用 1.4 小结 习题: 2 组 件 图 2.2 组件图的作用 2.4 小 结 1.组件表示的是一个具体的物理元素。 2.组件图用于显示一组组件以及它们之间的相互关系。 3.使用组件图可以对源代码文件之间、可执行文件之间的相互关系建模。 习题: 3 部 署 图 部署图(deployment diagram)也称配置图、实施图,是对OO系统物理方面建模的两个图之一(另一个图是组件图),它可以用来显示系统中计算节点的拓扑结构和通信路径与节点上运行的软构件等。一个系统模型只有一个部署图,部署图常常用于帮助理解分布式系统。 部署图由体系结构设计师、网络工程师、系统工程师等描述。图所示是一个部署图的例子。 3.2 部署图中的基本概念 3.3部署图的例子 3.4 小结 习题: 重点: 1.包的定义 2.在设计包时应遵循的原则 包用于定义一个名字空间或容器(Container)。它本身也是UML的一种模型元素。 运用包可以把语义上相近的可能一起变更的模型元素组织在同一个包里,对包中的元素作为一个整体对待,并且控制它们的可见性和存取。 定义:包是一种对模型元素进行成组组织的通用机制。 软件开发时常见的一个问题是如何把一个大系统分解为多个较小系统。分解是控制软件复杂性的重要手段。在结构化方法中,考虑的是如何对功能进行分解,而在OO方法中,需要考虑的是如何把相关的类放在一起,而不再是对系统的功能进行分解。包在开发大型软件系统时是一个非常重要的机制。包中的元素不仅仅限于类.可以是任何UML建模元素。包就像一个“容器”,可用于组织模型中的相关元素以便更容易理解。 如图1.1所示是一个包的例子。 AWT +Window #Form -EventHandler 图1.1 AWT包 图1.1中的AWT包有3个元素:Window、Form和EventHandler。其中window的可见性为公有的(Public),表示在任何导入(import)AWT包的包中,都可以引用Window这个元素;Form的可见性为保护的(protected),表示只有AWT包的子包才可以引用Form这个元素;EventHandler的可见性为私有的(privated),表示只有在AWT包中才可以引用Event Handler这个元素。 对包的命名有两种方式,即简单包名名(simple name)和路径包名(path name)。例如Vision)是一个简单的包名,而Sensors::Vision是带路径的包名。其中Sensors是Vision包的外围包,也就是说,Vision包是嵌套在Sensors包中的。包可以嵌套,但在实际应用中,嵌套层次不应太深。 包中可以包含其他建模元素,如类、接口、组件、节点、用例、包等。就像对类的属性和操作可以进行可见性控制一样,对包中元素也可以进行可见性控制。 AWT +Window #Form -EvebtHandler 图1.1 AWT包 包与包之间可以存在依赖关系,但这种依赖关系没有传递性。 如图1.2所示是包之间非传递依赖的例子,包User Services依赖于包Business Services,包Business Services又依赖于包Data Services,但包User Services并不依赖于包Data Services。图中的依赖关系的版型都是《import》,表示源包会存取目的包中的内容,同时目的包中的内容是加到源包的名字空间的。这样在引用目的包中的内容时不需要加包名限定,直接用目的包中的元素名字即可。 User Services Business Services Data Services 图1.2 包之间的非传递依赖关系 《import》 《import》 另外,与UML中其他建模元素类似,包之间也可以有泛化关系。子包继承了父包中可见性为public和protected的元素。 图1.3 包之间的泛化关系 +Window +Form #EventHandler GUI MacGUI +GUI::Window +Form #GUI::EventHandler +VBForm WindowsGUI 如图1.3所示是包之间泛化关系的例子,其中包WindowsGUI泛化了包GUI,包WindowsGUI继承了包GUI中的Window和EventH

文档评论(0)

18273502 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档