领域模型图(数据架构/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 使用绿色表示)。

领域模型骨干图,如下:

3.领域模型角色

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

4.领域模型描述

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

5.提取 ER 图

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

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

相关文章
|
3月前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
3067 144
|
2月前
|
运维 Devops 开发工具
生产环境缺陷管理
git-poison基于go-git实现,通过“投毒-解毒”机制在多分支环境中精准追踪与管理bug,自动化卡点发布流程,避免人为疏漏导致的重复故障,提升研发协同效率与系统稳定性。
 生产环境缺陷管理
|
2月前
|
消息中间件 负载均衡 Linux
RabbitMQ部署指南
本文介绍了RabbitMQ在CentOS7上基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通集群与镜像模式搭建,并详细演示了仲裁队列的使用及集群扩容方法,实现高可用消息队列服务。
|
2月前
|
索引 JSON 数据格式
索引库、文档操作
本文介绍了Elasticsearch(ES)的核心概念及其与MySQL的对比,阐述了ES在数据存储、查询、搜索分析等方面的应用。ES中“索引”对应MySQL的表,“文档”对应行数据,“字段”对应列,而“映射(Mapping)”则类似于表结构定义。文章还详细讲解了如何使用Kibana和RestClient进行索引库与文档的增删改查操作,并通过实际代码示例展示了Java HighLevel RestClient的使用方法,帮助开发者掌握ES的基本操作流程。
 索引库、文档操作
|
2月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队中多环境自动化发布流程,涵盖DEV、TEST、PRE、PROD各环境职责,结合CI/CD平台实现代码部署与日志追踪,提升发布效率与系统稳定性。
生产环境发布管理
|
2月前
|
Nacos 负载均衡 存储
Nacos注册中心
本文介绍Nacos的安装部署、整合注册中心、服务分级模型、负载均衡策略、权重控制、环境隔离及实例类型,涵盖从入门到进阶的核心功能实践,助力微服务高效治理。
 Nacos注册中心
|
2月前
|
存储 安全 前端开发
1.认识OAuth2.0
OAuth2.0是一种开放授权协议,允许第三方应用在用户授权下获取资源访问权限,而无需获取用户账号密码。相比单点登录,其核心是“授权”而非“认证”。它包含四种模式:授权码模式(最安全,适用于Web应用)、简化模式(适用于前端应用)、密码模式(需高度信任)和客户端模式(服务间调用,与用户无关),广泛用于第三方登录和API授权。
 1.认识OAuth2.0
|
2月前
|
敏捷开发 Dubbo Java
需求开发人日评估
本文介绍敏捷开发中工时评估的关键方法,以“人日”为单位,针对开发、自测、联调、测试及发布各阶段提供参考周期,并列举常见需求如Excel导入导出、增删改查、跨服务调用等的典型人日估算,助力团队科学规划项目进度。
需求开发人日评估
|
2月前
|
存储 缓存 Java
自动装配机制
本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@ComponentScan、@SpringBootConfiguration及@EnableAutoConfiguration三大核心注解的源码实现,揭示@AutoConfigurationPackage与AutoConfigurationImportSelector如何通过SpringFactoriesLoader加载配置,实现自动化注册与组件扫描,最终完成自动装配全过程。
 自动装配机制
|
2月前
|
前端开发 程序员
常见注解及使用说明
本文介绍SpringMVC中@RequestMapping注解的作用及原理,通过注解将HTTP请求映射到控制器方法,实现前后端接口路径对应,并简述@GetMapping等派生注解的封装关系,帮助理解接口定义机制。
 常见注解及使用说明