写点什么

架构设计实践五部曲(三):从领域模型提取数据架构

  • 2019-09-26
  • 本文字数:1540 字

    阅读完需:约 5 分钟

架构设计实践五部曲(三):从领域模型提取数据架构

数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。说起业务建模,大家很快会想到领域模型这个概念。这里的思路是通过领域建模来逐步提取系统的数据架构图。


说到领域模型,这里采用四色原型法进行业务模型的抽象。在进行四色模型分析前,我们先了解下四色模型的一些基本概念。


四色模型,顾名思义是通过四种不同颜色代表四种不同的原型。


  1. Moment-Interval Archetype 时标性原型


表示事物在某个时刻或某一段时间内发生的。使用红色表示,简写为 MI.


  1. Part-Place-Thing Archetype 参与方-地点-物品原型.


表示参与扮演不同角色的人或事物。使用绿色表示。简写为 PPT。


  1. Role Archetype 角色原型


角色是一种参与方式,它由人或组织机构、地点或物品来承担。使用黄色表示。简写为 Role。


  1. Description Archetype 描述原型


表示资料类型的资源,它可以被其它原型反复使用,并为其它原型提供行为。使用蓝色表示。简写为 DESC。


还是以风控系统为例,进行领域建模的过程如下:

1.关键流程

在进行业务建模前,首先需要梳理出业务的流程,这一步在业务架构分解环节中已经完成。按照四色建模法的原则,将业务流程图进行一点改造。在原来的流程图上,将流程涉及的事务和角色添加进来。


改造之后的流程图如下:



图 1

2.领域模型骨干

从业务流中,我们可以清晰的定义出 Moment-Interval Archetype (时标性原型),流程中的每个节点符合 MI 的定义,即事物在某个时间段内发生。在 MI 的定义过程中,一种方法是通过名词+动词进行定义。那么,风控的 MI 即为:数据采集、规则 &模型设置、风险识别、告警通知、风险处置、风险分析(MI 使用红色表示)。


在得到骨干之后,我们需要丰富这个模型,使它可以更好的描述业务概念。这里需要补充一些实体对象,通常实体对象包括:参与方、地点、物(party/place/thing)。


Part-Place-Thing Archetype(参与方-地点-物品原型):业务对象、规则、模型、异常风险、通知、异常事件、分析报告(PPT 使用绿色表示)。


领域模型骨干图,如下:



图 2

3.领域模型角色

在领域模型骨干的基础上,需要把参与的角色(role)带进来。Role 使用黄色表示。如下图:



图 3

4.领域模型描述

最后将模型的描述信息添加进来,模型的描述信息中涵盖模型的具体属性。这些描述信息对于后面数据库设计有很大的影响。


模型描述使用蓝色标注,如下图:



图 4

5.提取 ER 图

领域模型构建完成之后,在此基础上,我们已经能够初步的掌握整个系统的数据模型。其中绿色的 Part-Place-Thing Archetype(参与方-地点-物品原型),可以用来表示 ER 图中的实体模型。红色的 Moment-Interval Archetype(时标性原型),可以用来表示 ER 图中的关系。对领域模型架构图进行提炼,得到如下图:



图 5


实体(Entity)和联系(RelationShip)存在一定的关联关系,一般存在 3 种约束性关系: 一对一约束、一对多约束和多对多约束。将这些约束性关系表现在 ER 图中,用于展现实体与实体间具体的关联关系,最终输出 ER 图。(考虑保证 ER 的简洁性,这里并没有把模型的属性画进来)



图 6


最终一种好的 ER 图需要具备以下原则:


  • 同一实体在同一个 ER 图中只能出现一次

  • 先设计局部 ER 图,再把每一个局部 ER 图综合起来,生成总体的 ER 图。


作者简介


胡斌,菜鸟网络技术专家,目前负责菜鸟风控系统的建设。曾在淘宝技术部先后负责卖家平台、商家运营等领域。在大规模分布式应用、大数据、架构领域有多年的开发和管理经验。

延展阅读

架构设计实践五部曲(一):架构与架构图


架构设计实践五部曲(二):业务架构与产品架构设计实践


2019-09-26 20:5316306

评论 4 条评论

