详解制造业业务数据模型
业务数据在企业数字化转型或单体应用的开发中都是至关重要的。站在跨业务跨部门的企业数字化转型角度,离不开业务架构的设计,详细的业务领域和业务数据模型是后续应用架构和数据架构的必要输入。站在单部门单场景的信息化角度,应用程序的需求分析阶段输出的业务流程和业务数据模型也是后续概要设计和详细设计的必要输入。
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 次幂的背后
前言: 说实话,真的不爱写算法题相关的文章了,觉得没啥意义,但是对这种比较好玩并且简单,学会了就能很好提高算法效率的文章,还是要写一写,不哭不哭,你不会不是你的错,只是…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
