加载中 ...
首页 > 新闻资讯 > 经验心得 正文

领域建模中的七种坏味道信息

2019-03-23 07:29:17 来源:沈阳软件公司 作者:沈阳软件开发

  英文原文:The Seven Information Smells of Domain Modelling

  领域建模(Domain modelling )作为一项强盛的手艺,常备于许多IT专业人士的工具箱之中。令人遗憾的是,在已往的几年间,由于领域建模的几个问题导致人们对其大失所望,尤其是在迅速领域。这种方式的两个切实存在的问题就是:它会消耗太长的时间而且很易于导致“剖析瘫痪(analysis paralysis”),而这会导致障碍(“spinning wheels”)。我们为领域建模提供了一种方式,可以用来解决这些问题。

  我们会讨论领域模子中的一些信号,这些信号会告诉你要提出更多的问题。我们将这些信号称之为“坏味道信息(information smells)”,它们会提醒我们可能并没有完全明白领域模子所关注的信息。这些坏味道可能意味着我们在领域模子中丢失了信息或者领域模子中包罗了不准确的信息。关注于坏味道信息会指导我们发现需要回覆的问题,这是一个很快的历程。当所有的坏味道都消逝掉或者能够确认剩余的都是可接受的,我们就会制止,这会制止剖析瘫痪。

  这个历程最先于系统的输出,这些输出会为用户交付价值。我们在本文中不会论述怎样寻找这个价值。接下来,我们基于输出来处置惩罚模子中的这些坏味道信息。

  为了论述本文中的信息坏味道,我们会使用一个虚拟的例子,这个例子泉源于多个现实生涯中的场景。我们的人力资源主管想相识种种开发职员的薪酬是怎样支付的,这样他们就能制止在差别群体间举行不公正的支付所导致的执法纠纷。

  在随后举行的讨论中,团队试图明白主管的要求时,发生了如下的草图:

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

  关于坏味道信息以及它们对领域模子所反映出来的内容,有很主要的几点需要我们记着:

坏味道信息并纷歧定讲明就是一个问题。坏味道信息是可能存在问题的强烈信号。坏味道信息并不像规则那样具有强制性,规则通常都是准确的。对于坏味道信息所反映出的问题应该根据“请给我一个……的例子”的形式来举行论述,而不是“告诉我怎样……”的形式。我们会探索领域细节的样例而不是对模子举行泛化(generalisation),从而对细节举行隐藏。

  闲言少叙,以下就列出了主要的坏味道信息。若是你发现了其他的场景,请告诉我们以便让更多的人知道。

    某个条目在输出中,可是不在模子之中。某个条目在模子之中,可是不在输出中。两条信息位于统一个地方。某个实体与任何其他的实体都没有关联。一对一关系。多对多关系。未界说的功效。

  以下更为详细地形貌了每一种坏味道信息。

  坏味道信息#1 – 某个条目在输出中,可是不在模子之中。

  输出中的所有条目都需要存在于领域模子之中。输出只是对模子中数据的展现。输出中展现的每条信息都应该是模子中的一个属性或要领。在上面的例子中,模子中缺失了部门、平均人为、角色、人为、性别以及种族。为了消除这个坏味道,将它们作为属性或要领添加进来。若是缺失添加这些信息的合适实体,那需要添加实体。

  坏味道信息 #2 – 条目在模子中,可是不在输出之中。

  条目位于模子之中,可是并不在输出中是剖析历程内里“推(push)”的一个例子。剖析师以为它们需要这个值,而现实上却并不是这样。他们将值推到了模子之中。这会是比力危险的,由于你最终可能需要分外的开发来添加和维护这个值。但这是一种坏味道,它可能会被添加进来由于剖析师以为它是有用的。为相识决掉这种坏味道,我们需要问一下用户是否需要这个信息。注重,对于剖析师来说这是历程的一种剖析,由于他们需要将对用户的问题记载在问题日志中,而不是在模子之中。这种情形可能会发生在这样的场景之中,另外的一个项目需要一些信息,因此它就“悄然引入(slip)”到需求中来了。这些分外的需求应该作为单独的一项使命来处置惩罚。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。