06|领域建模实践(下):领域建模还有什么其他技巧?

上节课咱们介绍了领域建模的一些概念,也一起完成了有关租户、组织和员工的领域建模。今天这一讲,我们继续对项目管理、人员分配和工时登记部分进行建模。

在完成领域模型的过程中,我们还会对“多对多关联”进行更深入的学习,一起识别“操作”,并且划分模块,最后还会完善业务规则并建立词汇表。掌握了这些技巧,你就可以尝试运用领域建模解决一些实际问题了。

深入理解“多对多”关联

和上节课一样,我们从项目管理部分的领域名词开始建模。同样,你是架构师,我是产品经理。

我们先假定每个名词都是一个实体,然后再把这些实体一个个加到已有的模型图里。初步识别出的实体有下面这些:

  

处理“客户”

我们首先来处理客户实体。按照需求,每个客户有一个客户经理负责。你和我确认了一下:“客户经理也是员工对吧?”我说:“是的。”于是你把客户添加到了模型里,如下图:

这里你把客户经理当作了一个角色,员工和客户的关联翻译成自然语言就是“一个员工可以充当多个客户的客户经理,而一个客户有且仅有一个员工作为他的客户经理”。

处理“合同”

完成了对客户的建模,我们开始处理合同实体。根据需求,“每个合同都有一个销售人员负责”,于是,你画出了下面的模型图:

你有些疑惑:“客户经理是不是也是销售人员呢?”我说:“是的。”于是你意识到:“销售人员应该也是员工的一种岗位,并且在与客户的关联中,充当了客户经理这个角色。那么,类似地,销售人员又充当合同的什么角色呢?”我说:“就叫合同经理吧。”

于是,你修改了销售人员这个角色的名字,并且在岗位的注释中增加了销售人员。此外,你又增加了“只有销售人员才能作客户经理” 以及“只有销售人员才能作合同经理”这两条业务规则。

现在的模型图如下:

 

处理“项目”

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码出天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值