详解制造业业务数据模型
业务数据在企业数字化转型或单体应用的开发中都是至关重要的。站在跨业务跨部门的企业数字化转型角度,离不开业务架构的设计,详细的业务领域和业务数据模型是后续应用架构和数据架构的必要输入。站在单部门单场景的信息化角度,应用程序的需求分析阶段输出的业务流程和业务数据模型也是后续概要设计和详细设计的必要输入。
1. 制造业模型标准
谈业务数据模型,绕不开ISA 95标准。ISA95标准详细介绍了制造企业业务系统及其制造控制系统之间接口的标准模型和术语,基本涵盖了销售、计划、制造等整个production过程,尤其是聚焦了生产管理调度和生产控制两个层次的模型。
如今工业互联网、数字化转型炒作的热火朝天,很多新入行的数字技术供应商浮于表面,张口闭口人工智能、大数据,反倒是对行业传统业务和信息化基础视而不见。但是30年前的东西仍然还是基础。ISA-95标准 9部分介绍(https://blog.csdn.net/lzwdlut/article/details/84668753)对标准做了一个大概介绍,感兴趣的读者可以自己下载该标准或者中文版的GB/T 20720标准。
02. 业务数据模型构成
制造型企业业务架构分析一般遵循波特价值流方法,分为核心业务活动和支撑性活动。核心业务活动包括研发、采购、生产、物流、销售等主要环节,每个环节都存在大量的物理实体和信息实体。支撑性活动包括人力资源、财务管理、办公管理、党建管理、IT管理等活动,也是业务模型的重要来源。对价值流核心业务活动的一些模型整理如下:
1) 研发设计: 主要是产品模型(主要是离散制造)和工艺模型,进一步细化包括如CAD(二维三维零件模型、组件模型和装配模型)、DBOM、CAE(结构分析、热分析、动力学分析模型)、PBOM、工艺路线、NC程序、质量控制计划、作业指导书等;
2)采购: 物料、供应商等主数据模型,采购计划、采购订单、询价单、退货单等业务流程模型;
3)生产: 工厂、设备、班组、MBOM等生产资源模型和生产计划、生产订单、质检单、作业记录单、设备保养计划、设备维保记录等业务流程模型;
4)物流仓储: 库房主数据,物流计划、入库单、出库单、盘点单、物料批次等业务模型;
5)质检: 质检标准、质检计划、质检单等;
6)销售: 客户、销售机会、销售订单、报价单、销售退货单等;
利用U/C矩阵来描述一些主要模型在每个业务领域的关系,如下图所示。

3. 模型构建
数据模型的设计分为概念模型、逻辑模型和物理模型,一步步从概念落到数据库层面,是数据应用的核心。本文还是以production为主线,对模型及其构建过程进行梳理。
3.1 概念模型
概念模型主要是描述了在业务流程中有哪些实体,实体和实体之间的关系。

制造工厂的业务信息模型分为:物理模型、制程模型和执行模型(Camstar)。物理模型代表工厂的物理部件,如上述描述的工厂、组织,资源;制程模型代表工厂制造流程,包括产品、BOM、工艺和工序等;执行模型是工厂业务流动过程中产生的各类活动和记录,包括销售订单、生产订单、过程记录等。物理模型和制程模型是企业的核心数据,一般保持稳定,变化缓慢,划分为主数据。执行模型在各个业务系统里随生产过程动态实时更新。
1)执行模型: 主生产计划通过销售预测和销售订单(sales Order)进行供需平衡后计算得到(具体的MRP逻辑单独再写)。生产计划(production Order)是主生产计划经过MRP或高级计划(AP)之后产生的,和主计划是关联关系。工单(work Order)是由生产计划排程(AS)后拆分到工序和具体设备上,即生产计划和工单是组合关系。工单记录(WO Segment Record)上汇聚了所有的生产指令和生产资源,进行作业管理和过程记录。工单工序记录(WO Segement Record)中物料投入、使用的设备、工装夹具、工人、班组和要求要满足支撑模型中工序资源的约束等构成。
2)制程模型: 反映了产品(Product)和工艺路线(Routing)、工艺路线(Routing)与工序(Segment),工序与工序资源之间的关系。产品关联工艺路线,工艺路线是由1个或n个工序组成的。每个工序关联原材料、设备、工具和质检标准等。
3)物理模型: 包含工厂、设备、仓库、工装夹具等物理资产的定义。
3.2逻辑模型
逻辑模型描述了实体模型的主要业务属性,以及实体和实体之间更精确的关系,如包含、关联、引用、依赖等。以产品工艺为例,详细展开。
1)关系: 产品工艺和物料/产品是一一对应关系;对于一个产品多个工艺的情况使用工艺版本来处理。一个产品工艺是由1个或多个产品工序构成。产品工序包含了投入物料、生产设备等资源。
2)属性: 物料在生产过程中的基本属性是物料编号、物料名称、类型、分组、单位等。在目前平台化的趋势下,迫切需要统一的数据模型/主数据支撑ERP\MES等众多系统的统一使用和管理。所以,在真实设计中,物料也包含采购、销售、生产、库存、质检等方面的业务属性,进行统一管理。


