5.6.1 包的定义和表示方法
更新于 2026年10月10日
版权声明
5.6.1 包的定义和表示方法
在UML中,把组织模型的组块称为包。包是用来把元素组织成组的通用机制,有助于组织模型中的元素,使得更容易理解它们。包允许控制对包的内容的访问,从而控制系统体系结构中的接缝。
包是UML的模型元素之一,可以包含其他包和类。包和包之间可以有各种关联关系,如依赖等。包是一种分组机制,它把一些模型元素组织成语义上相关的组,包中拥有或涉及的所有模型元素叫做包的内容。作为模型组织的分组机制,包的实例是没有意义的。因此包仅在建模时有用,而不需要转换成可执行的系统。一个包可以拥有若干模型元素。
UML中对包预定义的构造型有许多,以下列举部分。
(1)≪system≫:系统模型。
(2)≪subsystem≫:子系统模型。
(3)≪facade≫:其他包的某一个视图,如业务模型中有关产品的信息。
(4)≪stub≫:另一个包中公共内容的服务代理(存根)。(https://www.daowen.com)
(5)≪framework≫:模型的体系结构。
例如,在软件项目的开发过程中,为了加快开发速度,一个大型软件项目可能被分成几块由几个小组在不同的地点分头同时进行开发,为了保证各小组工作的协调开展,可以用≪stub≫进行系统的开发管理。每个小组各自用≪stub≫定义一个包,这个包有两个基本功能:
(1)规定了系统之间的接口,便于各小组独立开展工作。
(2)用来表示该小组当前工作的成果,供其他小组参考。

图5-19 UML中包的表示法
UML提供了包的图形表示法,把包画成带标签的文件夹,将包的名称放在文件夹中(如果没有在文件夹展示它的内容)或放在标签上(如果在文件夹里展示它的内容),如图5-19所示。这种表示法允许对那些能够作为一个整体进行操作的成组的元素进行可视化,并在某种程度上控制个体元素的可见性以及对它们的访问。