领域建模中的七种坏味道信息2013-11-30 infoq 译:张卫滨领域建模(见侧边栏)作为一项强大的技术,常备于很多IT专业人士的工具箱之中。令人遗憾的是,在过 去的几年间,因为领域建模的几个问题导致人们对其大失所望,尤其是在敏捷领域。这种方式的两个切实存在 的问题就是:它会消耗太长的时间并且很易于导致“分析瘫痪(analysis paralysis”),而这会导致停滞( “spinning wheels”)。我们为领域建模提供了一种方式,可以用来解决这些问题。我们会讨论领域 模型中的一些信号,这些信号会告诉你要提出更多的问题。我们将这些信号称之为“坏味道信息 (information smells)”,它们会提醒我们可能并没有完全理解领域模型所关注的信息。这些坏味道可能意 味着我们领域模型中丢失了信息或者领域模型中包含了不正确的信息。关注于坏味道信息会引导我们发现需要 回答的问题,这是一个很快的过程。当所有的坏味道都消失掉或者能够确认剩余的都是可接受的,我们就会停 止,这会避免分析瘫痪。这个过程开始于系统的输出,这些输出会为用户交付价值。我们在本文中不 会阐述如何寻找这个价值。(我们将会在稍后的InfoQ文章“领域建模简介”中讨论这一点。)接下来,我们 基于输出来处理模型中的这些坏味道信息。为了阐述本文中的信息坏味道,我们会使用一个 虚拟的例子,这个例子来源于多个现实生活中的场景。我们的人力资源主管想了解各种开发人员的薪酬是如何 支付的,这样他们就能避免在不同群体间进行不公正的支付所导致的法律纠纷。在随后进行的讨论中 ,团队试图理解主管的要求时,产生了如下的草图:

领域建模最好的工具就是笔和 纸或者记号笔和索引卡片或者白板笔和白板,因为它会将关注的焦点放在要交换的信息上,而不是试图将样例 或模型变得“看上去很漂亮”。也就是说,为了防止我们凌乱的笔迹让您晕头转向,我们使用图形化工具来创 建了模型。因此,以下就是这个样例的更整洁版本: