UML与系统分析设计第二版张龙祥1_uml2章节.pptVIP

UML与系统分析设计第二版张龙祥1_uml2章节.ppt

  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文档。上传文档
查看更多
第9章 包图 ?在对一个大型的软件系统建立模型时往往需要面对和处理大量的模型元素,如对象类、接口、组件、节点、图等。 ? UML的包是一种对模型元素进行成组组织的通用机制,它把语义上相近的可能一起变更的模型元素组织在同一个包里,便于理解复杂的系统,控制系统结构各部分间的接缝。 ?包是一种概念性的模型管理的图形工具,只在软件的开发过程中存在。 ?包可以用于组织一个系统模型。一个系统的框架、模型、子系统等也都可以看作是特殊的包。 第9章 包图 9.1 包 9.1 包 9.1.1 包的语义和表示 包(Package)是一种对模型元素进行成组组织的通用机制。 包用于定义一个名字空间(Namespace)或容器(Container),它本身是UML的一种模型元素。 运用包可以把语义上相近的可能一起变更的模型元素组织在同一个包里,对包中的元素作为一个整体对待,并且控制它们的可视性和存取。 包的图标是一个大矩形(内容框)的左上角带一个小矩形(名字框),如图9.1所示。 包的名字可是一个简单名或路径名。在包名之后或之下,可用括在花括号中的文字(约束)说明包的性质,如“{abstract}”、“{version}”等。 9.1.1 包的语义和表示 一个包可以拥有一个或多个模型元素,包括对象类、接口、组件、节点、协同、Use Case、图等,甚至拥有其他包。 所有UML的模型元素都可以放入包内。通常,一个包拥有的是对象类或其他的包。 包与它所含的模型元素之间的关系是一种组合联系,即一个包由一个或多个模型元素组成,每一个模型元素在该包中声明。 一个模型元素只能为一个包唯一地拥有。一个包消失了,它所拥有的全部模型元素也随之消失。 不同包的模型元素可以同名,但在同一个包中的模型元素不能同名。 9.1.1 包的语义和表示 包的模型元素名前可以有可视性标记,分别用“+”、“#”、“-”表示可视性为“公共”、“保护”、“私用”,如图9.2所示。 包只是一种组织模型元素的容器,它没有实例,只有内含的内容,即对象类、接口等模型元素。 包纯粹是一种概念性的建模工具,它与组件不同。包只在软件的开发过程中存在,它类似一个有标签的文件夹,其中包含有包的名字和内容。而组件是系统的组成部分,既存在于软件的开发过程中,也存在于系统的运行期间。 包内的模型元素具有较强的内聚性,不同的包的元素之间的耦合性很弱。 9.1.2 包的嵌套 包可以拥有其他包作为包内的元素,子包又可以拥有自己的子包,这样可以构成一个系统的嵌套结构,以表达系统模型元素的静态结构关系。 包的嵌套可以清晰地表现系统模型元素之间的相互关系。但嵌套不宜过深,包的嵌套层数一般以2~3层为宜。 例:图9.3是包的嵌套的一个示例,它表示一个通用图形编辑器的组织结构。 包与它的元素的组成关系可以用树形结构表示,这对于表达概念模型是有用的。例如,图9.4是图9.3的树形表示,只不过它不能表达子包之间的依赖联系。 对于一个包可视的元素,对于该包的内嵌套子包也是可视的。 9.1.2 包的嵌套 例:包的嵌套示例,如图9.3所示。 9.1.2 包的嵌套 例:包中元素的树形结构示例,如图9.4所示。它是图9.3的树形表示。 9.1.3 标准构造型 对于一个包可以加上构造型或标记值说明其特定的性质,如说明包的开发者,包所提供的服务等。 UML预定义的用于包的构造型有:facade、framework、stub、subsystem、system等。 构造型facade说明一个包仅仅是其他一些包的视图。 构造型framework说明一个包代表模型架构。 构造型stub说明一个包是另一个包的公共内容的服务代理。 构造型subsystem说明一个包代表系统模型的一个独立部分,即子系统。 构造型system说明一个包代表系统模型。 构造型facade和stub特别有助于管理大型系统模型。 9.2 包的联系 9.2.1 依赖与输入依赖 包与包之间的联系主要有两种:依赖(尤其是输入依赖)和泛化。 两个模型元素之间存在着依赖是指一个元素的定义的改变会引起另一个元素发生相应改变。 对于对象类来说,依赖联系有多种情况,如一个类以另一个类作为其数据的一个部分,一个类用另一个类作为操作的参数等。 两个包之间存在着依赖通常是指这两个包所含的模型元素之间存在着一个或多个依赖。 9.2.1 依赖与输入依赖 对于由对象类组成的包,如果在两个包的任何对象类之间存在着任何一种依赖,则这两个包之间存在着依赖。 包的依赖联系同样是用一条虚箭线表示,虚箭线从依赖包(源)指向独立包(目标)。 包的依赖联系没有传递性。 例: “订货”包与“顾客”包之间存在着依赖,如图9.5所示。 9.2.1 依赖与

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档