摘要: 本文探索的是一系列把流程图转换为软件设计的步骤
大致步骤分为:
- 用户需求(读懂原型图, 消化业务知识)
- 产品功能
- 流程图
- 领域设计 (彩色建模+ DDD领域模型)
- 知识转换: 消化业务知识是否成功在于是否能够把明显的已知条件转换为隐含的有助于软件设计的条件
- 实体设计/聚合根设计
- 接口交互设计
- 编写代码
粗浅理解: 第1,2步不是很熟悉, 这与用户洽谈有关系.因此不是本文的重点; 本文着重是在描述如何在确定了符合业务需求的产品功能以及梳理清楚流程之后如何去根据流程图建立领域模型.
1. 如何根据业务流程去画出建立领域模型呢?
这里可以使用的工具是UML彩色建模
-
红色: 过程数据(moment interval) 某个过程的产物–用于记录动作的
它们在未来会转换成一张或者多张数据库表,
在系统初始化时通常是空表 -
绿色: 自然数据(party, place, thing) 人? 地点
问题域中涉及到的"参与者(人, 公司等)",
“地点”,“东西(物品,服务)”. 在识别自然数据时
还需要考虑是否引入"角色".
它们在未来也可能会转换为一张或多张数据库表
而且系统初始化时通常会有基础数据, 也会随着系统应用而不断增加记录
特点: 具有唯一标识, 可以根据这个唯一标识去追踪它.
(这是领域建模中的实体的概念么?) -
黄色: 角色数据(role)-- 把绿色的自然数据抽象出来而形成角色
-
蓝色: 描述类数据(description)
分为两类:一类是概述类, 如为了方便选择商品,抽象了品类这个概述性名称;
二是规则类, 即想使用数据库表配置的相关规则
它也可能会转换为数据库表, 且在系统初始化时就有内容,