UML与Rose建模实用教程第七章 包图.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
包图 7.1 包图的基本概念 包图是用来描述模型中的包和所包含元素的组织方式的图,是维护和控制系统总体结构的重要内容。包图能够组织许多UML中的元素,不过其最常用的用途是用来组织用例图和类图。 在UML 1.x规范中,虽然没有明确规定包图属于一种图类型,却可以使用包及包的关系来表示系统的结构,包图作为实际上存在并经常被使用的一种图出现在UML中。最新的UML 2规范中已经明确定义了包图。 包图中包含包元素以及包之间的关系。与其他图类似,包图中可以创建注解和约束。 7.1 包图的基本概念 7.2 包 包的概念 包的作用 元素的分包原则 包的概念 包是用于把模型本身组织成层次结构的通用机制,它不能执行。 包名:与类图相似,包有简单名与路径名两种命名方法。 包中的元素:包中可以容纳各种高级的模型元素,如类和类的关系、状态机、用例图、交互、协作等,甚至是一个完整的UML图。 另外,包中还可以含有包,这被称为包的嵌套。 包的概念 包元素的可见性:控制包外元素对包内元素的访问权限。 公有(+):只要当前包被引入,包内的公共元素即对引入者可见。 保护(#):仅对当前包的子包可见。 私有(-):仅对该包可见,外部无法访问。 另外,如果某元素对于一个包是可见的,则它对于嵌套在这个包中的任何包都是可见的。 包的构造型:可以使用构造型来描述包的种类。UML预定义了一些构造型,用户也可自行定义新的构造型。 包的作用 高内聚,低耦合: 在外部观察包时,可以将内部元素视作一个整体,方便将多个元素一同处理。 包内部的元素应该保证有相似、相同的语义,或者其元素有同时更改和变化的性质。 在实际应用中,包对包含的元素的作用相当于C++和C#中命名空间的概念或Java中的包概念。和这些概念不同的是,UML包中的内容不限于类和接口,包中的元素种类要丰富的多。 元素的分包原则 元素不能“狡兔三窟”:树形结构的一个节点不能同时拥有两个父节点,一个元素也不允许在两个包中重复出现。 相同包内元素不能重名:包所具有的命名空间的作用要求用一个包中的同种类元素名称必须是唯一的。 包内元素要紧密联系:分在同一个包中的元素应该具有某些相同的性质,即包的高内聚性。 包与包尽可能保持独立:包和包之间需要尽可能减少耦合度,要求包内元素与外部元素有尽可能少的依赖关系。 7.3 包的依赖关系 包之间的依赖关系实际上是从一个更高的层次来描述包内某些元素之间的依赖关系。也就是说,如果不同包中任何元素之间存在着一个依赖,则两个包之间就存在着依赖关系。 包之间的依赖关系首先需要包中的某些元素具有某种外部可见性,即可以被包外部的元素所引用。 7.3 包的依赖关系 容易出现的问题:循环依赖 循环依赖的出现是令人困惑、也是非常容易产生错误的。尤其是当依赖关系表示包的引入时,循环依赖会导致将模型转化成代码后因为包之间互相引入而出现错误。 解决方案:重新分包,引入第三个包,重新建立依赖关系。 7.4 包图的建模技术 对成组元素建模 浏览模型中的元素,找出概念或语义上接近的元素分组。 将分好组的元素组织在一个包里,同时考虑包的嵌套。 对每一个包,区分哪些元素需要在包外被访问,进而确定包内元素的可见性。这一步骤类似于类的封装过程:没有必要对外开放的元素一定要预先标注为私有,随后逐一检查,如果必须开放再考虑开放可见性为受保护或公有。若设计完成时发现部分公有元素未被使用,还应该将这些元素重新置为私有元素。 使用引入依赖显式地在包之间建立关系。 7.4 包图的建模技术 对体系结构视图建模 我们已经知道,视图是对系统的组织和结构的某个方面的投影,表达了对系统某个方面的关注。正如本书第4章介绍的“4+1”视图一样,这些体系结构视图实际上也是由包进行建模的,是对系统的顶层分解。理论上,我们完全可以利用包元素来创建自己的体系结构视图。实际上,现在绝大部分的UML建模工具的视图结构也是使用包元素来划分其体系结构视图的。

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档