1、包图包图l 在 UML建模机制中,模型的组织是通过包( package)来实现的。l 包可以把建立的各种模型(包括静态模型和动态模型)组织起来,形成各种功能和用途的模块l 并可以控制包中元素的可见性以及描述包之间的依赖关系。l 通过这种方式系统模型的实现者能够在高层(按照模块的方式)把握系统的结构。l 包图是一种维护和描述系统总体结构模型的重要建模工具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。知识图谱知识图谱Agenda 什么是包如何阅读包图如何绘制包图包图应用说明本章小结Agenda 什么是包如何阅读包图如何绘制包图包图应用说明本章小结什么是包什么是包 在
2、面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间 “阡陌交纵 ”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了 “包 ”这种分组事物构造块。 包的作用是:1)对语义上相关的元素进行分组;2)定义模型中的 “语义边界 ”;3)提供配置管理单元;4)在设计时,提供并行工作的单元;5)提供封装的命名空间,其中所有名称必须惟一包的表示法包的表示法 名称:每个包都必须有一个与其它包相区别的名称 拥有的元素:在包中可以拥有各种其它元素,包括类、接口、构件、节点、协作、用例,甚至是其它包或图 5 2 包的表
3、示包的表示l UML中,用文件夹符号来表示一个包。包由一个矩形表示,它包含 2栏。下面是最常见的几种包的表示法,如图 5-2所示PageNamePageNameClassName-1ClassName-2.PageName类名Rose常用表示法包名放在第一栏在第二栏画出所包含的类图形表示第二栏列出包含的类名包名放在第二栏System:WebUIclass嵌套包图 5-2 包的表示法5 2 包的表示包的表示l 5 2 1 包的名称l 每个包必须有一个与其他包相区别的名称。标识包名称的格式有两种:简单名和全名。l 其中,简单名仅包含包一个简单的名称;全名是用该包的外围包的名字作为前缀,加上包本身的
4、名字。l 例如, Rose常用表示方法中,其包名 UI就是一个简单名。而包 System.Web.UI才是一个完整带路径的名称,表示 UI这个包是位于 System.Web命名空间中的。如图 5-3所示。图 5-3 包UI System:Web:UI简单名 含路径名 (全名 )包的表示包的表示包的元素l 在一个包中可以拥有各种其他元素,包括类、接口、构件、节点、协作、用例,甚至是其他包或图。这是一种组成关系,意味着元素是在这个包中声明的,因此一个元素只能属于一个包。l 每一个包就意味着一个独立的命名空间,因此,两个不同的包,可以具有相同的元素名,但由于所位于的包名不同,因此其全名仍然是不同的。l 在包中表拥有的元素时,有两种方法:一种是在第二栏中列出所属元素名,一种是在第二栏中画出所属元素的图形表示(参见图 5-2)。