3. 为订单上下文建立统一语言词汇表

为订单上下文建立统一语言词汇表 学习卡片

从对话到词汇表:订单上下文统一语言提取

统一语言不是把业务名词抄一遍,而是把同一概念在不同角色口中的多种说法收敛为一个唯一术语,并明确它的定义、所属上下文、同义词与冲突项。下面以一段真实的订单业务对话为输入,演示如何提取术语、消除歧义并产出可共享的词汇表。

输入:一段订单业务对话(教学示例)

销售:客户下单后,我先建个"订单草稿",确认库存再"转正式单"。
运营:我们叫"预订单"和"正式订单",草稿不算数,只有正式单才占用库存。
仓储:我这边看到的是"发货单",一个正式单可能拆成多张发货单。
财务:我关心"应收单",正式单确认后就生成,跟发货单不一定一一对应。
销售:客户改地址时,我改的是"收货信息",但已经发货的不能改。
运营:对,只有"未发货"的正式单才能改地址,改完要重新校验库存。

提取与消歧过程

  1. 切分候选术语:从对话中圈出所有被反复提及的名词性短语,如"订单草稿/预订单""正式单/正式订单""发货单""应收单""收货信息/收货地址"。
  2. 判定是否同一概念:若两个说法指向同一业务对象且生命周期一致,则合并为同一术语;若生命周期或归属不同,则拆分为不同术语。
  3. 标注同义词与冲突:同一概念的多说法记为同义词;同一说法被不同角色赋予不同含义,记为冲突,必须由领域专家裁决。
  4. 绑定上下文与定义:每个术语标注所属限界上下文、一句话定义、关键状态或约束。
冲突项不能靠"少数服从多数"解决。例如"订单"在销售口中指草稿,在仓储口中指已确认单,必须明确:订单(Order)仅指已确认的正式单,草稿另立术语 订单草稿(OrderDraft)。

订单上下文统一语言词汇表(示例交付物)

术语英文名所属上下文定义同义词冲突/备注
订单草稿OrderDraft订单客户提交但尚未确认库存与价格的临时订单预订单、草稿单不占用库存,可废弃
订单Order订单已确认库存与价格、正式生效的订单正式单、正式订单与"草稿"严格区分
订单行OrderLine订单订单中一条商品明细,含数量与单价明细行—
收货地址ShippingAddress订单订单指定的收货地点,未发货前可修改收货信息已发货后不可改
发货单Shipment仓储一次实际出库的发货记录,可对应多张订单出库单与订单非一一对应
应收单Receivable财务订单确认后生成的应收款项记录账单与发货单解耦
订单上下文统一语言:从对话到词汇表 业务对话(输入) 销售:订单草稿 / 正式单 运营:预订单 / 正式订单 仓储:发货单 财务:应收单 销售:收货信息 运营:未发货可改地址 候选术语 订单草稿 / 预订单 正式单 / 正式订单 发货单 应收单 收货信息 / 收货地址 消歧处理 合并同义词 草稿=预订单 正式单=正式订单 拆分冲突 "订单"≠草稿 草稿另立术语 绑定上下文 订单 / 仓储 / 财务 各归其位 标注约束 未发货可改地址 草稿不占库存 统一语言词汇表(输出) 订单草稿 OrderDraft 同义词:预订单|不占库存 订单 Order 同义词:正式单|已确认生效 订单行 OrderLine 商品明细|数量+单价 收货地址 ShippingAddress 同义词:收货信息|未发货可改 发货单 Shipment 仓储上下文|与订单非一一对应 应收单 Receivable

词汇表使用与维护要点

  • 唯一术语优先:代码、文档、接口命名统一使用词汇表中的英文名,禁止在代码里混用同义词。
  • 冲突项必须裁决:出现"同一词不同义"时,由领域专家指定唯一含义,其余含义另立术语。
  • 随上下文演进:当订单上下文与仓储、财务交互时,若发现新歧义,应回到词汇表补充或修订,而不是在代码里临时起名。
  • 可验证:任意两个团队成员对同一术语的理解应一致;若不一致,说明词汇表尚未收敛。
词汇表不是一次性文档。建议在每次需求评审或建模工作坊后,用 10 分钟检查新增术语是否与既有词汇冲突,冲突则当场裁决并更新表格。