第4章 功能边界划分的标准操作流程

功能边界划分是系统架构设计与原型评审之间的关键衔接环节。本章提供一套标准操作流程,通过四个连续子阶段——拆解业务域、识别实体与交互、定义接口与依赖、绘制边界图——将模糊的业务需求转化为可评审的边界视图。该流程适用于新建系统模块拆分、遗留系统服务化解耦以及多个团队协同的需求导入阶段。

适用场景

  • 大型需求文档(通常超过50个用户故事)需要拆分为功能域时。
  • 跨团队/跨中台协作,需要明确各方交付边界与接口契约时。
  • 原型设计前,需要为UI/UX团队提供清晰的功能领域地图。

前置条件

  • 已完成业务调研与需求收集,产出《业务需求说明书》或《用户故事地图》。
  • 已建立统一术语表,消除关键业务概念歧义。
  • 参与角色(业务分析、系统架构、产品经理)已就位。

操作步骤

功能边界划分标准流程 开始 拆解业务域 识别实体与交互 定义接口与依赖 绘制边界图 结束

每个阶段均有明确的输入、输出、责任角色和关键动作,如下表所示。

步骤 输入 输出 责任角色 关键动作
拆解业务域 业务需求说明书、用户故事地图 业务域列表、SUB-DOMAIN字典 业务分析师 + 产品经理 按业务流程主线划分,每人认领1~2个子域
识别实体与交互 业务域列表、领域术语表 实体清单、交互矩阵 领域专家 + 架构师 为每个子域提取核心Entity及跨域消息流
定义接口与依赖 交互矩阵、实体清单 接口契约列表、依赖关系图 系统架构师 + 接口负责人 明确API/Event/DB共享表,标记强/弱依赖
绘制边界图 接口契约、依赖关系图 边界视图 boundary-map.png/.svg 架构师 + UX设计师 使用Bounded Context表示法,标注上下游

步骤1:拆解业务域

以业务流程为主线,将需求按功能聚合拆分为若干独立的Sub-Domain。拆分遵循高内聚低耦合原则:每个域内部的功能必须围绕同一业务目标,域间交互尽量少。

建议:使用「事件风暴(Event Storming)」工作坊,用橙色便利贴表示事件,蓝色表示命令,快速形成域边界候选列表。

步骤2:识别实体与交互

针对每个Sub-Domain,提取核心业务实体(Entity / Aggregate)。识别跨域的Event或Message交互,形成实体-交互矩阵,矩阵行与列均为域,单元格标记流量方向与频率。

步骤3:定义接口与依赖

基于交互矩阵,为每个跨域调用定义接口契约。接口包括REST API、异步消息Topic/Queue、共享数据库表等。同时标记依赖粒度:强依赖(同步阻塞)和弱依赖(异步最终一致)。

示例:用户域 -> 订单域
接口:POST /api/v1/orders (同步强依赖)
契约参数:userId, productId, quantity
错误处理:400 BadRequest / 503 ServiceUnavailable

步骤4:绘制边界图

使用Bounded Context图符将上述成果可视化。上下文边界用虚线框表示,每个子域为一个矩形,内部列出核心实体。跨域连线标注接口ID和依赖强度。推荐使用PlantUML / Draw.io协作编辑。

⚡ 验收检查:边界图中每个上下文必须且仅能由一个团队负责;所有跨域连线必须对应已定义的接口契约,不漏不重。

输入输出物清单

物名称类型描述生产者
Sub-Domain字典数据表子域编号、名称、负责人、关联业务线业务分析师
实体-交互矩阵二维表行=源域,列=目标域,单元格记录协议/频率领域专家
接口契约清单数据表/OpenAPI接口路径、方法、参数、错误码、SLA架构师
边界视图矢量图包含上下文、实体、接口连线的可视化图架构师+UX

责任边界

  • 产品经理:确保业务域划分与产品路线图一致,不会遗漏核心功能。
  • 业务分析师:主导域拆解和实体识别,保证业务语义正确。
  • 系统架构师:接口定义与依赖管理,承担技术可行性及性能风险。
  • UX设计师:参与边界图绘制,确保原型设计范围与域边界对齐。

记录材料

每次边界划分会议应产出并归档以下材料:

  1. 会议纪要(含参会人员、决策记录)
  2. Sub-Domain字典 Excel/CSV
  3. 实体-交互矩阵截图
  4. 接口契约文档(OpenAPI/Swagger或Markdown表)
  5. 最终版边界视图(SVG/PNG)

异常处理

常见异常1:业务域高度耦合,无法清晰拆解
—— 引入事件风暴或用户故事映射,重新梳理核心流程;必要时引入“防腐层(Anti-Corruption Layer)”作为过渡边界。
常见异常2:实体识别遗漏,导致接口定义被动补丁
—— 强制推行「两次实体走查」:第一次由领域专家独立提取,第二次交叉评审;列入实体清单checklist。
常见异常3:依赖关系图出现环形依赖
—— 使用Dependency Structure Matrix(DSM)检测环,通过引入事件驱动或聚合层打破循环。

验收标准

  • 每个Sub-Domain有唯一负责人,且定义在字典中。
  • 实体-交互矩阵中,每个跨域交互至少对应一条接口契约。
  • 边界图上的所有连线均正确标注接口ID和依赖强度。
  • 无环形依赖,且每一层的依赖方向清晰(上层→下层,不得反向)。
  • 所有输出物通过团队评审并签字确认。