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

简介: 本文介绍如何通过四色原型法进行领域建模,构建数据架构。以风控系统为例,依次解析关键流程、识别时标性原型(MI)、参与方-地点-物品原型(PPT)、角色原型(Role)和描述原型(DESC),最终提炼出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 的简洁性,这里并没有把模型的属性画进来)

相关文章
|
9月前
|
JSON 前端开发 Java
第六章 SpringMVC框架
Spring MVC核心组件包括DispatcherServlet、HandlerMapping、HandlerAdapter、Handler及ViewResolver,协同完成请求分发、处理与视图渲染。其请求流程为:用户请求→DispatcherServlet→HandlerMapping映射→HandlerAdapter执行→Handler处理→ViewResolver解析视图→响应返回。开发中常用注解如@RequestMapping、@RequestBody、@ResponseBody等实现请求映射与数据绑定。
 第六章 SpringMVC框架
|
9月前
|
机器学习/深度学习 存储 算法
第二章 基础算法
本文系统介绍了加密算法、排序算法及字符串处理等核心技术。涵盖对称与非对称加密、哈希摘要、常见排序算法原理与优化,以及字符串匹配和回溯算法应用,内容详实,适合技术学习与面试准备。
第二章 基础算法
|
9月前
|
存储 消息中间件 开发框架
应用架构图
技术架构是将业务需求转化为技术实现的关键过程,涵盖分层设计、技术选型与系统集成。本文详解单体与分布式架构,包括展现层、业务层、数据层及基础层的职责,并阐述应用间调用关系、外部系统集成与边界划分,助力构建清晰的技术体系。
|
9月前
|
缓存 NoSQL 调度
项目《神领物流》
本项目为基于微服务架构的智能物流系统,涵盖用户端、快递员端、司机端及管理端。采用Spring Cloud、RabbitMQ、Redis、MongoDB、Neo4j等技术,实现智能调度、路线规划、运费计算、权限管理、多级缓存与分布式事务等功能,提升运输效率,降低运营成本。
|
9月前
|
人工智能 Java 网络安全
Spring AI Alibaba:本地运行(☆)
简介:本任务要求使用SSH方式拉取私有Git仓库代码,基于SpringCloud、MySQL、Maven技术栈,完成聊天机器人、智能体、工作流三大功能模块的本地运行。需录制8分钟以上视频,结构化输出项目理解,包括技术栈、核心功能、数据库关系及未解困惑,帮助新人快速融入开发环境。(239字符)
 Spring AI Alibaba:本地运行(☆)
|
9月前
|
NoSQL 算法 Java
项目《天机学堂》
天机学堂是一个非学历职业技能在线培训平台,核心业务为售卖课程并提供学习辅助与交互功能。技术栈涵盖SpringBoot、Redis、RabbitMQ等。本人负责需求分析、数据库设计及通用工具封装,如基于Redisson实现分布式锁组件,支持注解式加锁、锁类型切换与限流;并参与开发高性能视频进度记录系统,通过缓存+异步持久化方案实现秒级精度回放,有效降低数据库压力。
|
9月前
|
开发者
业务架构图
本文介绍了业务架构图的核心概念与绘制方法,涵盖业务定义、架构域分类,强调业务架构是技术、应用与数据架构的基础。通过分层、分模块、分功能三步法,梳理业务逻辑,明确模块边界与信息流,帮助客户与开发者清晰理解系统结构,提升协作效率。
 业务架构图
|
9月前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,提升日志分析效率与治理能力。
 如何做好SQL质量监控
|
9月前
|
缓存 安全 Java
第五章 Spring框架
Spring的IOC(控制反转)将对象创建交给容器管理,实现解耦;DI(依赖注入)则自动为Bean注入所需依赖。默认单例Bean非线程安全,需开发者保障。Bean作用域包括singleton、prototype等,可通过@Scope设置。循环依赖通过三级缓存解决,但构造函数循环依赖需@Lazy注解规避。AOP基于动态代理实现日志、事务等功能,事务传播行为如REQUIRED、REQUIRES_NEW可灵活控制。常用注解涵盖Bean声明、注入、作用域、配置及AOP等方面。
|
9月前
|
存储 Java Nacos
第九章 SpringCloud框架
本文介绍了Nacos与Eureka的服务注册发现机制、OpenFeign的调用流程、Sentinel与Hystrix的限流熔断对比、滑动窗口算法原理,以及Spring Cloud Gateway的路由断言、过滤器功能,涵盖微服务架构中核心组件的工作原理与实践应用。
 第九章 SpringCloud框架

热门文章

最新文章