第5章 包图.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 包图 目录 第5章 包图 包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,通常使用逻辑性的包,用于对模型进行组织;使用物理性的包,用于转换成系统中的Java包。 5.1 包图的概念 1.包图 包图是描述包及其关系的图。与所有UML的其它图一样,包图可以包括注释、约束。包间的关系有依赖关系和泛化关系。图5-1是一个典型的包图。 5.1 包图的概念 2.包的作用 在面向对象软件开发的过程中,类显然是构建整个系统的基本元素。但是对于大型的软件系统而言,其包含的类将是成百上千,再加上类间的关联关系、多重性等,必然是大大超出了人们对系统的理解和处理能力。为了便于管理这些类,我们引入了“包”这种分组元素。包的作用是: 1)对语义上相关的元素进行分组。如,把功能相关的用例放在一个包中。 2)提供配置管理单元。如,以包为单位,对软件进行安装和配置。 3)在设计时,提供并行工作的单元。如,在设计阶段,多个设计小组,可以同时对几个相互独立包中的类进行详细设计。 4)提供封装的命名空间,同一个包中,其元素的名称必须惟一。 3.包中的元素 在包中可以拥有各种其它元素,包括类、接口、构件、节点、协作、用例,甚至是其它子包或图 。一个元素只能属于一个包。 5.2 包的表示 UML中,用文件夹符号来表示一个包。包由一个矩形表示,它包含2栏。下面是最常见的几种包的表示法,如图5-2所示 5.2 包的表示 5.2.1 包的名称 每个包必须有一个与其他包相区别的名称。标识包名称的格式有两种:简单名和全名。 其中,简单名仅包含包一个简单的名称;全名是用该包的外围包的名字作为前缀,加上包本身的名字。 例如,Rose常用表示方法中,其包名UI就是一个简单名。而包System.Web.UI才是一个完整带路径的名称,表示UI这个包是位于System.Web命名空间中的。如图5-3所示。 5.2 包的表示 5.2.2 包的元素 在一个包中可以拥有各种其他元素,包括类、接口、构件、节点、协作、用例,甚至是其他包或图。这是一种组成关系,意味着元素是在这个包中声明的,因此一个元素只能属于一个包。 每一个包就意味着一个独立的命名空间,因此,两个不同的包,可以具有相同的元素名,但由于所位于的包名不同,因此其全名仍然是不同的。 在包中表拥有的元素时,有两种方法:一种是在第二栏中列出所属元素名,一种是在第二栏中画出所属元素的图形表示(参见图5-2)。 5.2.3 包的可见性 像类中的属性和方法一样,包中的元素也有可见性,包内元素的可见性控制了包外部元素访问包内部元素的权限。 5.2 包的表示 包的可见性有3种:可以用“+”来表示“public”,即,该元素是共有的;用“#”来表示“protected”, 即,该元素是保护的,用“-”来表示“private”, 即,该元素是私有的。 5.2 包的表示 包内元素的可见性,标识了外部元素访问包内元素的权限。表5-1列出了可见性与访问权限的关系。 5.2 包的表示 5.2.4 包的构造型 为了表示包的新特性,用构造型来描述包的新特征。包的构造型有5种,下面分别举例说明。 1.《system》构造型:《system》构造型的包表示整个系统. 2.《subsystem》构造型:subsystem》构造型的包则表示正在建模的系统中某个独立的子系统. 3.《facade》构造型:只是某个其它包的视图,它主要用来为其它一些复杂的包提供简略视图 4.《stub》构造型:是一个代理包,它服务于某个其他包的公共内容,这通常应用于分布式系统的建模中 . 5.《framework》构造型:用来表示一个框架的,框架是一个领域内的应用系统提供可扩充模板的体系结构模式 5.3 包图中的关系 包图中的关系有2种:依赖关系、泛化关系。 5.3.1 依赖关系 依赖关系又可以分为4种。在依赖关系中 ,我们把箭尾端的包称为客户包,把箭头端的包称为提供者包。 下面以上图5-4为例说明其语义。 1. 《use》关系 《use》关系是一种默认的依赖关系 ,说明客户包(箭尾端的包)中的元素以某种方式使用提供者包(箭头端的包)的公共元素,也就是说客户包依赖于提供者包。如果没有指明依赖类型,则默认为《USE》关系。 例如在图5-4中,有两个《USE》依赖,Client包将通过Server包来完成Order的存储,而Server包使用System.Data.SqlClient包来实现数据库的存储。 2. 《import》关系 5.3 包图中的关系 《import》关系:最普遍的包依赖类型,说明提供者包的命名空间将被添加到客户包的命名空间中

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档