领域·模型图

简介: 数据架构核心输出为ER图,包含实体、关系与属性。通过四色原型法进行领域建模:红色MI表时序事件,绿色PPT为业务对象,黄色Role是参与角色,蓝色DESC提供描述信息。以风控系统为例,从业务流程提炼MI,构建PPT实体,补充Role与DESC,最终提取含约束关系的ER图,指导数据模型设计。(238字)

数据架构重要的输出是数据-实体关系图,简称 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 使用绿色表示)。
领域模型骨干图,如下:

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

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

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

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

相关文章
|
机器学习/深度学习 编解码 自然语言处理
Vision Transformer 必读系列之图像分类综述(二): Attention-based(上)
Transformer 结构是 Google 在 2017 年为解决机器翻译任务(例如英文翻译为中文)而提出,从题目中可以看出主要是靠 Attention 注意力机制,其最大特点是抛弃了传统的 CNN 和 RNN,整个网络结构完全是由 Attention 机制组成。为此需要先解释何为注意力机制,然后再分析模型结构。
1320 0
Vision Transformer 必读系列之图像分类综述(二): Attention-based(上)
|
26天前
|
消息中间件 存储 人工智能
官宣上线!RocketMQ for AI:企业级 AI 应用异步通信首选方案
RocketMQ 专门为 AI 场景推出了全新Lite Topic 模型,目前已在阿里云云消息队列 RocketMQ 版 5.x 系列实例上正式发布,并会逐步贡献到 Apache RocketMQ 开源社区,欢迎大家使用。
172 11
|
4月前
|
数据采集 监控 安全
代理IP全解析:从原理到自建代理池的实战指南
代理IP如同网络世界的“隐形斗篷”,能隐藏真实身份,保护隐私,突破访问限制,提升数据抓取效率。本文详解代理IP的核心价值、自建代理池的技术方案、运维策略及实战应用,助你掌握数字时代的生存技能。
461 0
|
24天前
|
存储 人工智能 安全
|
5月前
|
人工智能 自然语言处理 搜索推荐
对话批改邦 | 从0到30万用户,如何抓住AI教育增长机遇
阿里云【AI访谈录】本期邀请AI创业者、批改邦创始人王庆棒,分享其团队如何通过AI技术打造教育场景下的教学助手。批改邦以作文批改切入教育行业,上线一年用户突破30万,付费转化率超30%。王庆棒围绕AI如何标准化主观评价、大模型在教育中的落地趋势、未来“杀手级AI应用”的形态等话题,分享一线实战经验。
398 0
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
421 64
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
546 3
java基础(4)public class 和class的区别及注意事项
|
JavaScript 前端开发 开发者
深入理解 TypeScript:从基础到进阶
TypeScript 作为 JavaScript 的超集,通过静态类型系统提升了代码组织与错误检测能力,广泛应用于前端开发。本文介绍 TypeScript 的核心概念(类型系统、接口、类、模块)及基础特性(基础类型、接口、类和继承),并深入探讨泛型、高级类型和装饰器等进阶特性,帮助开发者构建更健壮、可维护的应用。
|
移动开发 前端开发 网络协议
Python Web实时通信新纪元:基于WebSocket的前后端分离技术探索
【7月更文挑战第16天】WebSocket增强Web实时性,Python借助Flask-SocketIO简化实现。安装`flask`和`flask-socketio`,示例展示服务器端接收连接及消息并广播响应,前端HTML用Socket.IO库连接并监听事件。WebSocket开启双向通信新时代,助力动态Web应用开发。
226 1