Skip to content
难度基础(★)
建议时长45分钟

10.4.10 部署图

部署图描述系统运行时的物理部署结构:有哪些处理节点,节点之间如何通信,软件构件或制品部署在哪些节点上。

课程里反复强调:部署图是 UML 中典型描述物理分布关系的图。看到“硬件”“物理”“节点”“服务器”“PC 客户端”,要优先想到部署图。

部署图描述什么

元素含义例子
节点运行软件的硬件或执行环境Web服务器、数据库服务器、PC客户端、容器运行环境
构件/制品部署到节点上的软件单元Web应用、数据库脚本、服务组件
通信路径节点之间的连接TCP/IP、HTTP、局域网连接
部署关系软件单元配置到节点上应用部署在应用服务器上
mermaid
flowchart LR
  Client["PC客户端\n<<device>>"]
  Web["Web服务器\n<<node>>\nWebApp构件"]
  DB["数据库服务器\n<<node>>\nDatabase制品"]
  Client -- "HTTP/TCP-IP" --> Web
  Web -- "JDBC/TCP-IP" --> DB

实际 UML 部署图中,节点常画成立方体。节点内部可以包含构件或制品,节点之间可以标注通信协议。

节点是部署图的识别核心

部署图看起来有时会和构件图相似,因为节点里也可能放构件。但它的核心不是“构件依赖”,而是“构件部署到哪里”。

题干线索判断
处理节点、服务器、客户端、设备部署图
软件组件与硬件之间的物理关系部署图
节点之间通过 TCP/IP 通信部署图
构件之间的组织和依赖关系构件图
类、接口、协作及其关系类图

如果题目问“所交付系统中软件组件以及硬件之间的物理关系”,答案就是部署图。

部署图与构件图的关系

构件图回答“软件由哪些构件组成”,部署图回答“这些构件运行在哪些节点上”。二者有联系,但视角不同。

对比项构件图部署图
主要对象构件、接口、依赖节点、构件/制品、通信路径
是否强调物理不强调强调
典型图形构件标记、供需接口立方体节点
常见词组件、接口、依赖服务器、PC、节点、协议、部署

部署图在下午 UML 建模题中出现较少,但上午题会通过图形或定义直接考识别。

一个部署视角例子

以图书系统为例:

节点部署内容通信
PC客户端浏览器或客户端程序通过 HTTP 访问 Web 服务器
Web服务器图书管理 Web 应用调用数据库服务器
数据库服务器图书库、借阅记录表接收 SQL/JDBC 请求

这个表表达的不是类之间关系,也不是业务流程,而是软件在运行环境中的配置关系。

例题

单选
描述应用服务器、数据库服务器和客户端之间部署关系,适合使用:
单选
部署图最核心的表达内容是:

自查要点

  1. 部署图中的节点通常表示什么?
  2. 为什么看到“服务器、PC、TCP/IP”要想到部署图?
  3. 构件图和部署图分别回答什么问题?
  4. 部署图为什么不等同于业务流程图?