UML参考手册
第二部分 基 本 概 念
第9章 物 理 视 图
9.1 概述
系统模型的大部分内容反映了系统的逻辑和设计方面的信息,并且独立于系统的最终实现单元。然而,为了可重用性和可操作性的目的,系统实现方面的信息也很重要。UML使用两种视图来表示实现单元:实现视图和部署视图。
实现视图将系统中可重用的块包装成具有可替代性的物理单元,这些单元被称为构件。实现视图用构件及构件间的接口和依赖关系来表示设计元素(例如类)的具体实现。构件是系统高层的可重用的组成部件。
部署视图表示运行时的计算资源(如计算机及它们之间的连接)的物理布置。这些运行资源被称作节点。在运行时,节点包含构件和对象。构件和对象的分配可以是静态的,它们也可以在节点间迁移。如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。
9.2 构件
构件是定义了良好接口的物理实现单元,它是系统中可替换的部分。每个构件体现了系统设计中特定类的实现。良好定义的构件不直接依赖于其他构件而依赖于构件所支持的接口。在这种情况下,系统中的一个构件可以被支持正确接口的其他构件所替代。
构件具有它们支持的接口和需要从其他构件得到的接口。接口是被软件或硬件所支持的一个操作集。通过使用命名的接口,可以避免在系统中各个构件之间直接发生依赖关系,有利于新构件的替换。构件视图展示了构件间相互依赖的网络结构。构件视图可以表示成两种形式,一种是含有依赖关系的可用构件(构件库)的集合,它是构造系统的物理组织单元。它也可以表示为一个配置好的系统,用来建造它的构件已被选出。在这种形式中,每个构件与给它提供服务的其他构件连接,这些连接必须与构件的接口要求相符合。
构件用一边有两个小矩形的一个长方形表示,它可以用实线与代表构件接口的圆圈相连(如图9-1)。
构件图表示了构件之间的依赖关系(如图9-2)。每个构件实现(支持)一些接口,并使用另一些接口。如果构件间的依赖关系与接口有关,那么构件可以被具有同样接口的其他构件替代。
图9-1 带接口构件图9-2 构件图9.3 节点
节点是表示计算资源的运行时的物理对象,通常具有内存和处理能力。节点可能具有用来辨别各种资源的构造型,如CPU、设备和内存等。节点可以包含对象和构件实例。
图9-3 部署图节点用带有节点名称的立方体表示,可以具有分类(可选)(如图9-3)。
节点间的关联代表通信路径。关联有用来辨别不同路径的构造型。
节点也有泛化关系,将节点的一般描述与具体的特例联系起来。
对象在节点内的存在用嵌套在节点符号内的对象符号来表示。如果这样的表示不方便,对象符号可以包含表示它所在节点名称的location标签。节点间对象或构件实例的迁移也可以表示出来。