知识卡片

过度整合陷阱:数据实体颗粒度太小放大差异,太大抹杀差异

普通读书笔记卡

内容

标准化不是”整合得越彻底越好”,作者专门点出一种容易踩的坑—— “过度整合”。这种陷阱最容易出现在流程看似相近的业务领域之间, 或者一个业务领域内部的多个产品之间——后一种情况尤其难判断, 因为同一个业务领域内部的流程本来就天然相似,很容易让建模者 产生”干脆整合到一起”的冲动,再加上业务建模本质上是一种”纸上 操作”,模型的分与合改起来都很容易,调整结构没有实际的物理 成本,这种”容易”反而放大了整合的诱惑。避免过度整合需要从业务 和数据两个方向配合检查,而不能只靠一头判断:业务上要重新审视、 理清流程,把具体差异真正搞清楚;数据上则要重新检视数据实体 划分的颗粒度是否合适——这里有一个双向的失衡风险:如果数据 实体的颗粒度划得太小,反而会放大业务之间原本不那么本质的差异 (把本可以共用的部分也拆开了);但如果颗粒度划得太大、塞进 太多属性,内聚性就会不够,进而抹杀掉真正存在的业务差异(把 本该区分的部分也糊在一起了)——过小和过大这两种颗粒度失衡都会 导致不合理的标准化结果,只是失衡的方向相反。因此,流程模型和 数据模型之间反复做语义互查,是判断标准化尺度是否合理的关键 手段,而且这是一个需要反复锤炼、没有一次到位的过程。

参考来源

- 位置:《企业级业务架构设计:方法论与实践》第6章"业务架构的 设计难点"6.2节"避免'过度整合'"(源文件:_epub-src对应 text00021.html一带) - 结论依据:原文明确"这种情况通常会出现在流程看似相近的业务 领域,以及一个领域内部的多个产品之间……业务建模毕竟是一种 '纸上操作',分、合都是很容易的……数据上则要重新检视数据实体 划分的颗粒度是否正确,是否因为包含的属性太多而导致内聚性 不够。若数据实体的颗粒度太小,则会放大业务差异;而若颗粒度 太大,则会抹杀业务差异;二者都会导致不合理的标准化结果", 直接支撑过度整合陷阱及颗粒度过小/过大两种失衡方向这一结论。 - 原始内容:若数据实体的颗粒度太小,则会放大业务差异;而若 颗粒度太大,则会抹杀业务差异;二者都会导致不合理的标准化 结果。