CBF Studio业务建模示例(2)-数据模型设计

2023-11-09 17:20

本文主要是介绍CBF Studio业务建模示例(2)-数据模型设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 业务数据分析
    • 域/实例组模型定义
    • 实体数据模型定义
    • 关联数据模型定义
    • 行业标准和落地方法

业务数据分析


  简单分析下客户信息的构成要素,不论个人客户还是对公客户,都应该包含一个唯一标识号——客户号,以及客户信息开立的时间和是否有效的状态;然后才划分出个人客户信息和对公客户信息,两者间的业务属性是完全不一致的。因此我们将创建一个名为“基本客户信息”的内核实体数据模型,并且用客户号作为主键,客户号是必须满足某种格式的唯一标识号,因此定义为域数据;客户信息状态可选枚举值为“正常”、“睡眠”和“冻结”三个状态,因此设计为实例组数据。
  利用同样的数据分析方法,分析下个人客户信息应该包含哪些要素。比如说“法定名称”、“英文名称”等,这些属性需要定义为基本的字符串类型,“性别”、“客户类型”、“证件类型”等都应该设计为实例组数据,“证件生效时间”、“出生日期”等需要定义为日期类型。对公客户信息的业务数据分析交给读者。
  最后需要将业务数据进行归纳整理,按类别进行划分,并在适当的数据架构中定义。

域/实例组模型定义


  按业务分析结论,预先定义好域/实例组,下面以客户编号、客户状态为例。
客户编号
客户状态
  其中客户编号需要进行值校验,我们对其加锁,右键选择“设计ADML”。
值校验

  为化简示例,校验逻辑暂定为校验值长度,不满足13位长度的字符串则抛出错误信息。
校验值长度

实体数据模型定义


  按前文分析结论,需要为个人客户基本信息和对公客户基本信息创建一个衍生基类——客户基本信息,仅设置“客户编号”、“客户状态”和“创建时间”三个基本属性,并且设置客户编号为主键。
客户基本信息

  接下来分别定义个人客户信息和对公客户信息,两者均衍生自基本客户信息。为化简示例,仅以个人客户信息为例(暂列部分属性)。
个人客户基本信息(示意)

关联数据模型定义


  显然个人客户基本信息是不充分的,尚需要对其补充关联数据,如客户的联系方式信息,关系人信息等。以个人客户的联系信息为例。创建个人客户联系信息,并与个人客户基本信息进行数据关联,数据关系为“N:1”。
个人客户联系信息

  按同样的步骤创建关系人信息、非居民纳税信息、财务信息等,那么从个人客户基本信息的角度来看,完整的个人客户基本信息模型定义应该如下图所示。
个人客户基本信息

行业标准和落地方法


  先简单介绍下行业标准中对数据模型的定义:

  • A:可以用九大数据概念来描述所有金融服务信息;给B级的结构和内容定义了约束。
  • B:用层次化的概念术语来组织业务信息;不关心信息之间在具体应用中进行交互的业务规则;采用业务人员熟悉的语言。
  • C:用ER图描述业务信息;不考虑实施层面的约束,只维护逻辑视图;对各方面利益相关者的特有视图进行统筹整合。
  • C’:用ER图描述应用数据;考虑具体实施层面的约束,引入派生数据或去范式化的数据;允许可控的数据冗余
  • D:描述物理数据结构;考虑系统部署层面的约束。

  将标准翻译一下并结合CBF Studio工具上的使用可以描述为:

  • A级模型可以简单解释为即数据的基本概念,这些基本概念来自业务需求的描述,如“客户信息包含对私客户信息和对公客户信息,客户信息包含客户号,开立时间……”,那么从这段描述中我们可以整理出至少三个基本概念“对私客户信息”、“对公客户信息”以及“客户号”,其中“客户号”作为不可细分的数据定义,且必须要遵守既定的格式标准,那么它就应当被定义为数据标准,而“对私客户信息”和“对公客户信息”的数据应当持久化到数据库中,因此它们需要被定义为实体数据模型。
  • B级模型可以解释为对数据模型进行属性补充,补充的属性服务于业务设计。以上面的客户信息为例,“对私客户信息”和“对公客户信息”中均需要包含“客户号”属性,并且“对私客户信息”需要包含“客户姓名”属性,“对公客户信息”需要包含“企业名称”属性。其中“客户号”作为数据标准是可以被复用的,这也是行业标准中提倡的数据沉淀。
  • C级模型可以简单解释为除业务属性之外,还需要补充实体数据间的关系,如个人客户基本信息和个人客户联系人信息之间就存在着“1:N”的关系。
  • C’级模型简单解释为除业务设计必须的属性外,还允许补充应用设计所需的属性,这些属性仅为应用设计提供支撑,并且需要对数据模型进行模式化处理,将共有属性进行泛化处理,形成具有衍生关系的模型结构。回到“对私客户信息”和“对公客户信息”案例,两者均属于“客户信息”范畴,且均具有“客户号”作为唯一识别码,因此需要抽象出“客户信息”数据模型作为“对私客户信息”和“对公客户信息”的公共抽象层,也即两者均衍生自“客户信息”。
  • D级模型可以简单解释为将实体数据模型转换为可执行的数据库操作脚本,将模型设计落实到数据库设计中。这个过程CBF Studio已经自动实现了,无需用户关注。

  总结起来业务数据模型的设计基本上达到C’即可满足设计需求,并且数据模型的设计过程可大致划分为下述几个步骤:

  • 1.根据业务需求描述提取出基本模型(数据标准、实体数据模型);
  • 2.根据业务需求补充基本模型的业务属性;
  • 3.根据业务需求补充实体数据关系;
  • 4.使用数据范式以及模型泛化方法对数据模型进行衍生设计;
  • 5.根据应用设计需求补充应用属性。

  (更多关于可视化建模开发工具的介绍可以关注领驭框架(北京)软件有限公司的微信公众号和我自己的订阅号,或者到公司主页(www.eframesoft.com)查询。)
领驭框架软件
Java基友圈

这篇关于CBF Studio业务建模示例(2)-数据模型设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377514

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+