news 2026/1/13 13:27:36

系统地分析一下业务对象与业务场景、逻辑实体、物理实体之间的对应关系。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
系统地分析一下业务对象与业务场景、逻辑实体、物理实体之间的对应关系。

系统地分析一下业务对象业务场景逻辑实体物理实体之间的对应关系。

首先,我们需要明确这些术语在TOGAF(尤其是其内容元模型)语境下的定义。

核心概念定义

  1. 业务对象

    • 这是从业务视角定义的、在业务运营中具有意义和目的的事物。它是业务架构层的核心构件。

    • 它代表了业务领域中的一个“名词”,如“客户”“产品”“订单”“合同”“发票”

    • 关键点:它描述的是“是什么”,而不是“怎么做”。它独立于任何系统实现。

  2. 业务场景

    • 这是描述一系列为达成特定业务目标而进行的活动。它是驱动架构开发的重要工具,连接了需求与架构。

    • 一个业务场景通常涉及多个角色(如客户、客服专员)、多个业务对象(如订单、库存),以及一系列步骤(如“创建订单”、“检查库存”、“确认发货”)。

    • 关键点:它描述的是“如何做”,是一个动态的过程,涉及多个业务对象的交互。

  3. 逻辑实体

    • 这是在数据/信息架构层,从逻辑视角定义的数据构件。它是对“业务对象”的第一次结构化、规范化。

    • 它定义了实体的属性、关系(如一对一、一对多)和关键约束,但不依赖于任何具体的数据库技术(如Oracle或MySQL)。

    • 例如:业务对象“客户”在逻辑层可能被细化为CustomerCustomerAddressContactMethod等多个关联的逻辑实体。此时会定义CustomerCustomerIDNameStatus等属性,并与Order实体有一对多关系。

    • 关键点:它是技术中立的逻辑数据模型。

  4. 物理实体

    • 这是在技术架构层,针对特定数据库管理系统(DBMS)的具体实现。它是“逻辑实体”在物理数据库中的实例化。

    • 它包含了具体的技术实现细节,如表名、列名、数据类型(VARCHAR(50)vsNVARCHAR(100))、索引、分区、存储参数等。

    • 例如:逻辑实体Customer在Oracle数据库中可能被实现为名为T_CUST的物理表,其中CustomerID列的数据类型是NUMBER(10),并建立了一个在Status列上的位图索引。

    • 关键点:它是技术特定的物理实现。

对应关系分析

它们之间的关系不是简单的1:1对应,而是一个从抽象到具体,从业务到技术,逐步细化、转化和可能拆分/合并的过程。

我们可以用一个经典的“订单到现金”流程中的“订单”对象为例来分析:

1. 业务对象 ↔ 业务场景(业务层内部关系)
  • 关系:参与和协作

  • 一个业务对象(如“订单”)会被多个业务场景所使用

    • 例如:“订单”对象会出现在“创建订单”“修改订单”“审批订单”“执行订单”“查询订单状态”等多个业务场景中。

  • 一个业务场景通常会涉及和操作多个业务对象

    • 例如:“创建订单”场景涉及至少:“客户”、“产品”、“库存”、“订单”、“订单行”等业务对象。

  • 结论:这是多对多的参与关系。业务场景是动态过程,业务对象是静态参与者。

2. 业务对象 ↔ 逻辑实体(业务到逻辑的映射)
  • 关系:精化和结构化

  • 一个业务对象通常会被分解为多个逻辑实体。这是因为在逻辑数据建模时,我们需要遵循规范化原则,消除数据冗余。

    • 例如:业务对象“订单”可能被分解为:

      • Order(订单头:订单号、日期、总金额、状态)

      • OrderLine(订单行:产品、数量、单价)

      • OrderStatusHistory(订单状态历史:状态、时间、操作人)

    • 同时,一个业务对象(如“客户”)的属性,可能会作为外键出现在另一个业务对象(如“订单”)的逻辑实体中。

  • 也可能存在一个逻辑实体对应多个业务对象的情况(较少),通常在高度抽象的模型中,例如Party(参与方)逻辑实体可能对应“客户”、“供应商”、“员工”等多个业务对象。

  • 结论:主要是从粗粒度到细粒度的、一对多的分解关系。逻辑实体是业务对象在信息域的结构化表述。

3. 逻辑实体 ↔ 物理实体(逻辑到物理的映射)
  • 关系:实现和优化

  • 一个逻辑实体通常对应一个物理实体(表),这是最直接的情况。

  • 但出于性能、安全或技术限制的考虑,经常发生拆分或合并

    • 拆分(水平/垂直分区)

      • Order逻辑实体按时间拆分为Order_2023Order_2024等多个物理表(水平分区)。

      • Product逻辑实体的常用字段(名称、价格)和非常用字段(详细描述、技术文档)拆分为两个物理表,即ProductProduct_Detail(垂直分区)。

    • 合并(反规范化)

      • 为了提高查询性能,将Order和最常关联的Customer逻辑实体部分字段(如客户姓名)合并到一个名为Order_With_CustomerName的物理视图或宽表中。

  • 结论:基本是一对一的关系,但为了物理性能优化,可以衍生出一对多(拆分)或多对一(合并)的对应。

