ERP系统开发中BOM结构模型的研究及应用15367.pdf
《ERP系统开发中BOM结构模型的研究及应用15367.pdf》由会员分享,可在线阅读,更多相关《ERP系统开发中BOM结构模型的研究及应用15367.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ERP 系统开发中 BOM 结构模型的研究及应用 琦杰(同济大学经济与管理学院,200092)摘要:BOM 是 ERP 系统中重要的基本数据.本文首先从数据库设计和算法实现两方面分析了两种典型的 BOM 结构模型,通过比较总结出 BOM 设计中的关键问题;然后针对该问题提出改进的 BOM结构模型;最后给出运用此模型实现某 BOM 管理模块的实例。关键字:企业资源计划;物料清单;BOM 结构模型 1 引言 制造业信息系统从上个世纪 50年代起至今经历了 MRP(Material Requirements Planning)、闭环 MRP(Closed-loop MRP)、MRP(Manufact
2、uring Resource Planning)及 ERP 等四个阶段,后一个阶段都是建立在前一阶段基础之上.ERP 的核心仍然是解决企业根据市场需求“生产什么”、“生产多少”、“什么时候生产”等问题,而这些问题的有效解决都是建立在MRP 运算,即根据 BOM(Bill of Materials)分 解MPS(Main Production Schedule)的基础之上。所谓 BOM 就是产品结构在 ERP系统中的一种数据表现形式,换句话说为了方便计算机识别并做分解运算处理,把用图表达的产品结构转换成数据格式,这种用数据格式来描述产品结构的文件就是 BOM.从概念中可以看出,BOM 的主要作用
3、包括:1.存贮作用,即存储产品结构信息;2.计算依据,即为 MRP分解运算提供逻辑依据。BOM是ERP的核心数据之一,BOM的设计与实施是 ERP 的基础,所以选用合理得 BOM 结构模型是保障ERP 顺利实施得重要环节。2 两种典型的 BOM 结构模型 2.1 树状结构模型 对于制造型企业中生产的单个产品,其结构呈现出一种树状结构,反映出该产品所需的原材料,零件,部件及总装件之间的从属关系和数量。如图 1 中产品 A,是由 B,C,D构成的,而 B 又是由 C,D 构成的,括号里的数字表示父子之间的数量关系,依此类推,其中不能再分解或处于产品结构树底部的零部件就是需要制造或采购的零部件,有了
4、这种产品结构才能进行分解运算得到物料需求计划。图 1。产品 A 的结构图 为了把这种产品结构存储在关系型数据库中(以 sqlserver2000为例,下同),其数据库设计如表 1所示:字段名称 类型 含义 Rootid Varchar(10)产 品 代码 Childid Varchar(10)子 件 代码 Layer int 层次码 Usage float 零 件 间用 量 关系 表 1 树状结构模型的数据字典 其中 Rootid,Childid 分别表示产品和该产品包含的零部件代码,如该零部件不可再分解就用一个特殊的符号“L”来表示。图 1 中 A 产品的结构,在数据库中存储为以下记录:Ro
5、otid Childid Layer UsageAmount A B 1 1 A C 1 2 A D L 3 A C 2 2 A D L 1 A E L 6 A F L 8 A E L 6 A F L 8 表 2 产品 A 在树状结构模型中的表示 这种数据库设计由于模拟了产品结构的树状特征(如图 2),称之为“树状结构模型”,它的优点是直观的刻画了产品结构,不同产品间的数据相互独立的,因而编写分解算法非常简单、高效。缺点主要是数据冗余度大,不同产品中包含的相同结构特征在此模型中仍然要存储多次,例如:产品 A 包含的部件 C 为通用件,即可以用在其他产品中。因而当增加或修改这些结构特征时也要重复
6、多次,容易造成BOM 数据不一致,或者在数据库设计时需要增加额外的触发机制保证其一致性。另一方面由于这种结构模型只存储了产品与零部间的关系从而抹煞了部件与零件的关系,破坏了 BOM 数据的完整性。图 2.BOM 的树状结构 Parentid Childid Usage A B 1 A C 2 A D 3 B C 2 B D 1 C E 3 C F 4 树状结构模型可以直接采用较为简单的SQL 语句来实现产品结构的查询。例如对图 1 中 A 产品查询需要制造或采购的所有零部件清单时,SQL 语句为:select Childid from 表2where Rootid=A and Layer=L;
7、需要查询 A 产品所包含的第 n层零部件清单时,SQL 语句为:select Childid from 表 2 where Rootid=A and Layer=n;22 网状结构模型 对于制造多品种产品的企业,产品与零部件的关系不再是简单的一对多而是多对多关系。由于大量通用件在不同产品间的相互借用,在树状结构中表现为不同的结点可以有相同的子树;即使在同种产品部,由于一些标准件的重用,同样使零部件关系呈现出复杂的交织,所以图 2 可以转化为图 3 所示的网状结构。图 3.BOM 的网状结构 这种产品结构在数据库中的设计如表1 所示:表 3 网状结构模型的数据字典 图1中A产品的结构在数据库中可
8、以存储为以下记录:表4 产品A在网状结构模型中的表示 这种数据库设计模拟了多品种产品的结构特征(如图 2),称之为“网状结构模型”,它的优点是对字段名称 类型 含义 Parentid Varchar(10)父件代码 Childid Varchar(10)子件代码 Usage float 父子件间用量关系 每一种父子结构关系只存储一次,从而消除了冗余数据,另外当这些通用件或标准件的结构发生变化时,在数据库中也只用修改一次,同样以部件 C 为例,当修改其结构特征时只需在修改数据库中字段Parentid 为“C”的记录。因而网状结构模型易于保证 BOM 数据的完整性和一致性。这种模型虽然能清晰的反映
9、产品结构,但要编写较为复杂的算法来实现对 BOM 的遍历,常用的算法有:1.递归算法。利用数据库的临时表来保存递归运算中的临时信息,通过特定变量控制程序的执行.2.分层查找法。就是从被查找的根结点开始,按层次一层一层的往下遍历,类似于数据结构中树的层次遍历过程。3改进的 BOM 结构模型 3.1 BOM 设计中的关键问题 综合上面两种模型的设计方法,在 BOM 设计过程中需着重考虑的两要素是:1.合理的 BOM 结构模型,即在数据库中设计合理的方式存储BOM 数据,保证 BOM 数据的完整性、一致性、可靠性和无冗余;2.高效便捷的算法完成对产品结构的遍历和分解,满足 MRP 运算及各种对产品结
10、构的查询、汇总等。前者关系到 BOM 的易维护性,后者是关系到BOM 的易使用性,以下简称为 BOM“设计的两要素”。然而,当今流行的数据库大多采用基于关系模型的关系型数据库。在数据库发展历史中较以前的层次模型或网状模型,关系模型对这种树状结构的存储和处理有先天性的不足,如果采取冗余度小的数据库设计,会使算法比较复杂,反之亦然。例如前面的两种模型,树状结构模型的数据库设计冗余度大但算法简单、执行效率高,实际上以较差的易维护性来换取较好的易使用性;而网状结构模型在保持低数据冗余的情况下却使算法复杂,降低查询分析的效率,与前者正好相反。这导致了 BOM 设计中两要素间的矛盾,而这种矛盾往往是无法避
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ERP 系统 开发 BOM 结构 模型 研究 应用 15367
限制150内