云架构师系列课程之钉钉架构实战第四讲总结:持续梳理业务概念,发现领域模型
一、引言
在上几讲中,我们讨论了领域模型的重要性及其在业务认知和快速响应能力构建中的作用。本讲将通过一个具体的例子,展示如何在业务分析中持续梳理业务概念,发现领域模型。
二、案例分析:点点共乘
- 业务背景
-
- 商业模式:点点共乘项目有三种商业模式:无车共乘、顺风车和共享巴士。
- 选择的场景:为了简化分析,选择无车共乘作为例子进行探讨。
- 发现领域模型的方法
-
- 静态模型和动态模型:通过静态模型(领域模型)和动态模型(用例场景)的结合,逐步发现和完善领域模型。
三、具体步骤
- 功能收敛与模型
-
- 聚焦功能:首先讨论功能需求,而非直接建立领域模型。
- 业务概念:在功能需求中识别业务概念,并将其纳入领域模型。
- 用例分析:用户发布出行计划
-
- 功能表述:用户发布出行计划,包括出发时间、出发地点、抵达地点、时间浮动范围、费用分摊模式等。
- 业务概念识别:发布人、出行计划、出发时间、出发地点、抵达地点、时间浮动范围、费用分摊模式等。
- 领域模型的逐步完善
-
- 初步模型:发布人发布出行计划,计划中包含出发时间、出发地点、抵达地点、时间浮动范围、费用分摊模式。
- 进一步完善:考虑更多业务场景,如乘车人与发布人不同、撮合策略、成功消息通知等。
- 场景中的新发现
-
- 撮合策略:撮合功能根据距离最近、等待时间最短等策略匹配用户。
- 成功消息:成功消息通知乘车人上车时间、地点、人数信息等。
- 乘车人与发布人角色区分:默认乘车人为发布人,允许特殊声明不同的乘车人。
- 需求细化与模型调整
-
- 费用争议与上车点推荐:提前费用预估,推荐更容易识别的上车点,拍照确认。
四、统一语言的重要性
- 定义与实践
-
- 统一语言:任何在需求描述中出现的概念和关系,都必须在领域模型中出现,确保一致性。
- 实践要求:在所有交流活动和代码中使用统一语言,确保领域模型的有效性和持续演进。
- 模型的书写
-
- 写出来:模型必须写出来,不能只放在PPT上,确保团队的共同认知。
- 日常协作:在日常讨论和交流中使用统一语言,确保领域模型的实践和检验。
五、总结
- 软件开发的本质
-
- 认知的重要性:软件开发的本质是认知,领域模型是企业的核心竞争力。
- 高质量领域模型:高质量的领域模型能够有效降低复杂性,提升业务响应能力。
- 持续演进
-
- 实践中的发现:好的领域模型是在实践中逐步摸索出来的,演进是领域模型的基本思维模式。
- 实践与检验:没有坚实的实践支撑,概念无法得到实施,领域模型需要通过实践不断检验和改进。
- 统一语言
-
- 语言的统一:统一语言是领域驱动设计的核心实践,确保领域模型的有效性。
- 日常应用:在日常工作中坚持使用统一语言,确保领域模型的持续演进和实践。
结束语
通过本节课的学习,我们理解了如何在业务分析中持续梳理业务概念,发现和完善领域模型。通过静态模型和动态模型的结合,以及统一语言的实践,确保领域模型在日常工作中的应用和检验。希望大家���够在实际工作中,充分利用领域模型这一工具,提升系统的灵活性和业务响应能力。谢谢大家的参与,课程到此结束。