用例图栏目 ·

用例图系统边界怎么画:边界里写什么、怎么命名更清晰

讲清用例图系统边界(System Boundary)的作用、命名方式、边界内外该放什么,并给出常见误区与可直接套用的检查清单。

很多人第一次画用例图时,会卡在“系统边界”这一步:

  • 这个长方形到底代表什么?
  • 边界里应该写哪些用例,边界外应该放哪些参与者?
  • 系统名字怎么起才不含糊?
  • 一个产品有多个子系统,是画一个边界还是多个边界?

下面用一套通用规则,把这些问题一次讲清。

先给结论:系统边界表示“你要负责的系统范围”

用例图里的系统边界(System Boundary)通常是一个长方形框:

  • 边界内:你要描述的系统提供的能力(用例/Use Case)
  • 边界外:与该系统交互的参与者(Actor:人、角色、外部系统、设备等)

它的核心价值是:让读图的人一眼看懂“讨论的范围到哪儿为止”。

边界里写什么:只放“系统要提供的用例”

边界里放的是用例(椭圆),常见写法是“动词 + 名词”,比如:

  • 登录
  • 下单
  • 支付订单
  • 查询订单状态
  • 申请退款
  • 导出报表

判断一个椭圆是否应该放进边界内,可以用这个问题:

这是系统对外承诺/提供的行为吗?

如果是,就放边界内;如果只是某个内部实现细节(例如“写数据库”“调用缓存”),通常不作为用例出现。

用一个小例子理解

以“订单系统”为例:

  • 边界内(订单系统提供的能力):创建订单、取消订单、查询订单
  • 边界外(与之交互的对象):用户、客服、支付平台、库存系统

“支付平台”可能会被画成参与者(外部系统 actor),与“支付订单/发起支付”用例连线。

边界外写什么:参与者一定在边界外

参与者(小人)放在边界外,包括:

  1. 人/角色
  • 普通用户
  • 管理员
  • 客服
  1. 外部系统(只要它不在你这张图的系统范围内)
  • 第三方支付
  • 统一身份认证(SSO)
  • 物流系统
  • 消息通知平台
  1. 设备/硬件(当它是交互对象)
  • 读卡器
  • 闸机
  • 传感器

一个简单但好用的原则:

只要不是“你这次要画的系统”,就别放进边界里。

系统边界怎么命名:用“系统/子系统/应用”的明确名称

边界框顶部(或框内上方)一般写系统名。命名建议:

  • 用业务语义:订单系统、会员系统、工单系统、报表中心
  • 用组织认可的系统名:OA、CRM、ERP(如果团队里约定俗成)
  • 避免含糊词:比如“平台”“后台”“服务”不加限定就很容易误解

如果你的系统既有 App 也有 Web、既有前台也有后台,建议直接命名为:

  • “XX 业务系统”(更像范围定义)
  • 或拆成多个边界:如“XX 用户端”“XX 管理端”(看你要解决的沟通问题)

一个产品多个子系统:画一个边界还是多个?

看你这张图要回答什么问题。

情况 A:你只想讲清“一个系统对外提供什么”

  • 画一个边界
  • 把边界命名为你要讲的那个系统
  • 外部的其他子系统,一律当作参与者(外部系统)

适合:接口对接、需求评审、跨团队协作。

情况 B:你要比较多个子系统的职责边界

  • 画多个边界(每个边界一个系统)
  • 用例分别落在各自边界内
  • 系统之间的交互,用参与者或系统间关系表达(取决于你团队习惯)

适合:架构梳理、职责划分、拆分系统时的讨论。

情况 C:你只是想把图画得“别那么挤”

不要用“多画边界”来解决排版问题。优先做这些:

  • 只画关键用例(先 5–10 个)
  • 拆成多张图(按业务场景拆:下单、售后、运营等)
  • 用包(package)/分组把用例按模块归类(如果你的工具支持)

常见误区(很容易让图变得难读)

误区 1:把参与者画进边界里

参与者在边界里,会让读图的人误以为“参与者是系统的一部分”。

纠正:参与者统一放边界外。

误区 2:边界名字写成“用例图”或“系统”

例如边界写“系统”“平台”“后台”,别人看完仍不知道范围是什么。

纠正:用“订单系统 / 会员系统 / 工单系统”这类可指代具体对象的名字。

误区 3:把内部组件当成参与者

把“数据库”“缓存”“消息队列”画成参与者,一般会把讨论带歪到实现层。

纠正:除非它是独立外部系统且对你来说是黑盒,否则不要作为参与者出现在用例图里。

误区 4:一个边界里塞进全公司的能力

边界画得太大,用例堆满,参与者连线像蜘蛛网。

纠正:收紧范围,先画“一个明确系统 + 一个明确场景”。

快速检查清单:你这张图的边界画对了吗?

你可以用下面这份清单自检:

  • 边界框的名字是否能让新人直接理解它指代哪个系统?
  • 边界内是否全部是“系统提供的能力”(用例),而不是实现细节?
  • 边界外是否全部是参与者(人/角色/外部系统/设备)?
  • 是否明确了系统的“范围”:哪些系统被当作外部?
  • 这张图是否聚焦一个场景(用例数量是否控制在可读范围)?

需要快速把系统边界和用例整理成图?

如果你手上只有一段文字需求,想快速整理出“系统边界 + 参与者 + 用例”的初稿,可以直接用在线生成器把信息填进去,再按团队规范微调:

另外,如果你在评审前想把“外部系统/角色清单”先梳理一遍,也可以先用生成器产出一个可编辑版本,避免在画图工具里反复拖拽: