在农机产品生产中,工艺装备的设计和制造在整个生产准备过程中周期最长,它实际决定了农机生产的工艺准备周期。近年来,我国的新机研制、系列改型任务繁重,产品更新速度快,客观上要求采用新的设计手段和工艺方法来缩短生产准备周期。从设计角度来看,采用数字化技术进行工艺装备设计,增强工艺装备设计过程的柔性,提高对已有设计资源的可重用性,是缩短工艺装备设计周期的重要途径。在农机产品CAPP系统开发过程中,各模块对系统的要求可以说是多种多样的,利用对象建模技术对CAPP系统进行设计和开发,可以保证系统的可重用性、易维护性、独立性和互操作性。CAPP系统是一个采用数据库存储和管理大量工艺卡及其相关数据的系统。该文采用非面向对象的关系数据库管理系统Sybase加上面向对象的开发工具PowerBuilder来实现面向对象的设计,从而将对象的属性和操作分离,所开发的CAPP系统在农机产品的工艺设计中得到了良好应用。
1 基于对象建模的CAPP系统模型
1.1 CAPP系统的对象模型
对象建模技术在面向对象分析时,首先将工艺人员看到的各种表格,如工艺过程卡、生产进度表、材料明细表、材料汇总表等所有数据项看成为初始对象,将表达对象之间的关系抽象成初始对象之间的关联,由此得到CAPP系统设计的一般对象图(图1)。
图1 表与操作分离时的CAPP一般对象模型图
由于CAPP系统中很大部分任务是对工艺卡内容数据以及生成工艺卡的支撑数据的存储与管理,因此图1中的对象为表对象,它们是CAPP系统的对象的主体部分,基于对象模型,各个表对象类Xi的存储等基本操作均可以共用。
1.2 对象模型的实现过程
在面向对象的系统中,系统的运行是靠事件来驱动的。CAPP系统开发时将对象、关联及操作等映射成数据库表和程序实体,其具体实现过程是:
①把数据对象X1,X2,X3等映射成相应的数据库表、视图。在定义这些表与视图的同时也定义了相应的验证规则和缺省数据,它们作为数据库的一部分与表、视图保存在一起。②把关联Dij映射成表或表的一部分,而对于多对多关联,可把该关联映射成独立的表。③将操作OPij映射成对应的操作窗口,并将操作OPij关联到对象Xi,最终映射成Powerbuilder的数据窗口和事件驱动下的程序。
2 对象模型在CAPP系统中的实现
2.1 工艺过程卡对象模型的实现流程
CAPP系统设计中,最重要的对象就是工艺过程卡,其实现流程如下:
(1)第1步:定义一个“工艺过程卡”对象。
该对象的属性包括:①外观属性:边框、标题、表格等。每一个属性还可以继续细分下去,比如边框可以继续分解成起点、终点、线型、线宽等。标题可以继续分解成文本、字号、字体等;②内容属性:零部件图号、零部件名称、零部件材料、编制者、编制日期、序号、工种、工步内容、车间、设备、工装、额定工时、准备工时等。
(2)该对象的操作包括:
①自身约束操作——有效性检测、默认值设置等;②其他操作——新建工艺卡、修改工艺卡、保存工艺卡、检索工艺卡、删除一行工艺卡内容、插入一行工艺卡内容、恢复一行工艺卡内容、指针定位到工艺卡第一行、指针定位到工艺卡最末行、指针上移一行、指针下移一行等。
对象的属性、对象的操作(或称方法)构成了对象模型。
第2步:考察“工艺卡对象”与系统其他对象的关联。根据工艺卡对象属性的取值的数目,工艺卡属性可以划分为两部分。一种是该属性在一个对象中只能有一个取值,这种属性如零部件图号、零部件名称、零部件材料、编制者、编制日期等;另一种是该属性在一个对象中可以有多个取值,这种属性如序号、工种、工步内容、车间、设备、工装、额定工时、准备工时等。
基于上述分析,可将工艺卡对象拆分为两个相互关联的新对象,一个称“工艺卡主表”,一个称“工艺卡副表”。“工艺卡主表”对象包含原工艺卡对象中所有取值数目只能为一的属性;“工艺卡副表”对象包含原工艺卡对象中所有取值数目可能大于一的属性。其中“工艺卡主表”中的属性还可以分成两类:一类是“工艺卡主表”本身特有的属性,如编制者、编制日期等;另一类并非“工艺卡主表”本身特有的属性而是存在于其他对象中只是反映在工艺卡主表中的属性,比如零部件图号、零部件名称、零部件材料,这些属性存在于“产品零部件明细表”中,工艺卡主表中相应的属性只是对它的一种再现。最终得到“工艺卡主表”、“工艺卡副表”、“产品零部件明细表”之间的关联(图2)。
图2 工艺卡主衰、工艺卡副表、产品零部件明细表之间的关联
第3步:将用户的“工艺卡”在系统中映射成一个视图。
映射视图的定义为:
第4步:将各个对象的自身约束操作映射成各数据库表的有效性规则和默认值,这在定义数据库表时作为表的一部分被同时定义,对于更复杂的规则可以通过把它们映射成“存储过程( stored procedure)”或“触发器(trigger)”来实现。
第5步:将对象的其他操作映射成相应的事件驱动下的消息处理程序。如“保存工艺卡”操作被映射成消息处理程序ue_save()。
第6步:实现各消息处理程序。
至此,实现了CAPP系统的“工艺卡”对象的具体应用。2.2 CAPP系统的域分析所谓CAPP域,就是CAPP系统,应用需求的问题及其背景知识。域分析的主要任务是针对单个或一族相似的域,以重用为目标,寻找并挖掘域或域族中能够公用的部分。
在CAPP系统中,所有数据都以数据库表的形式存放在计算机中,这些数据库表可以分为这样几类:一类是CAPP系统的输出结果,主要是工艺卡主表和工艺卡副表;另一类是CAPP系统运行的支撑数据库,如零部件明细表,车间设备表,工时系数表,零件工装表,型钢规格表,知识库等。
图3 工艺过程卡
对于所有这些数据库表,系统都必须向用户提供完善的数据库维护的功能,即提供录入、删除、修改、插入、检索、打印等功能。所有这些操作的实现都是相同的,所不同的只是操作实施的对象。如果对每一个数据库表都设计一个维护窗口,不仅增加CAPP系统开发的工作量,而且对系统的可靠性和可维护性都将带来不利的影响。
基于软件重用的思想,在CAPP系统中设计了一个通用的数据库维护窗口,内含一个抽象的数据库表,在其基础之上实现数据库维护的功能。对应于具体的某个数据库表,只须在运行时将通用数据库维护窗口和它相连即可。这样就实现了所有的数据库表共用一个数据库维护窗口,操作与操作的对象分离。数据库表的改动不影响数据库维护窗口,反之亦然。这给CAPP的实现与维护带来极大的便利。
CAPP系统的选单设计中采用对象建模技术实现选单的重用,整个系统尽管功能复杂,但选单数目却只有3个,图3即采用对象建模技术开发的农机产品CAPP系统工艺过程卡选单。
3 结论
采用基于对象模型方法进行CAPP系统的设计,实现简单,系统功能的可扩充性与可维护性都比较强,并可提高选单的可重用性,即CAPP系统开发过程中,只需开发一个编辑窗口,而非对应每一个数据表开发相应的编辑窗口。当数据表发生结构改变时可通过修改数据窗口来实现。采用这种方法,同一个选单就可以被不同的窗口所共用,系统的开发效率大大提高,同时系统的结构也非常合理,根据作业机的主体结构相似性,可应用于各类农机制造的工艺设计过程。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/