一、项目介绍
业务背景
团队背景
客户背景
案例优势
二、建模与设计的整体流程
2.1四个阶段
2.2 参与人员
2.3 用户故事
2.4 通用语言
2.5战略设计
2.6战术设计
2.7 常用建模方法
三、如何建立模型?从用户故事到通用语言
3.1 用户故事
用户故事验证:Who? What? Hay
验证方法:卡片->谈话->验收标准
常规用户故事缺点:容易漏掉关键细节
3.2 Domain story telling
四、分解问题:领域划分和子域
本章问题:
- 什么是领域划分和子域?领域划分就是以分离关注点为原则对问题空间的划分。子域是领域中某个方面的问题和解决它所涉及的一切。
- 为什么要进行领域划分?
- 基于用户故事分解的领域划分方法。
4.1为什么要划分?
问题一:问题点和领域知识重叠
问题二:模型重叠
解决方法:
4.1 基于故事分解的领域划分
五、确定系统最核心的部分:核心域和精炼
5.1 子域的类型
- 核心域:软件系统具备竞争力的系统(最核心的技术人员应该投入到核心域,但目前更多的大牛会把经历投入到支撑子域,做框架,但这种要尽可能的避免)
- 通用子域:
- 支撑子域:类似于系统框架
六、限界上下文
本章问题:
6.1什么是限界上下文
6.2为什么需要限界上下文
- 自然语言具有模糊性
- 同一个事物面向不同场景有不同模型
- 软件系统需要分解模型以控制复杂度
- 限界上下文是分工的单位
6.3 怎么限界上下文
如何划分限界上下文?
- Domain StoryTelling (领域故事陈述法):
- Event Storming (事件风暴法)
- 基于子域概念提取
七、多个上下文如何协作?上下文映射
什么是上下文映射?
- 上下文映射是指限界上下文之间的模型映射关系;
- 描述团队之间的协作关系以及上下文之间的集成关系;
- 决定上下文之间如何集成?及如何设置防腐层;
常见的问题是,上下文和上下文之间会有重叠,比如下图:
上下文类型:
中台一般为客户/供应商模式,但中台很容易变成大泥鳅。