3.3物理模型
物理模型是逻辑模型在数据库的存储形式。比如生产计划模型,业务属性包括订单编号、产品编号、图号、单位、数量、起止时间、工艺路线、优先级、类型、进度、实际完成数量等,也包括了创建时间、更新时间、状态变化时间、程序控制参数等技术参数属性;比如,其中的优先级属性是string类型、默认值为中,是否必填为n,是否展示为y。每个属性从属性所属模块、字符类型、长度、默认值、主键、外键引用、校验规则、是否展示、必填、可编辑等。

数据模型之间的关系是构建数据库非常重要的方面,好的设计能大幅提高CRUD性能,同时也能支持更多行业的扩展性。

相关文章:
详解制造业业务数据模型
业务数据在企业数字化转型或单体应用的开发中都是至关重要的。站在跨业务跨部门的企业数字化转型角度,离不开业务架构的设计,详细的业务领域和业务数据模型是后续应用架构和数据架构的必要输入。站在单部门单场景的信息化角度,应用程序的需求…...
BigDecimal使用注意避坑
目录一. BigDecimal的初始化精度丢失问题二. BigDecimal在进行除法运算时需设置精度,否则对于除不尽的情况会抛出异常三. 不要使用BigDecimal的equals方法比较大小, 否则可能会因为精度问题导致比较结果和预期的不一致在java.math包中提供了对大数字的操作类,用于进…...
windows环境下,vue启动项目后打开chrome浏览器
前言:关于vue启动后打开chrome浏览器,我查了很多资料,方案如下: 1、增加环境变量BROWSER为chrome(试了没效果) 2、设置系统的默认浏览器为chrome(应该可以,但没试;因为…...
SpringBoot2.X整合ClickHouse项目实战-从零搭建整合(三)
一、ClickHouseSpringBoot2.XMybatisPlus整合搭建 二、需求描述和数据库准备 三、ClickHouse统计SQL编写实战和函数使用 四、ClickHouseSpringBoot2.X案例-基础模块搭建 controller/request层 mapper层 model层 service层 五、ClickHouseSpringBoot2.X案例-数据统计接口 …...
学海记录项目测试报告
⭐️前言⭐️ 本篇文章是博主基于学海记录的个人项目所做的测试报告,用于总结运用自动化测试技术,应用于自己的项目。 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主将持续更新学习记录…...
【1792. 最大平均通过率】
来源:力扣(LeetCode) 描述: 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你…...
言简意赅+图解 函数传参问题(传值、传地址 500字解决战斗)
1、传值 2、传地址 不论是传值,还是传地址,形参都是对于实参的一份拷贝 下图为按值传递进行交换: 形参left拷贝一块新空间,形参right拷贝一块新空间 下图为按指针传递进行交换 形参left拷贝一块新的空间,形参right…...
UML-时序图以及PlantUML绘制
介绍 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息…...
【Redis】Redis 有序集合 Zset 操作 ( 简介 | 查询操作 | 增加操作 | 删除操作 | 修改操作 )
文章目录一、有序集合 Zset二、查询操作1、查询 Zset 所有数据2、查询 Zset 所有数据和评分3、查询指定评分范围的 Zset 数据4、查询指定评分范围的 Zset 数据并从大到小排序5、统计指定评分范围的 Zset 数据个数6、查询指定元素在 Zset 有序集合中的排名三、增加操作1、向 Red…...
Java特性之设计模式【策略模式】
一、策略模式 概述 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略…...
IR-CUT 保证摄像机成像效果的滤镜
IR-CUT双滤镜是指在摄像头镜头组里内置了一组滤镜,当镜头外的红外感应点侦测到光线的强弱变化后,内置的IR-CUT自动切换滤镜能够根据外部光线的强弱随之自动切换,使图像达到最 佳效果。也就是说,在白天或黑夜下,双滤光片…...
openpnp - 普通航空插头和PCB的连接要使用线对板连接器
文章目录openpnp - 普通航空插头和PCB的连接要使用线对板连接器概述改进实际效果总结ENDopenpnp - 普通航空插头和PCB的连接要使用线对板连接器 概述 和同学讨论问题, 准备将航空插头连接到PCB上. 航空插头选用GX12-4公头, 拧到开孔的铁板上. 然后航空插头公头再与PCB连接. 铁…...
Python3 错误和异常实例及演示
作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python 有2种错误很容易辨认:语法错误和异常。 Python assert(断言)用于判断…...
Android 9.0第三方app根据包名设置为横屏显示
1.概述 在android9.0的系统rom定制化开发中,在某些横屏的设备比如平板电脑,tv智能电视,广告机等等设备中,通常系统是默认横批显示的,但是在安装一些竖屏app的时候, 就会旋转为竖屏,这个时候操作app也不方便,所以产品需求要求竖屏也需要根据包名横屏显示出来,这就需要在…...
MySQL会导致索引失效的情况与解决索引失效的方法
什么情况会导致索引失效 索引失效也是慢查询的主要原因之一,常见的导致索引失效的情况有下面这些: 1.使用 SELECT * 进行查询;2.创建了组合索引,但查询条件未准守最左匹配原则;3.在索引列上进行计算、函数、类型转换等操作;4.以 % 开头的 L…...
使用nginx单独部署Vben应用
前言 本文主要介绍Vben使用nginx单独部署的方式,其实前端发展到现在已经不是当年的jsp,asp必须要和后端一起部署了。单独部署调试的工具也很多,比如vue-cli-service 和 Vben中用到的vite ,当然这些我们一般用在开发的工程中。正式…...
ES6新特性详解
文章目录1. let和const1.1 let声明变量1.2 const声明常量2. 模板字符串3. 解构赋值3.1 数组的解构赋值3.2 对象的解构赋值4. 函数扩展4.1 参数默认值4.2 剩余参数4.3 箭头函数5. 对象扩展5.1 对象简写5.2 属性名表达式5.3 扩展运算符6. Symbol7. Iterator和Generator7.1 Iterat…...
Ubuntu下安装 ntfs-3g
目录1.FAT32、NTFS和exFAT2.ubuntu 安装 ntfs-3g2.1 直接安装2.2 源码安装1.FAT32、NTFS和exFAT U盘在格式化的时候都会有三种格式分别是FAT32、NTFS和exFAT。 FAT32格式 FAT32格式硬盘分区的最大容量为2TB,虽然U盘做不到,但是现在1xTB硬盘都有了&…...
【专业认知】抖音就业 / 保研北大教育学 / 留学南加州EE / 微软就业
2023.2.18 一. 周金辉学长分享——本科经验分享 0 简介 计算机农大本硕 硕士毕业后在抖音公司工作 1 行业前景:计算机专业能做什么? 1.1 计算机行业发展路线 远古时代: 二战开始,计算机技术发展,出现互联网 包…...
【算法题】2 的 n 次幂的背后
前言: 说实话,真的不爱写算法题相关的文章了,觉得没啥意义,但是对这种比较好玩并且简单,学会了就能很好提高算法效率的文章,还是要写一写,不哭不哭,你不会不是你的错,只是…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