总体关系图谱与总结

[业务域] │ ├─── 业务场景A ──────┐ [一个场景操作多个对象] ├─── 业务场景B ──────┤ [一个对象参与多个场景] └─── 业务场景C ──────┼──→ 使用 / 涉及 → 业务对象X(如“订单”) │ ↓ 精化 / 结构化 [信息/数据域] │ 逻辑实体1(Order) 逻辑实体2(OrderLine)← 一对多分解 逻辑实体3(OrderStatusHistory) │ ↓ 实现 / 优化(可能拆分/合并) [技术域] │ 物理实体A(ORD_MAIN 表) 物理实体B(ORD_LINE 表)← 可能是一对一,也可能进一步拆分 物理实体C(ORD_HIST 表) 物理实体D(ORD_CUST_VIEW 视图)← 合并的产物

核心结论:

  1. 映射链条业务场景 (动态过程) → 操作 → 业务对象 (业务概念) → 精化为 → 逻辑实体 (逻辑数据模型) → 实现为 → 物理实体 (物理数据库表)

  2. 对应基数

    • 业务对象 : 业务场景 = 1 : N(多场景使用)

    • 业务场景 : 业务对象 = 1 : N(多对象参与)

    • 业务对象 : 逻辑实体 ≈ 1 : N(通常分解)

    • 逻辑实体 : 物理实体 ≈ 1 : 1(但可根据优化需要变为 1:N 或 N:1)

  3. 驱动关系业务场景驱动对业务对象的识别和分析,而业务对象的需求和特性驱动逻辑数据模型的设计,最后逻辑模型结合非功能性需求(性能、安全)驱动物理数据库的设计

TOGAF的ADM阶段正是遵循了这个逻辑:A阶段(业务架构)识别业务对象和场景 ->B阶段(信息系统架构-数据)将其转化为逻辑数据模型 ->C/D阶段(技术架构)将其部署为物理数据库。理解这些构件之间的关系,是确保架构从战略到落地保持一致性的关键。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/10 7:15:23

资金管理模块是业务的终点(收付款),也是会计核算的起点。几乎所有核心的资金活动都会触发会计核算

资金管理模块是业务的终点(收付款),也是会计核算的起点。几乎所有核心的资金活动都会触发会计核算。以下是资金管理模块中主要会产生会计核算的业务场景,可以归类为以下几个大类:一、 收款相关场景收款行为确认了资产&…

作者头像 李华
网站建设 2026/1/10 22:53:11

Hackintool黑苹果配置终极指南:从零到完美兼容

Hackintool黑苹果配置终极指南:从零到完美兼容 【免费下载链接】Hackintool The Swiss army knife of vanilla Hackintoshing 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintool 还记得我第一次尝试黑苹果配置时,面对显卡驱动失败、音频无…

作者头像 李华
网站建设 2026/1/10 2:27:48

Windows 11右键菜单修复:告别卡顿,重获流畅操作体验

Windows 11右键菜单修复:告别卡顿,重获流畅操作体验 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否曾经在Windows 11系统中点击右键后&#xff0c…

作者头像 李华
网站建设 2026/1/9 19:25:56

音乐解锁终极指南:如何让加密音频文件重获自由

你是否遇到过这样的情况:从音乐平台下载的歌曲只能在特定App中播放,换了设备或播放器就变成无声文件?这正是各大音乐平台对音频文件进行加密保护的结果。今天要介绍的Unlock Music工具,就是专门解决这个问题的浏览器端音乐解锁工具…

作者头像 李华
网站建设 2026/1/13 3:32:46

MPV_lazy:Windows视频播放的完美配置解决方案

MPV_lazy:Windows视频播放的完美配置解决方案 【免费下载链接】MPV_lazy 🔄 mpv player 播放器折腾记录 windows conf ; 中文注释配置 快速帮助入门 ; mpv-lazy 懒人包 win10 x64 config 项目地址: https://gitcode.com/gh_mirr…

作者头像 李华
网站建设 2026/1/1 9:12:44

Blender VRM插件完全指南:从安装到模型导出的终极教程

Blender VRM插件完全指南:从安装到模型导出的终极教程 【免费下载链接】VRM-Addon-for-Blender VRM Importer, Exporter and Utilities for Blender 2.93 or later 项目地址: https://gitcode.com/gh_mirrors/vr/VRM-Addon-for-Blender VRM格式已经成为虚拟现…

作者头像 李华