3.10 包 图

3.10 包 图

包(Package) 是用于把模型元素组织成组的通用机制。包本身是UML 的一种模型元素。包是纯概念性的, 只存在于软件系统的开发阶段, 类似于一个有标签的Windows 系统中的文件夹。运用包可以将模型元素组织起来, 从而使其作为一个集合进行命名和处理。

包可以拥有其他模型元素。一个包可以拥有一个或多个模型元素, 包括类、接口、构件、用例、包等。

包可以拥有其他的包, 根包可以拥有子包, 子包又可以拥有自己的子包, 这样就可以构成一个系统的嵌套结构, 以表达系统模型元素的静态结构关系。包可以用于组织一个系统模型, 但是在建立模型时包的嵌套不宜过多, 其嵌套层数一般以2~3层为宜。

包的图标是一个大矩形(内容框) 的左上角带一个小矩形(名称框)。图3-35 (a)所示是名称被放置在内容框内, 图3-35 (b) 所示是名称被放置在名称框内, 内容框内是包的模型元素, 前面也需要标上可见性, 可见性的表示方法和类中属性和操作的表示方法相似, 这里不再重复。

图3-35 包

(a) 名称被放置在内容框内; (b) 名称被放置在名称框内