三层结构主要包括哪些类的设计及各类的主要作用
传统两层结构
在过去应用系统开发过程中,CLIENT/SERVER体系结构得到了广泛的应用 。其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。但CLIENT/SERVER结构存在着很多体系结构上的问题,比如:当客户端数目激增时,服务器端的性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载等等。
三层结构介绍
所谓三层体系结构,是在客户端与数据库之间加入了一个"中间层",也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
ASP.net只是.net中的一部分。它最大的优点除了是编译执行速度快外,我觉得最大的优点是页面和代码分离的编写方式(效果就象DELPHI里的FORM设计界面和处理代码分离一样),对我们这些惯使RAD工具的人来说不啻是个福音。再加上.net库提供的支持事件的各种WEB控件,和以前编写网页方式相比可谓是一场革命。随着分布式对象技术的逐渐成熟,多层分布式应用体系结构得到了越来越多的应用。应用系统只有向多层分布式转变,才能最终解决CLIENT/SERVER结构存在的问题。在多层架构下,应用可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信。将应用系统集成于分布式系统之上,能极大地提高系统的可扩展性。
在多层分布式应用中,在客户端和服务器之间加入了一层或多层应用服务程序,这种程序称为"应用服务器"。开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
Microsoft.NET 为三层结构做的准备
Microsoft .NET Framework是微软推出的一套下一代开发平台。.NET 基于开发人员的角度来说它是一个公共平台的类库(FCL),包含了近100 个命名空间(namespace)的近5000个类,想想看这是多的强大,还包括一个公共语言运行库(CLR)。因为只要符合.NET的公共运行规范(CLS的语言都可以 使用它提供的强大的类,并编译为微软的中间语言(MSIL),在其他的应用中就可以当作一个组件来调用。同时享受公共运行库带来的一切好处: 垃圾自动回收(GC)、实时编译(JIT)、跨语言互动、跨平台。 .NET 还可比喻是操作系统提供给开发人员的面向对像的API。 ASP.net是.net中的一部分。它最大的优点除了是编译执行速度快外,我觉得最大的优点是页面和代码分离的编写方式,再加上.net库提供的支持事件的各种WEB控件,以及.NET公共平台的类库(FCL),和以前编写网页方式相比可谓是一场革命。
用ASP.NET部署三层架构
ASP.NET可以使用.NET平台快速方便的部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#,VB,J#作为后台代码的语言。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在ASP页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。
下面分别就各层的实现举个制作留言簿的小例子。
我们首先在sqlserver数据库中建一个数据库GestDB,在GestDB中建表:Guestbook
Create table Geustbook(id int(4) unique not null,name varchar(20),
content text, Primary key id);
第一步:打开VS.NET,点击文件-》新建-》空白解决方案,在弹出的新建项目中选择Visal C#项目,模板选择ASP.NET Web应用程序.在位置处给本方案命名为geustbook.如下图所示。
第二步:建数据库访问控件。单击上图的"确定"。在窗口右边的 "解决方案资源管理器"中右击"解决方案"guestbook""选择"添加"->"新建项目",弹出如下窗口,如图模板选择类库,填写名称,位置。注意该类库理论上与留言簿的工程是没有关系的,所以存储位置可以任意。
第三步:建立逻辑处理层。同第二步,建立另一个控件BusinessLayer。此控件用来调用数据库控件,封装留言簿所有的逻辑处理。如下图所示。
第四步:关于引用。因为BUSINESSLAYER要用到系统的WEB控件和刚才建的DBLayer,所以必须把二者添加引用。右键点击BUSINESSLAYER的"引用",选择.NET的"System.web.dll"双击选中
然后再点项目的"DBLayer"双击选中。
第五步:把GUESTBOOK ASP.NET项目跟逻辑层联系起来,同样使用添加引用。注意:在BUSINESSLAYER已经引用过DBLAYER,在GUESTBOOK处只需引用BUSINESSLAYER就可以了。
现在你的GUESTBOOK解决方案资源管理器应该是如下图所示:
如果不是的话,请检查一下上面的步骤哪里是否出错。
通过上述步骤,就已经成功部署了ASP.NET的三层架构。在guestbook这一层我们放置应用显示的ASP页面,在BusinessLayer层,我们把所有的业务逻辑代码在该层实现。DataLayer层主要处理数据库的操作,供BusinessLayer层调用。
只要在各个层中实现具体的类就可以成功实施三层结构的应用程序了。
总结:
本文简要描述了三层架构的软件体系思想,通过一个留言簿的例子主要介绍了用MS.NET部署三层结构的具体实现方法。
核心层,汇聚层,接入层
不好意思,一直提示“输入内容已经达到长度限制”,只能上这么多,具体内容自己到参考资料查吧!物料清单(Bill of Material,BOM)
本文将就静态数据中物料清单(Bill of Material,BOM)的作用,结合CAD(Computer Aided Design,计算机辅助设计)、CAPP(Computer Aided Process Planning,计算机辅助工艺编制)、PDM(Products Data Management,产品数据管理)、MRPⅡ(Manufacturing ResourcePlanning,物造资源计划)、ERP(Enterprise Resource Planning,企业资源计划)等系统作详细的描述。
什么是BOM?
采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,必须把用图示表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即是BOM。它是定义产品结构的技术文件,因此,它又称为产品结构表或产品结构树。在某些工业领域,可能称为“配方”、“要素表”或其它名称。
在MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品,半成品,在制品,原材料,配套件,协作件,易耗品等等与生产有关的物料的统称。
在通常的MRPⅡ和ERP系统中BOM是指由双亲件及子件所组成的关系树。BOM可以是自顶向下分解的形式或是以自底向上跟踪的形式提供信息。
在MRPⅡ和ERP系统中中BOM是一种数据之间的组织关系,利用这些数据之间层次关系可以作为很多功能模块设计的基础,这些数据的某些表现形式是我们大家感到熟悉的汇总报表。
BOM有什么作用?
BOM是PDM/MRPⅡ/ERP信息化系统中最重要的基础数据,其组织格式设计和合理与否直接影响到系统的处理性能,因此,根据实际的使用环境,灵活地设计合理且有效的BOM是十分重要的。
BOM不仅是MRPⅡ系统中重要的输入数据,而且是财务部门核算成本,制造部门组织生产等的重要依据,因此,BOM的影响面最大,对它的准确性要求也最高。正确地使用与维护BOM是管理系统运行期间十分重要的工作。
此外,BOM还是CIMS/MIS/MRPⅡ/ERP与CAD,CAPP等子系统的重要接口,是系统集成的关键之处,因此,用计算机实现BOM管理时,应充分考虑它于其他子系统的信息交换问题。
BOM信息在MRPⅡ/ERP系统中被用于MRP计算,成本计算,库存管理。BOM有各种形式,这些形式取决于它的用途,BOM的具体用途有:
1、 是计算机识别物料的基础依据。
2、是编制计划的依据。
3、 是配套和领料的依据。
4、根据它进行加工过程的跟踪。
5、 是采购和外协的依据。
6、根据它进行成本的计算。
7、 可以作为报价参考。
8、进行物料追溯。
9、 使设计系列化,标准化,通用化。
BOM有哪些形式?
按照用途划分
产品要经过工程设计、工艺制造设计、生产制造3个阶段,相应的在这3个过程中分别产生了名称十分相似但却内容差异很大的物料清单EBOM、PBOM、CBOM。这是三个主要的BOM概念。
工程BOM——EBOM(Engineering BOM):
产品工程设计管理中使用的数据结构,它通常精确地描述了产品的设计指标和零件与零件之间的设计关系。对应文件形式主要有产品明细表、图样目录、材料定额明细表、产品各种分类明细表等等。
计划BOM——PBOM(Plan BOM):
是工艺工程师根据工厂的加工水平和能力,对EBOM再设计出来的。它用于工艺设计和生产制造管理,使用它可以明确地了解零件与零件之间的制造关系,跟踪零件是如何制造出来的,在哪里制造、由谁制造、用什么制造等信息。同时,PBOM也是 MRPⅡ/ERP生产管理的关键管理数据结构之一。
实际上BOM是一个广泛的概念,根据不同的用途,BOM有许多种类;设计图纸上的BOM,计划BOM,计算最终产品装配的制造BOM,计算成本的成本BOM,保养维修BOM等。根据在不同阶段应用侧重点不同,我们常常见到不同的BOM提法,常见的有:
设计BOM——DBOM(Design BOM):
设计部门的DBOM是产品的总体信息,对应常见文本格式表现形式包括产品明细表、图样目录、材料定额明细表等等。
设计BOM信息来源一般是设计部门提供的成套设计图纸中标题栏和明细栏信息。有时候也涉及工艺部门编制的工艺卡片上部分信息。
设计BOM一般在设计结束时汇总产生,如果存在大量借用关系的设计情况可以在设计阶段开始就基本将设计BOM汇总出来,然后根据新产生的零部件安排设计任务。
对应电子视图往往是产品结构树的形式,树上每个节点关联各类属性或图形信息。主要在PDM软件中作为产品管理和图档管理的基础数据出现。
制造BOM——MBOM(Manufacturing BOM):
生产部门的MBOM是在EBOM的基础上,根据制造装配要求完善的,包括加工零部件JBOM和按工艺要求的毛胚、模具、卡具等PBOM。也可以称其为工艺BOM。对应常见文本格式表现形式包括工艺路线表、关键工序汇总表、重要件关键件明细表、自制件明细表、通用件明细表、通用专用工装明细表、设备明细表等等。
制造BOM信息来源一般工艺部门编制工艺卡片上内容,但是要以设计BOM作为基础数据内容。
对应电子视图对产品部件往往装配工艺BOM形式,对零件往往是具体加工工艺BOM形式,比较多的是机加工工艺BOM,或生产加工流转路线工艺BOM等,树上每个节点关联工装、设备、工时、加工简图等等工艺信息。对企业利用价值比较大的是装配工艺BOM,主要在ERP软件中作为生产计划的基础数据出现。
客户BOM——CBOM(Customer BOM):
客户BOM实际上有两个含义,一个指从所有产品机构中筛选出客户订购的产品目录。一个指用户订购的具体规格产品的明细表。这个主要是对有些按照客户管理和组织产品图纸的企业非常实用的种表现形式。这种情况在PDM系统中比较常见,到ERP系统中由于还考虑到不同的客户订购产品对生产计划的影响,情况更加复杂一些,可能还扩展到计划BOM的范畴。
销售BOM——SBOM(SALE BOM):
销售BOM是按用户要求配置的产品结构部分。对应常见文本格式表现形式包括基本件明细表、通用件明细表、专用件明细表、选装件明细表、替换件明细表、特殊要求更改通知单等等。在某些制造行业,对销售BOM提出了更高的要求,要求每个BOM可以跟踪每批订单在全生命周期内的物料信息,而且每个客户订单都有一个唯一的或者是根据订单产品种类多少确定的几个销售BOM。这个时候往往将销售BOM称为客户BOM。
销售BOM信息来源一般是一个系列产品各规格不同类型零部件明细信息的汇总。
对应电子视图往往是产品配置树的形式,树上每个节点关联各类属性或图形信息。主要在PDM软件中作为产品配置管理的基础数据出现。
维修BOM——WBOM:
维修服务部门的是按维修要求产生的,对应文本格式包括消耗件清单、备用件清单、易损易耗件清单等等。
维修BOM信息来源一般从设计BOM对应记录属性中筛选获得消耗件、备用件、易损易耗件明细。
一般在PDM软件里完成汇总,同样可以在ERP软件里作为基础数据运用。
采购BOM——CBOM:
是根据生产要求外购的原材料、标准件和成套部件等产生的,对应文本格式主要包括外购件明细表、外协件明细表、自制件明细表和材料明细汇总表。
采购BOM信息来源一般来源于设计图纸和工艺卡片上信息汇总。由采购部门或生产准备部门根据其安排采购计划和生产计划。
PDM系统一般都可以根据图纸和工艺信息汇总出相应采购BOM信息,但是如果要针对产品批量获得动态的采购BOM信息就必须在ERP系统中完成。例如100台批量的采购BOM和10000台批量的采购BOM可能在外购和外协件上有很大变化。批量小时可能有的零件外购成本比较低,但批量大时就可以自制完成。
成本BOM——CBOM(Costing Bill Of Material):
是由MRPⅡ系统产生出来的。当企业定义了零件的标准成本、建议成本、现行成本的管理标准后,系统通过对PBOM和加工中心的累加自动地生成CBOM。它用于制造成本控制和成本差异分析。
其中,销售SBOM=加工JBOM+采购CBOM,
生产MBOM=加工JBOM+PBOM+采购CBOM,
其中集成关系最密切的是由PDM 控制的EBOM和MRPⅡ中的MBOM
按照设计软件划分 CAD中的BOM 设计部门既是BOM的设计者,又是BOM的使用者。单一零件诸如图号、物料名称(材料类型如45号钢)、重量、体积、设计修改审核号、物料生效日期等各种信息;组件或部件还包括外协件、外购件、通用件、标准件、借用件、各单一零件装配数量、部件图号等信息;总图(由零件、组件部件等装配而成)还包括包装、装件清单、技术文件、产品说明书、保修单等等信息,这些都是BOM信息的组成部分。在设计部门(CAD)中,通常所说的BOM实际上是零件明细表,是一种技术文件,偏重于产品信息汇总。 设计部门按某种类型产品的图号来组织BOM信息。设计部门在接到定单后按照定单的要求,一般情况下有三种设计思路——自顶向下形式设计、自底向上形式设计、由中间向两头形式设计。无论那一种设计方式,在图号的组织上都是一致的,都是按照图号来合并产品信息,形成该产品的总明细表、标准件汇总表、外购件汇总表、外协件汇总表等,在需要的时候还能生成产品图纸目录(满足没有运行ERP系统的客户或外协工厂)。有时一个相同的零件由于属于不同的产品,也就有了不同的图号,因此不一定考虑企业物料编码的唯一性。需要说明的是,在形成物料清单后,每一种物料都有唯一的编码,即物料号。不要将零件明细表(CAD通称为BOM表)与ERP中的BOM信息混淆。设计部门中的零件明细信息表转化为ERP系统中的BOM信息,需要设计部门、工艺部门和生产部门的共同协作,以及PDM(产品数据管理)设计产品关系特性的管理来解决零件明细清单与BOM表之间的异同信息,特别是图号与编码号不一致方面(PDM产品结构模块通过其规则库、变量和零件表等功能来完成)。 就使用而言,无论何时,当产品结构发生变化,或者客户更改技术文件、涉及质量问题或对某个零件进行重新改进设计时,为确保物料清单的准确性,都必须以设计变更通知为依据。在设计变更通知文件的指导下,设计部门通过BOM信息表中获取所有零件的信息及其相互间的结构信息。只有得到这些信息,才能对其进行定义、描述或修改,从而使生产能正常地运行下去(特别是客户的紧急更改通知)。根据设计变更通知编号,在PDM支持下,可以方便地检索变更信息,指导生产、装运和售后服务等生产活动。 在实际生产运行过程中,设计变更是导致数据不准确的重要因素,因此一定要有一套行之有效的设计变更通知管理方法来管理设计变更通知。由于要涉及销售、采购、生产、工程技术、财务等部门,因此一般由企业的高级主管直接管理设计变更通知。这一过程须经过设计变更通知确认、分析、审批、文件和监督五个步骤。 设计部门(CAD)产生的部分数据经PDM处理后传输给ERP系统。 关于设计BOM需要补充这么几个概念: 产品结构树上零部件的构成元素可以分为标准零部件、结构零部件以及设计零部件三类。 设计零部件的产生方式可以从不同的3D CAD或是2D CAD明细表中所产生,是通过本厂或协作厂设计产生的。 结构零部件可以是照片或是一个简单的草图。对应产品结构树上节点名称常常是产品外形图、产品尺寸链图、产品装配关系示意图、包装零部件等等。在很多企业产品结构树上必须反映这些信息,但是从总装图上无法获得这些信息,例如产品外形图和产品装配图如果都挂在产品节点上也可以接受,但是用户习惯往往是认为产品外形图和产品装配图都是同级的;另外象包装子树就需要手工建立包装子节点后展开,无法通过BOM展开直接从明细表关联。 通用零部件包括标准零部件库和行业、企业通用零部件。并且可以修改与删除和合并,加入通用零部件库要仔细的效验过程。通用零部件可以从借用件中演变而来。 相同的产品其结构零部件,有时甚至设计零部件或是标准零部件可以有多种不同的选择。也因此在制造上与销售报价上同样的产品对于不同的客户也可以有不同的产品信息结构组合(例如价格、批量、交货期)。但这些情况一般在ERP系统中进行维护,PDM系统只要保证基础数据的完整和一致性。 CAPP中的BOM 产品经过设计部门设计完毕后,部分电子数据转交工艺部门制订工艺路线(CAPP),成为说明零部件加工或装配过程的文件。它不是技术文件,而是计划文件或指导生产文件。CAPP一般由工艺过程卡、加工工序卡、锻铸热处理卡、检测卡、工装材料工时等汇总信息组成;在一张加工工序卡中由工序(加工步骤)、工时定额(占用工作中心的负荷时间)、加工设备、检测设备、加工工具、工装夹具、材料等组成。 在编制工艺计划时,除涉及设计的每一个细微之处外,同时还要涉及BOM中的主工作中心物料、材料物料、加工夹具物料、工装物料及辅料物料等。维护这些静态数据的准确性是保证生产按计划进行的前提。主工作中心的设备维护、备件管理、维修记录,材料采购与库存变化情况,加工夹具、工装设备、辅料等变化都要实时反映到工艺计划编制中去。在工艺计划编制过程中,要能随时(面向对象)地浏览BOM信息,输入BOM信息,报警BOM信息(工艺编制人员发现错误报警),实时反映更新的BOM信息等等。 在没有计算机系统支持的情况下,对工艺编制人员就要提出很高的要求:不仅要求其熟知零件加工过程和加工设备的现行状况,还要知道技术参数、库存情况、加工夹具、工装设备等情况。一般情况下,企业培养一个类似人员需要20年时间。现在,工艺人员在计算机系统的支持下,可以方便地查询按BOM结构设计的典型工艺数据库、获取设计信息、查询机床设备等技术参数等,也能很容易地编制CAPP,保证工艺文档的完整性、一致性、正确性和执行可行性。 工艺部门(CAPP)产生的数据经PDM处理后传输给ERP系统。 PDM中的BOM PDM实际上是连接CAD/CAPP与ERP的核心模块,它管理与产品相关的“信息(ERP)”和“过程(CAD/CAPP)”技术,起着由“过程(CAD/CAPP)”技术向“信息(ERP)”转化,“信息(ERP)”向“过程(CAD/CAPP)”技术转化的重要中间过程,形成了双向的无缝传输数据,避免了大量重合数据的产生。下图是表明它们结构关系图。 由于不同部门有不同形式的BOM信息,企业经常要花费大量的人力和时间才能完成这些报表,而且还要不断维护BOM的一致性,避免产生严重的MRP运算错误。四川某电器股份有限公司原来采用的手工录入方式,录入从CAD部门中统计的BOM信息,一个熟练的录入人员录入一个产品的BOM数据需要一周左右的时间,还不包括录入错误导致的返工时间和造成了恶劣影响;现在通过PDM,为ERP系统自动传输BOM数据,只需要几分钟时间。 结构关系图 在产品整个生命周期,PDM以数据仓库(所有系统可共用一个数据库)为底层支持,以材料清单(BOM)为其组织核心,把定义最终产品的所有工程数据和文档联系起来,实现产品数据的组织和管理,诸如产品配制管理、图文档管理、工作流程管理、设计变更管理、权限(角色)管理、版本管理、项目管理、维修记录以及日志管理等等。 PDM系统根据各自的功能特点与可解决工程问题的不同,分为三大类,即:以文档、数据管理为重点的;以设计过程及产品结构管理为主面向CAD的;面向硬、软件异构系统集成平台的。其中第二类与BOM信息最为密切,经过转化处理,达到ERP所需要的BOM信息。今天,大多数流行的PDM系统都能与ERP系统集成,有的ERP还有自己的PDM产品,有效促进了ERP系统中生产、设计、采购和销售等各个部门的沟通与交流。 ERP中的BOM 除了前面所描述的系统与BOM有关外,生产部门、产品成本核算部门、物料需求计划(MRP)系统、销售部门也有很大关系,生产部门使用BOM来决定零件或最终产品的制造方法,决定领取的物料清单;产品成本核算部门利用BOM中每个自制件或外购件的当前成本来确定最终产品的成本和对产品成本维护,有利于公司业务的报价与成本分析;物料需求计划(MRP)系统中BOM是MRP的主要输入信息之一,它利用BOM决定主生产计划项目时,动态确定物料净需求量,知道需要哪些自制件和外购件,需要多少,何时需要,标准用料与实际用料的差异分析;销售部门通过Internet访问数据源,可以方便地报价,提供准确的零件设计信息与追踪制造流程等自助服务,客户还可以自己下定单购买产品备件。 通过BOM信息,还可以方便地考核各部门的业绩,可以方便地抽取信息进行统计与分析;如果有了新的BOM资料需求,还可以利用原来的BOM资料构造新的BOM资料,简化近似BOM资料的编制工作;如果对BOM信息深入研究,还可以通过不同的产品BOM资料来研究其它产品BOM资料的错误检查,以免计算机输入或认为修改带来的错误,将错误率降到最低。 BOM是任何管理系统中的基础,它几乎与企业中的所有职能部门都有关系,如果没有BOM,就无法制造出同样的产品,直接影响到系统的处理性能和使用效果。为此,要想提高生产管理系统的效率,BOM准正确与否是十分重要的。尽管数据已经非常准确,但也不要忽视人的重要性,对于特殊变化,利用手工在系统中对BOM信息的内容进行增加、删除和修改等编辑工作,可以顺利完成任务。 通过建立企业“信息(ERP)”管理和“过程(CAD/CAPP)”技术两条主线,以BOM为信息纽带,以PDM为核心,再结合CAD/CAPP和ERP系统,辅以Internet和EDI系统,就可以真正达到企业信息化建设的目标
产品结构树有哪些形式?
为了便于计算机管理和处理的方便,各种BOM清单必须具有某种合理的组织形式,这种BOM的图形化显示我们往往设计成产品结构树形式,而且为了便于在不同的场合下使用产品结构树,产品结构树还应有多种组织形式和格式。
产品结构的数据输入计算机后,就可对其进行查询,并能根据各用户的不同的格式显示出来。各种信息系统系统的目标就是要使输入的数据可以生成各种不同格式的产品结构树,以满足企业中各种用户的需求。产品结构树一般以下常用的输出格式。
图一为A的产品结构。0层为产品A;A是由B,10。C所组成,B,10,C组成了第一层;B又是由20,D 所组成,C 是由30,40,50所组成,20,D,30,40,50组成了第2层;D又是由10,30所组成,10,30组成了第三层。图中,字母表示装配,数字表示零件,括号中数字为装配所需数量。
图一 产品A结构
对A这样的产品,其BOM的输出格式有以下各种。
常见的BOM形式
单级展开BOM
单级展开格式显示某一装配件所使用的下级零部件。采用多个单级展开就能完整地表示产品的多级结构。对应很多企业(特别是产品零部件数量繁多的企业)的分组明细表即是单级BOM的具体形式。下表为所给的四级产品结构就得到四个单级展开的清单。
多级展开BOM
多级展开BOM显示某一装配件所使用的全部下级零部件。采用一个多级展开就能完整地表示产品的多级结构。对应很多企业(特别是产品零部件数量比较少的企业)的产品明细表即是多级BOM的具体形式。下表为所给的四级产品结构对应多级展开BOM表。
缩行展开
缩行展开格式是在每一上层物料下以缩行的形式列出它们的下属物料。同一层次的所有零件号都显示在同一列上。缩行展开的格式是以产品制造的方式来表示产品的。
汇总展开
汇总展开的格式列出了组成最终产品的所有物料的总数量。它反映的是一个最终产品所需的各种零件的总数。而不是每个上层物料所需的零件数。如某一零件用于多个装配件,汇总展开的清单就有助于确定合适的采购数量。这种格式并不表示产品生产的方式,但却有利于产品成本核算,采购和其他有关的活动。
单层跟踪
单层跟踪格式显示直接使用某物料的上层物料。这是一种物料被用在哪里的清单,它指出的是直接使用某物料的各上层物料。
汇总跟踪
汇总跟踪的格式显示所有含有各零件的高层次物料以及每一物料所用零件的数量。这是一张扩展了的”用在哪里”的清单,它列出了所有含有零件的高层次物料。”所需数量”表示装配成该层次的物料所需的零件总数。
缩行跟踪
缩行跟踪的格式指出了某零件在所有高层物料中的使用情况。它可查找直接或间接地使用某零件的所有高层物料,采用这种格式很有价值。现以下表表示:
矩阵式的BOM
矩阵式的BOM是对具有大量通用零件的产品系列进行数据合并后得到的一种BOM。这种形式的BOM可用来识别和组合一个产品系列中的通用零件。在下面的输出格式中,左面列出的是各种通用零部件,右面的上部列出了各个最终产品,下面的数字表示装配一个最终产品所需该零件的数量。”#”表示该产品不用此零件。对于有许多通用零件的产品,这种形式的BOM很有用处。但矩阵式BOM没有规定产品制造的方式,它没有指出零件之间的装配层次,因此,不能用于指导多层结构产品的制造过程。
加减BOM
这种BOM有时又被为”比较式”或”异同式”BOM。它以标准产品为基准,并规定还可以增加哪些零件或去掉哪些零件。一个特定的产品就被描述为标准产品加上或减去某些零件。下表说明专用产品A/1是在标准产品A上增加零件F和G,同时增加部件C数量到2个,并去掉零件1-1-1制成。这种方法能有效地描述不同产品之间的差异,但不能用于市场预测,也不太适用于MRP。
模块化BOM
在实际应用中,由于产品规格是多变的,零件表按产品结构特点来划分的话,可以分为以下几种:
产品单一,规格基本没有变化。
产品规格多样,可以选择装配
产品系列化,但同一系列中性能变化。
不同产品系列,多种选择装配。
模块化BOM用于由许多通用零件制成的并有多种组合的复杂产品。例如在汽车制造业,装配一辆汽车可选择不同的发动机,传动机构,车身,部件,装潢以及其它东西,不同的选择可组合成不同的最终产品。模块化方法既为顾客提供了较广的选择范围,又使零件的库存下降。在汽车及农业设备等工业上,这种方法得到了广泛的应用。当一条生产线上有许多可选特征时,就能得到许多种组合,这时就不可能在主生产计划中对它们分别预测。如果按照MRP的需要在计算机内为每一种最终产品存储一个独立的BOM。则文件记录的存储和维护费用就很大。解决这一问题的办法就是采用模块化BOM。模块化BOM按照装配最终产品的要求来组建模块。模块化的过程就是将产品分解成低层次的模块。按照这些模块进行预测就比直接对最终产品进行预测要准确。模块化可以得到两个不同目的:
可以摆脱组合可选产品特征的麻烦;
把通用零件与专用零件区分开来。
BOM的一体化
在许多企业中,重建传统的BOM能大大简化主生产计划。如果订单的交货期小于产品的生产提前期,在主生产计划中就要对需求作出预测。多数企业采用两种方式组织生产,一种是备货生产,它们根据预测安排计划;另一种企业在短期内根据用户订单组织生产,其余时间根据预测安排计划。因此产品必须定义成在生产计划中可以预测的形式。显而易见,在订货生产的环境中,最终产品不是最好的预测对象。需要用一些特殊的BOM把主生产计划与某些相关零件联系起来,这些零件是在收到顾客订单之前必须得到的。用于计划的BOM执行了这一功能,它减少了预测和主生产计划中的项目数。
计划BOM是根据MRP的需要,把0层的产品与BOM脱离关系,而把1层或更低层的组件提高到最终项目的地位。这样就建立起一个新的模块化的用于计划的BOM,这种BOM能适应预测,主生产计划和物料需求计划的需要。
制造的BOM列举出制造最终产品所必需的可选特征。它仅仅是为了满足客户选定的产品或仓库订单而把独立的模块汇总起来的BOM,这种BOM一般不直接隶属于MRP系统,而是通过总装配进度计划来定义所需要的物料,并与MRP系统结合,只要这些物料使用MRP系统计划与提供的零件。
BOM的使用
在任何制造环境中,不同的部门和系统都为不同的目的使用BOM(下文的BOM在含义上属于不同的种类,统一以BOM表达),每个部门和系统都从BOM中获取特定的数据。主要的BOM用户有:
设计部门
设计部门既是BOM的设计者,又是BOM的使用者。就使用而言,无论何时,当产品结构发生变化,或对某个零件进行重新设计,该部门都要从BOM中获取所有零件的信息及其相互间的结构信息,只有得到这些信息,才能对其进行定义,描述或修改。
工艺部门
工艺部门根据BOM信息建立各零件的制造工艺和装配件的装配工艺。并确定加工制造过程中应使用的工装,模具等。
生产部门
生产部门使用BOM来决定零件或最终产品的制造方法,决定领取的物料清单。
产品成本核算部门
该部门利用BOM中每个自制件或外购件的当前成本来确定最终产品的成本。
物料需求计划(MRP)系统
BOM是MRP的主要输入信息之一,它利用BOM决定主生产计划项目时,需要哪些自制件和外购件,需要多少,何时需要。
一般的三层为 数据访问层,业务逻辑层,表示层。另外还有一个实体层。
实体层主要对应数据库中的表,一般是一张表对应一个实体类。实体类在项目中主要做数据载体。
数据访问层就是专门与数据库进行数据交互的层,常见做法就是写一个DBHelper类,这个类提供数据库连接,数据库命令操作,返回数据,是一个通用的类,然后里面也有很多实体数据库访问类。都是调用DBHelper这个类来与数据库进行操作。
业务逻辑层主要调用数据访问层,从数据访问层获得基本的数据,然后跟据需求,做不同的逻辑操作,处理好的数据给表示层。这个层得类主要是实体类的逻辑操作类。
表示层就是指WEB网站或者WINFORM窗体。用来展示数据,与用户交互的界面。这个里面看需求而定。
基本情况就是这样
DNC
1 引言
DNC(Distributed Numerical Control)称为分布式数控,是实现CAD/CAM和计算机辅助生产管理系统集成的纽带,是机械加工自动化的又一种形式。
目前,DNC系统的研究尚存在以下有待解决的技术问题:①DNC系统体系结构的开放性不强。国内大部分DNC系统局限于单一供应商的制造设备,平台之间可移植性差,不同应用程序互操作能力有待提高,不利于系统集成;②DNC系统通信结构多为点对点式,或采用局域网加点对点式,不能很好地解决通信竞争问题; ③DND系统与NCP和CAD的接口功能还很弱;④DNC系统控制软件可重用性不强,需要进行面向对象设计和实现。本文提出了基于CORBA(通用对象请求代理结构)的车间层控制系统中DNC系统,给上述问题以很好的解答,并实现了软件的编制及联机调式。
2 控制系统体系的结构
DNC系统是基于CORBA车间层控制系统的一个功能单元,现在的企业面对的是一个多变的需求环境,因而车间层控制系统面对的加工任务也是多变的。这种变化包括生产零件的品种、类型、规格、产量和交货期等多个因素的变化以及加工工艺路线随生产任务的不同而变化等。这就需要一个在时间和空间上都开放的车间层控制系统体系结构,以运行于不同硬件环境的异构计算机系统中,同时又能适应新技术的发展,容纳新设备的增加。
在基于CORBA的车间层控制系统中,构造车间信息集成和共享的公共平台是核心问题之一,我们采用基于客户/服务器结构的分布式控制平台(如 Orbix),既可以将传统的递阶控制结构变换成更适合信息集成的分布或控制结构,又可适应不同产品制造过程(离散制造或连续制造)中统一的生产管理和组织要求。
车间层控制系统总体结构分为三层:底层为系统支持层,由分布式计算环境和异构网络集成系统两个子层构成,提供底层的计算机系统、网络系统和数据系统等系统级功能;中间层为开放式分布处理层,提供统一的集成通信服务,由开放式分布处理平台和应用程序接口组成,最上层为信息集成层,支持多客户/服务器的分布式多数据库集成系统,将现有的应用和数据信息集成到系统中。为实现控制结构的分布、数据库的分布以及系统功能的分布,提出的车间层控制系统软件采用基于 CORBA规范的分布式对象体系结构。
CORBA规范主要特点是实现软件总线结构。所谓软件总线的功能,就是起到类似于计算机系统硬件总线的作用,只要将应用模块按总线规范作成软插件,插入总线即可实现集成运行。实现软件总线的核心系统称为ORB(对象请求代理器),它不仅支持标准的OMG对象模型,还具有分布进程管理和通信管理功能。此外, CORBA定义了IDL(Interface Definition Language)语言,以描述软件总线上的插销。IDL提供了对成员系统的封装和成员系统之间隔离,任何成员系统作为一个对象,通过IDL对其接口参数进行定义和说明,就可接到ORB上,为其它系统提供服务或向其它系统提出请求,达到即插即用效果。
车间层控制系统划分为许多独立的功能单元,每个功能单元对应于一个包含功能接口定义和实体的抽象对象,每类对象的接口由属性和操作组成,由IDL定义的其它功能单元可以透明访问的服务以调用该对象的私有数据,具体功能的实现被封装在实体里。我们将每类对象按照功能划分成若干个子对象,将其设计成为可以直接插在CORBA软件总线上的对象插件。这些对象插件按照各层客户/服务器结构组成整个平台系统。这种结构可以带来长远的利益,既能迅速增加对新的DBMS 的应用、增加新的用户界面,又能升级支持各种新功能。
3 DNC系统的地位及功能
DNC系统作为车间层控制系统的一个功能单元。
DNC系统功能包括①NC程序及数据的传递,以某种通信协议(如Philip532等)实现通信功能;②机床状态采集和上报;③根据工序计划,自动分配NC程序及数据到相应机床;④刀具数据的分配与传递。
DNC系统软件的功能模型,其中NC数据管理的主要功能是对数控数据进行管理,主要有数控数据的显示、插入、修改、删除、更新、锁定(不允许更改)和打印等操作;NC数据执行的主要功能有:数控数据在计算机和机床之间的传送、删除机床上的数控数据、启动机床上的数控程序、随时从机床设备获得工作状态信息并存入数据库,作为运行数据采集模块评价加工过程的根据;DNC通讯接口通过DNC协议和数据链路协议建立单元控制系统和CNC的连接。
4 DNC系统软件体系结构
基于CORBA的DNC系统软件的实现平台建立在车间层控制系统平台的基础上。我们将DNC系统体系结构划分为三层的客户/服务器结构,以将表示逻辑、业务逻辑和数据处理逻辑明确划分开来。为此,表示层用来表示信息和收集数据,此处为由VB实现的可移植的DNC人机接口;业务层响应用户(或其它的业务服务)发来的请求,执行某种业务任务,此处为由VC++来实现DNC应有程序及NC数据管理应用程序;数据层包括数据的定义、维修、访问和更新以及管理,并响应业务服务的数据请求,此处为经IDL功能接口定义封装的NC局部数据库(Access)服务器。这些层并不一定与网络上的具体物理位置相对应,它们只是概念上的层,借助这些概念可以开发出健壮的、基于组件的应用程序。
使用图3所示模型,可以把应用程序的需求分解成明确定义的服务。在定义了服务之后,需要进一步创建具体的物理组件来实现它们。根据性能和维护的需求、工作量、网络带宽以及其它因素,可以在网络上灵活地部署这些组件。
5 DNC系统软件的数据模型
DNC系统软件中涉及到数据实体包含四类:①与制造设备硬件相关的数据实体(如机床等);②与人机通讯相关的数据实体(如通讯协议实体和串口通讯实体); ③数控数据实体(如NC程序号、刀具号、工序号);④输入操作指令或派工单实体。采用面向对象方法将上述实体抽象成为类,可分为能力单元类、NC机床类、 NC控制器类、通讯协议类、终端服务器类、串口通讯类、NC程序类等。
DNC应用程序中的对象从这些类中继承下来,每个对象的方法即该对象的成员函数根据相应的功能需求来定义。下面以NC机床类的定义为例:
‖ncmach.h -NC Machine Class definations
‖NC Machines are part processors.For this class,a part is loaded,
‖a NC file is downloaded to the device,and the machine is started.
class MACHINE-TOOL{
char* CurrentNCFile; ‖currently loaded NC file
int FixtureStatus; ‖fixture status
public:
MACHINE-TOOL();
char* getCurrentNCFile();
void setCurrentNCFile(charF);
Int getFixtureStatus();
void setFixtureStatus(int S);
virtual int processPart(char PartName);
virtual int downloadNCFile(charFile);
virtual int stopMachine();
virtual in graspPart();
virtual int releasePart();
};
6 DNC系统的物理配置基本结构
基于CORBA的车间层控制系统需要两种层次的互连。第一层是利用计算机局域网技术和协议软件把由异构计算机组成的车间层控制器、设备控制器等互连起来,第二层是在这一互连的基础上,实现各节点、各被控的异构制造设备(如加工中心、机器人、PLC等)之间的信息交互,这种交互通过制造信息规范(MMS)实现。作为车间层控制系统的一个重要组成部分,本文DNC系统的物理配置基本结构如下图所示,主计算机通过网络介质(具有独立IP地址的终端服务器)分别连接多台CNC系统实现NC程序的装卸、刀具数据的传递、操作命令的下达和状态信息的反馈。这是一种通过局域网连接起来的通信结构,它具有包括物理层、数据链路层、传输层及应用层等的四层结构,其中数据链路层采用LSV2通讯协议,传输层采用DNC协议(如SINUMERIK或PHILIPS协议)。
另外,团IDC网上有许多产品团购,便宜有口碑
三层架构吗?
三层架构一般为 数据访问层,业务逻辑层,表示层也就是界面层,用于专门显示界面的 。
简单的讲,数据访问层就是 凡是要在数据库中增删查该的代码都放在这层,
,,,,,业务逻辑层就是,凡是需要对事件,方法做判断的,都放在这层,也就是判断逻辑
,,,,,界面层(表示层),把界面显示的代码放在这层,
这么做的作用就是 1.易于修改,特别是数据层,与表示层,我们可以把web页面换成winfrom窗体,只要把表示层的代码修改一下,其他层不用动,
2.可以进行分布式计算,对于大型网站,我们可以把这三层分别放在不同的服务器上,这样访问起来会更快。
就这些了。
计算机硬件结构层次有哪些?
计算机系统层次结构有:硬件层、操作系统层、系统程序层、应用程序层。1、硬件层 提供了基本的可计算性资源,包括处理器、寄存器、存储器,以及各种I\/O设施和设备,是操作系统和上层软件赖以工作的基础。2、操作系统层 通常是最靠近硬件的软件层,对计算机硬件作首次扩充和改造,主要完成资源的调度和分配...
地球的外部圈层结构
地球的外部圈层结构包括大气圈、水圈和生物圈3个圈层。1、大气圈:又称大气层(atmosphere),气象学专业术语,地球就被这一层很厚的大气层包围着。大气层的成分主要有氮气,占78.1%;氧气占20.9%;氩气占0.93%;还有少量的二氧化碳、稀有气体(氦气、氖气、氩气、氪气、氙气、氡气)和水蒸气。大气...
路面结构层包括哪些?
路面结构层是构成路面的重要组成部分,主要包括面层、基层和垫层。根据最新的《公路沥青路面设计规范》,路面结构层由面层、基层和底基层三部分组成。之前的垫层可以归为功能层或路基处置层。路面不仅需要承受车轮荷载的作用,还需要经受各种自然环境的考验。行车荷载和大气因素对路面的影响作用通常会随着深度的...
OSI七层型的层次结构是什么?
5、网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4、IPV6)。6、数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。7、物理层:建立、维护、断开物理连接。TCP\/IP 层级模型结构...
路面结构层包括哪些?
路面结构层包括哪些?路面结构层是指构成路面的各铺砌层,按其所处的层位和作用,主要有面层、基层和垫层。最新《公路沥青路面设计规范》中指出路面结构层由三部分组成:面层、基层和底基层。之前的垫层,可归为功能层或路基处置层。路面结构层不仅需要承受车轮荷载的作用,还要受到自然环境因素的影响。由于...
osi模型的组层结构是什么?
物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。它主要关心的是通过物理链路从一个节点向另一个节点传送比特流,物理链路可能是铜线、卫星、微波或其他的通讯媒介。它关心的问题有:多少伏电压代表1?多少伏电压代表0?时钟速率是多少?采用全双工还是半双工传输?总的来说物理层...
物联网有哪三层架构?
感知层是物联网的皮肤和五官-用于识别 物体,采集信息。感知层包括二维码标签和识读器、RFID标签和读写器、摄像头、GPS、传感器、M2M终端、传感器网关等,主要功能是识别物体、采集信息,与人体结构中皮肤和五官的作用类似。对我们人类而言,是使用五官和皮肤,通过视觉、味觉、嗅觉、听觉和触觉感知外部世界...
路面面层的结构由哪些构成
路面面层的结构由面层、基层和垫层构成。1、面层 沥青面层往往由2、3层构成。表面层有时称磨耗层,用来抵抗水平力和轮后吸力引起的磨耗和松散,可用沥青玛蹄脂碎石混合料或沥青混凝土铺筑。中面层、下面层为主面层,它是保证面层强度的主要部分,可用沥青混凝土铺筑。2、基层 基层位于面层之下,垫层或...
输入输出软件的层次结构不包括
答案:输入输出软件的层次结构不包括网络层。解释:输入输出软件的层次结构主要是描述软件在处理输入和输出时的不同层级及其功能。这些层级通常包括应用层、表示层、会话层等,用以处理数据的输入、处理、输出以及用户与软件的交互。1. 应用层: 这是直接与用户交互的层级,负责处理用户的输入指令和显示输出...
地球的圈层结构及各圈层的主要特点
地球的圈层结构及各圈层的主要特点:一、地球的圈层结构:包括由地核、地幔、地壳组成的内部圈层和由大气圈、水圈、生物圈组成的外部圈层。地球圈层结构分为地球外部圈层和地球内部圈层两大部分。地球外部圈层可进一步划分为三个基本圈层,即水圈、生物圈、大气圈;地球内圈可进一步划分为三个基本圈层,即地壳...
红爬小儿: 一般的三层为 数据访问层,业务逻辑层,表示层.另外还有一个实体层. 实体层主要对应数据库中的表,一般是一张表对应一个实体类.实体类在项目中主要做数据载体. 数据访问层就是专门与数据库进行数据交互的层,常见做法就是写一个...
长宁县17710248958: 三层结构设计有哪三层的设计工作? - ?
红爬小儿: 传统两层结构 在过去应用系统开发过程中,CLIENT/SERVER体系结构得到了广泛的应用 .其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端.但CLIENT/SERVER结构存在着很...
长宁县17710248958: 三层结构的基本介绍 - ?
红爬小儿: 理解三层结构 我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级. 三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL)1:数据访问层:主要是对原始数据(数据库或者文本文件等存放数据...
长宁县17710248958: 三层架构的资料? - ?
红爬小儿: 三层结构解释 所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层.这里所 说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也 不仅仅有B/S应用才是三层体系结构,三层是指逻辑上...
长宁县17710248958: 什么是三层架构??
红爬小儿: 三层架构(3-tier application) 一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方.这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计. 在一个典型的三层架构应用程序中,应用...
长宁县17710248958: 信息系统的三层结构分别是 - ?
红爬小儿: 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构.微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层. 所谓三层体系结构,是在客户端与数据库之间加入了一个...
长宁县17710248958: 基于J2ee的三层结构有哪些具体形式?请举例说明J2EE三层结构与以前的CS结构有什么优势,有什么不足? - ?
红爬小儿: 首先第一问,如果不考虑框架的情况下,可以讲应用分为三层结构,第一层表现层,既jsp页面,主要功能在于数据的显示,在这一层中,重点在于数据的如何表现.第二层为业务逻辑层,既servlet,在此层中,主要是对于业务的处理,数据的处理等工作.第三层为数据持久层,就是所谓的与数据库打交道.采用这种架构的优势在于,分工合作,降低代码的耦合性.思路清晰.第二问,cs结构的应用,普遍来说有一个庞大的客户端,并且在数据安全性要求不高的应用中,对于网络联通过于依赖.对于版本更新等操作业务复杂.用户换一个机器,需要从新下载并安装客户端.而bs结构的应用,在这些方面,有cs结构应用所无法比拟的优势.但是劣势在于,表现层功能的弱化.以及数据安全性问题.
长宁县17710248958: .NET三层架构解析一:什么是三层架构 - ?
红爬小儿: 所谓三层架构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层.这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这...
长宁县17710248958: 三层结构是如何分配的、在C#中才能更好的运用. - ?
红爬小儿: 理解ASP.NET中的三层结构: 我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级. 三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL) 1:数据访问层:主要是对原始数据(数据库或者...
长宁县17710248958: c#如何建立三层构架 - ?
红爬小儿: 三层架构:实体层、数据访问层、表示层 实体层主要是项目中最基本的类,一般情况下,对应的是数据库的表以及字段,是最底层 数据访问层主要是完成项目与数据库之前的连接、通信等功能,是中间层,依靠实体层 表示层主要完成项目中的判断,是最上层,依靠数据访问层,并间接依靠实体层 先建立项目层,并创建解决方案目录 下面的三层都是类库类型的项目,并将这3个项目和项目层一样添加到解决方案中,然后从最底层开始到最高层建立引用,选择引用的类型是项目;如果成功的话,那你在生成整个项目的时候,在项目层中就会看见3个类库DLL文件;最后把项目层设置为启动项目