详解制造业业务数据模型
业务数据在企业数字化转型或单体应用的开发中都是至关重要的。站在跨业务跨部门的企业数字化转型角度,离不开业务架构的设计,详细的业务领域和业务数据模型是后续应用架构和数据架构的必要输入。站在单部门单场景的信息化角度,应用程序的需求分析阶段输出的业务流程和业务数据模型也是后续概要设计和详细设计的必要输入。
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 次幂的背后
前言: 说实话,真的不爱写算法题相关的文章了,觉得没啥意义,但是对这种比较好玩并且简单,学会了就能很好提高算法效率的文章,还是要写一写,不哭不哭,你不会不是你的错,只是…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...