首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

使用四色建模法进行领域分析

2013-07-11 
运用四色建模法进行领域分析潘晓良 百姓网技术总监、联合创始人确认参与QCon上海2013,分享百姓网高效团队建

运用四色建模法进行领域分析
潘晓良 百姓网技术总监、联合创始人确认参与QCon上海2013,分享百姓网高效团队建设经验

文章:从百度云看云计算在互联网的落地实践

7月7日车库咖啡,百度开放云开启移动APP新时代

首届QCon上海20个专题确认,80余场分享,全面征集演讲主题

百万大奖扶持创业,2013年阿里云开发者大赛互联网创新创业作品火热征集中!

那么为什么这些数据形成的链条能够成帮助我们追溯业务的营运呢?

因为这些数据并不是随便挑选的。如果我们回顾一下你作为COO检查这个疏漏的过程,你首先选择了订单和EMS快递存根,换句话说,如果订单出现差错,或者EMS快递存根上说明你的确邮寄了7本书,那么这个疏漏的责任并不在你。所以这两个订单实际上这个你这个企业法律责任的起点和终点。

当你确定这个疏漏的责任在你之后,你选择审查一些流程执行的结果,比如包裹存根。从而验证一些主要的业务流程执行的结果是否正确。换句话讲,这些数据是支撑你运营体系的关键流程的执行结果

正是由于这些数据是流程执行的结果,它们才使我们可以在不了解流程细节的前提下,对某些突发事件进行追述和分析。

除了上面那个极端的例子(投诉),对于任何一笔正常的经济往来,我们都需要知道:

  1. 如果我付出一笔资金,那么我的权益是什么?
  2. 如果我收到一笔资金,那么我的义务是什么?

而这些问题都需要业务系统捕捉到相应的足迹才能够回答。所以企业的业务系统主要的目的之一,就是记录这些足迹,并将这些足迹形成一条有效的追溯链。

而作为业务分析师的你,则应该知道那些事件在运营上是需要追溯的,这些事件都留下了什么足迹。

这些足迹通常都具有一个有意思的特性,即它们都是时标性对象(moment-interval)。发现这些时标性对象就是建模的起点。对于这些时标性对象稍加整理,我们就得到了整个领域模型的骨干:

在得到骨干之后,我们需要丰富这个模型,使它可以更好的描述业务概念。这时候,我们需要补充一些实体对象。通常实体对象有三类:人,地点, 物(party/place/thing)。

在这个基础上,我们可以进一步抽象这些实体事如果参与到各种不同的流程中去的,这时候,我们就需要用到角色(role):

最后再把一些需要描述的信息放入描述对象(description)。

我们就得了应用四色建模方法(color modeling)建立的一套领域模型。

简要回顾一下上面的过程,不难发现我们建模的次序和重点:

  1. 首先以满足管理和运营的需要为前提,寻找需要追溯的事件。
  2. 根据这些需要追溯,寻找足迹以及相应的时标性对象。
  3. 寻找时标对象周围的人/事/物
  4. 从中抽象角色
  5. 把一些信息用描述对象补足。

由于在第一步中,我们就将管理和运营目标做为建模的出发点。因此,整套模型实际上是围绕这些“如何有效地追踪这些目标”而建立的,这样的模型可以保证模型支撑企业的运营。

附言

几位同事帮我审校这篇文章的时候,有人问了一个很有意思的问题:为什么你会以一个看上去像极端情况的例子来说明这个建模方法? 以我的经验来看,对于业务系统有两个东西是很重要的:可追溯性(traceability)和执行效率(efficiency)。这里的可追溯性是指责任的可追溯性(traceability of liability),而通常都是在一些不太好的事情发生之后,才需要对责任进行追溯。所以想一个相对负面的例子更容易帮助我们找到建模所需要解决的问题。

另外还有位同事说,你的四色方法与Peter Coad的四色法并不完全相同。是的,我所介绍的并不是Peter Coad的四色法, 我不敢说是发展, 仅仅是对于Peter Coad四色的一种变化吧。


感谢张凯峰对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

热点排行