现有的UML结构图可用于对系统的静态方面进行可视化、详述、构造和文档化。可以把系统的静态方面看作是对系统的相对稳定的骨架的表示。正如房屋的静态方面是由墙、门、窗、管子、电线和通风孔等事物的布局组成的一样,软件系统的静态方面是由类、接口、协作、构件和结点等事物的布局组成的。
UML的结构图大致上是围绕着对系统建模时发现的几组主要事物来组织的。
(1) 类图 类、接口和协作
(2) 构件图 构件
(3) 组合结构图 内部结构
(4) 对象图 对象
(5) 制品图 制品
(6) 部署图 结点
1.类图
类图(class diagram)展示了一组类、接口、协作以及它们之间的关系。在面向对象系统建模中类图是最常用的图。用类图说明系统的静态设计视图。包含主动类的类图用于表达系统的静态交互视图。
2.构件图
构件图(component diagram)展示了实现构件的内部部件、连接件和端口。当实例化构件时,也实例化了其内部部件的副本。
3.组合结构图
组合结构图(composite structure diagram)展示了类或协作的内部结构。构件和组合结构差别很小,在本书中把它们都看作构件图。
4.对象图
对象图(object diagram)展示了一组对象以及它们之间的关系。用对象图说明在类图中所发现的事物的实例的数据结构和静态快照。对象图也像类图那样表达系统的静态设计视图或静态交互视图,但它是从现实或原型方面来观察的。
5.制品图
制品图(artifact diagram)展示了一组制品以及它们与其他制品、与它们所实现的类之间的关系。可以用制品图来展示系统的物理实现单元(UML把制品图当作部署图的一部分,但是为了讨论方便,把它单独列出)。
6.部署图
部署图(deployment diagram)展示了一组结点以及它们之间的关系。用部署图说明体系结构的静态部署视图。部署图与构件图的相关之处是,一个结点通常包含一个或多个构件。
注解 这些图有一些常见的变体,根据它们的主要目的来命名。例如,为了说明在结构上把系统分解成子系统,可以创建子系统图。子系统图就是一个类图,其中主要包含子系统。