领域模型图(数据架构/ER图)

简介: 本文介绍如何通过四色原型法构建领域模型,并逐步推导出数据架构中的ER图。采用红色(时标性)、绿色(参与方-物品-地点)、黄色(角色)和蓝色(描述)四色模型,结合风控系统案例,详解从业务流程到实体关系图的建模过程,助力精准梳理数据结构。

领域模型图(数据架构/ER图)

数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。说起业务建模,大家很快会想到领域模型这个概念。这里的思路是通过领域建模来逐步提取系统的数据架构图。
说到领域模型,这里采用四色原型法进行业务模型的抽象。在进行四色模型分析前,我们先了解下四色模型的一些基本概念。四色模型,顾名思义是通过四种不同颜色代表四种不同的原型。
●Moment-Interval Archetype 时标性原型
○表示事物在某个时刻或某一段时间内发生的。使用红色表示,简写为 MI.
●Part-Place-Thing Archetype 参与方-地点-物品原型.
○表示参与扮演不同角色的人或事物。使用绿色表示。简写为 PPT。
●Role Archetype 角色原型
○角色是一种参与方式,它由人或组织机构、地点或物品来承担。使用黄色表示。简写为 Role。
●Description Archetype 描述原型
○表示资料类型的资源,它可以被其它原型反复使用,并为其它原型提供行为。使用蓝色表示。简写为 DESC。
以风控系统为例,进行领域建模的过程如下:

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

管理人员

处理小二

风控小二

处理小二

风险事件

数据对象

规则/模型

异常风险

通知

分析报告

规则&模型

风险处置

告警通知

数据采集

风险分析

风险识别

设置


2.领域模型骨干
从业务流中,我们可以清晰的定义出 Moment-Interval Archetype (时标性原型),流程中的每个节点符合 MI 的定义,即事物在某个时间段内发生。在 MI 的定义过程中,一种方法是通过名词+动词进行定义。那么,风控的 MI 即为:数据采集、规则 &模型设置、风险识别、告警通知、风险处置、风险分析(MI 使用红色表示)。
在得到骨干之后,我们需要丰富这个模型,使它可以更好的描述业务概念。这里需要补充一些实体对象,通常实体对象包括:参与方、地点、物(party/place/thing)。
Part-Place-Thing Archetype(参与方-地点-物品原型):业务对象、规则、模型、异常风险、通知、异常事件、分析报告(PPT 使用绿色表示)。
领域模型骨干图,如下:

PARTPLACETHING

PARTPLACETHING

PARTPLACETHING

通知

异常风险

业务对象

MI

MI

MI

MI

数据采集

风险识别

规则&模型

风险告警

设置

PARTPLACETHING

PARTPLACETHING

MI

MI

规则

模型

风险处置

风险分析

PARTPLACETHING

PARTPLACETHING

异常事件

分析报告


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

PARTPLACETHING

PARTPLACETHING

PARTPLACETHING

通知

异常风险

业务对象

ROLE

处理小二

MI

MI

MI

MI

规则&模型

数据采集

风险识别

风险告警

设置

ROLE

风控小二

MI

MI

风险分析

风险处置

ROLE

ROLE

PARTPLACETHING

PARTPLACETHING

管理人员

处理小二

规则

模型

PARTPLACE THING

PARTPLACETHING

分析报告

异常事件


4.领域模型描述
最后将模型的描述信息添加进来,模型的描述信息中涵盖模型的具体属性。这些描述信息对于后面数据库设计有很大的影响。模型描述使用蓝色标注,如下图:

DESCRIPTION

DESCRIPTION

风险描述

通知内容

PARTPLACETHING

PARTPLACETHING

PARTPLACETHING

异常风险

通知

业务对象

ROLE

处理小二

MI

MI

MI

MI

风险告警

数据采集

规则&模型

风险识别

设置

ROLE

风控小二

MI

MI

风险分析

风险处置

ROLE

ROLE

PARTPLACETHING

PARTPLACETHING

管理人员

处理小二

模型

规则

PARTPLACETHING

PARTPLACETHING

异常事件

分析报告

DESCRIPTION

DESCRIPTION

DESCRIPTION

规则描述

模型描述

DESCRIPTION

报告详情

事件详情


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

模型类型

属于

通知

风险报告

模型

告警

分析

处置人

风险事件

处理

识别

规则

属于

规则类型


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

模型类型

属于

通知

风险报告

U

1

模型

分析

告警

风险事件

处置人

处理

识别

M

U

规则

属于

规则类型


2 人点赞

2


相关文章
|
存储 SQL Linux
MinIO客户端安装教程(Window版)
MinIO客户端安装教程(Window版)
2850 0
|
Shell Linux 数据安全/隐私保护
Linux Shell入门:掌握基本命令和脚本编写
Linux Shell是Linux操作系统中的命令解释器,允许用户通过命令行界面与操作系统进行交互。掌握Shell基础是成为Linux系统管理员或开发人员的关键。本文将介绍Linux Shell的基本知识,包括常用命令和简单脚本编写。
543 0
|
消息中间件 Java 关系型数据库
10道不得不会的Docker面试题
10道不得不会的Docker面试题,10道不得不会的Docker面试题
10466 157
10道不得不会的Docker面试题
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
277926 0
|
9月前
|
安全 Java 应用服务中间件
4.认识SpringSecurity
Spring Security 是 Spring 生态中的安全框架,提供认证、授权及安全防护功能。支持多种认证方式(如表单、OAuth2、JWT等),基于过滤器链实现请求控制,可防御 CSRF 等攻击,保障 Web 应用安全。
|
5月前
|
人工智能 缓存
阿里云AI通用节省计划是什么意思?Tokens如何计费?包含多少Tokens?
阿里云AI通用节省计划是面向大模型按量付费的折扣机制,用户承诺月消费金额(如200元/年),即可享最高5.3折优惠。它不直接提供固定Tokens,而是按调用模型单价自动抵扣输入/输出Tokens等费用,覆盖全部阿里直供模型,支持灵活生效与自动续费。
|
8月前
|
人工智能 运维 API
火爆全网的Skill自己怎么做?老金来教你!(含避坑指南)
本文深度解析Anthropic官方Skills开发指南(anthropics/skills),揭秘“渐进式展示”三层架构:100词元数据决定触发、5000词主体承载核心逻辑、资源按需加载。老金亲测踩坑,提炼6步实操流程与避坑公式,助你零基础打造高效、可维护的专业Skill。(239字)
13052 4
|
9月前
|
项目管理 开发者
业务架构图
业务架构图是梳理业务层级与关系的工具,通过分层、分模块、分功能,抽象出业务核心结构,明确各部分职责与协作,服务于客户理解与系统开发,是连接业务与技术的重要桥梁。
|
存储 消息中间件 运维
架构升级的救星!流量回放自动化测试的必备指南
大家好,我是小米,一名29岁的技术宅。今天分享一个物联网领域的实用技能——流量回放自动化测试。系统重构后,测试工作量巨大,本文介绍如何通过日志收集和数据回放进行自动化测试,包括离线、实时和并行回放模式,帮助快速定位Bug,提升测试效率和系统稳定性。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
905 3

热门文章

最新文章