发布
用户头像
通表示ER图那儿没看懂,模型类型、规则类型和处置人从哪儿来的,异常事件、异常风险又去哪儿了?
2021-05-23 21:22
回复
模型和规则的治理,通常需要一个类型来管理,就产生了模型类型和规则类型。规则识别出来的风险,在配置规则时候应该需要对每种风险都配置好处理人。
2021-11-07 11:52
回复
用户头像
提取er图那一步还没有看懂
2020-11-05 15:12
回复
用户头像
大神,能不能再多讲讲数据建模的方法及知识
2020-11-05 15:10
回复
没有更多了
发现更多内容

全面盘点:AI开发平台的十大高价值应用场景,CTO和老板必看清单

红迅AI低代码老陈

低代码 低代码平台 红迅软件

视频号小商店助手:一站式店铺运营解决方案,解锁蓝海新机遇

微擎应用市场

嘉为蓝鲸CTeam敏捷协同平台|代码域x需求域自动化关联追溯:精准破解研发协同断层困局

嘉为蓝鲸

DevOps 研发协同 敏捷协同 CTeam

传统广告牌与数字广告牌的区别与趋势

Dylan

广告 LED LED display LED显示屏 LED屏幕

大厂已经不用人干活了?“AI中台+Agent”正在重塑商业规则

赛博威科技

人工智能 大数据 AI

数据治理解决方案

金陵老街

数据治理

借力低代码平台,高校人才培养锚定企业需求靶向

中烟创新

浪潮海岳ChatBI:快速助力企业数据驱动决策

inBuilder低代码平台

数据分析 LLM ChatBI 数据驱动决策 多智能体协同

用n8n打造自愈型用例库与质量知识图谱

测吧(北京)科技有限公司

隐语嘉年华报名启动|这一次,我们聊聊数据如何真正“连”起来

隐语SecretFlow

国产开源 | ClkLog 埋点与用户行为分析一体化解决方案

ClkLog

开源 数据分析 开源软件 用户画像 埋点分析

骁龙大赛-技术分享第5期(上)

极市平台

【案例共创】开发者空间配合华为AskO3构建造数小程序

华为云开发者联盟

#数据库 #人工智能 #华为开发者空间

西贝or萨莉亚,当下最赚钱的预制菜怎么做?——IPD新产品立项CDP流程

IPD产品研发管理

产品 软件 产品开发 硬件 IPD

亿欧 2025 AI 软件创新产品 Top10 出炉,时序数据库 TDengine 入选

TDengine

爆文生产机外链版小程序系统 —— 引爆流量变现新引擎

微擎应用市场

骁龙大赛-技术分享第5期干货汇总来啦——直播问题&答疑整理

极市平台

BOE(京东方)董事长陈炎顺清华开讲:解码企业生态构建,阐释战略升维之道

爱极客侠

豆包手机来了:重新定义手机,也重写了测试人的工作

测吧(北京)科技有限公司

穿越AI泡沫:赛博威“AI中台+Agent”路径,让企业AI转型风险可控、价值可期

赛博威科技

人工智能 数据库 AI

骁龙大赛-技术分享第5期(下)

极市平台

智能制造的底层基建:iPaaS如何统一ERP、MES与WMS的数据流

谷云科技RestCloud

wms ERP mes 集成平台 ipaas

《斯坦福大学人生设计课》共读分享会

ShineScrum

设计 设计师 产品负责人

浪潮开务时序基础模型:解锁 AI 工程化落地新范式,开启万物 “对话” 时代

KaiwuDB

数据库 KaiwuDB 分布式多模数据库

基于spring-ai 构建demo

kcnf

Comate Spec模式实测:让AI编程更精准可靠

Comate编码助手

Baidu Comate AI 编程 AI编程助手

Adobe Experience Manager 存储型XSS漏洞深度解析与缓解指南

qife122

网络安全 WEB安全

docker 安装部署

kcnf

内行人告诉你!选错智能体开发平台,你的AI项目可能血本无归?

红迅AI低代码老陈

低代码平台 AI开发平台 红迅软件

力创课堂知识付费系统:一站式专属知识服务平台解决方案

微擎应用市场

短信服务配置不用跑断腿!JNPF短信服务一键对接

引迈信息

架构设计实践五部曲(三):从领域模型提取数据架构_架构_胡斌_InfoQ精选文章