如果业务会从财务和流程效率的角度去考虑问题,那么研发也要完全拥抱业务视角,以业务的内在逻辑为发现事件的主要逻辑。

  • 核心逻辑:从收入流和成本结构中寻找事件
    1. 如果有现金收入,表示承担了义务。拿钱办事,需要收集证据,说明义务履约成功
    2. 如果有现金支出,表明拥有权利。花钱消灾,需要检查对方是否按时履约
    3. 对于没有现金往来的,可以通过目标 - 实际对比,产生类似履约的约束。所谓目标 - 实际对比,就是设立一个目标/计划,然后追踪实际执行的结果。(也就是我们常说的 KPI)
  • 四种对象原型
    1. 粉色:时标对象(moment-interval):即领域事件,不会被直接建模,而是通过凭证或者原始单据等表示。
    2. 黄色:角色对象(role):事件参与方在事件中扮演的角色
    3. 绿色:参与方(party-place-thing):可以是扮演角色的参与方,也可以是具体的人,某件东西;还可以是与凭证相关的标的物。
    4. 蓝色:描述(description): 对于上述三个对象的描述信息
  • 具体流程
    1. 寻找现金往来,构造一个凭证表示。在凭证上罗列发生的时间点、金额等关键数据项。
    2. 针对每一项关键数据项目,寻找来源。来源只能由三种:用户输入、由前序凭证提供、算法计算
    3. 回到现金凭证,思考它所对应的权利与责任。这些权利与责任需要哪些凭证证明,并以此为依据,寻找后续凭证。
    4. 无论是何种凭证,必须罗列关键数据项,并保证数据项获取的顺畅。
    5. 如果和现金往来关联不大,那么寻找关键 KPI 指标,并构造一个验收凭证表示它。其余步骤和现金往来一致。
    6. 获取了相互关联的凭证流(事件流)以后,进入模型细化阶段,围绕每个凭证,寻找参与其中的角色。
    7. 思考哪些参与方可能扮演这些角色,并将他们加入模型中
    8. 通过描述对象,为模型添加补充说明。