esbrfwc制造-业PDM中IMAN的二次开发关键技术可行性研究报告.docx
Youhavetobelieve,thereisaway.Theancientssaid:"thekingdomofheavenistryingtoenter”.Onlywhenthereluctantstepbysteptogotoit'stime,mustbemanagedtogetonestepdown,onlyhavestruggledtoachieveit.-GuoGeTech制造业PDM中IMAN的二次开发知技术可行性探讨报告山西华夏网络技术服务有限公司2004年7月一总论1.i申请项目的概述IMAN(informationmanager)是一种较为成熟且广泛应用的产品数据管理(PDM)系统,它的开发商是美国的UGS公司。IMAN系统主要用于汽车、航空、机械制造和家电等行业。它是面对对象的佶息管理和限制系统,由一个窗口界面、一组好用程序、一个集成工具箱和一个关系数据库管理系统(ORAC1.E)组成。在版6.0后,IMAN包含C/S与B/S两种结构,B/S结构是发展方向,但目前功能较弱。IMAN目前广泛应用的版本为V6.0-V7.00我国目前采纳IMAN的企业有:海尔集团、玉柴机器、科龙集团等上百家企业。PDM系统属于管理系统,管理系统出售后常须要有一个定制过程,使之适应企业的特别须要。由于PDM技术能带来很大的效益,许多企业相维实施PDM系统,但部分企业没Tf取得预期的回报,这是由于PDM系统实施难度大、影响因素多造成的。二次开发是PDM实施的主要工作之、因此必需驾驭其关键技术。IMAN的二次开发工作主要有:利用IMAN的二次开发模块开发新的程序:窗体定制;外部应用软件的封装与集成等。IMAN二次开发工作须要丰富的阅历和困难的技巧,而它的帮助文档不能与时更新,况且关于PDY系统实施的学术论文、书籍等各种资料大多数只关注理论探讨,没有介绍详细好用的二次开发技术,因此系统的实施者起先时常感到无助而难以入手。1.2项目的社会经济意义、目前的进展状况、申请技术创新基金的必要性1.2.1本项目的社会经济意义1.22项目目前的进展状况1.2.3申请技术创新基金的必要性1.3本企业实施项目的优势和风险1.3.1本企业实施项目的优势1. 3.2本企业实施项目的风险1.4项目安排目标1.4.1总体目标1.4.2经济目标1.4.3技术、质指标1. 4.4阶段目标1. 4.5安排新增投资来源1. 5主要技术、经济指标对比二.申报企业状况2. 1申报企业基本状况2. 2企业人员与开发实力论述2. 2.1企业法定代表人的基本状况2. 2.2企业人员状况2. 2.3新产品开发实力2. 2.4项目技术负责人的基本状况2. 3企业财务经济状况2.3.1企业财务经济状况与预料2.4企业管理状况2.4.1企业管理制度介绍2.4.2公司质量保障体系建设2.4.3公司荣誉2. 5企业发展思路三.技术可行性和成熟性分析3. 1项目的技术创新性论述3.1.1项目产品的基本原理IMAN的二次开发分客户端与服务器端,客户端软件是用JAVA语言开发的,同样地它的二次开发也运用JAVA语言。服务器端的二次开发要利用二次开发模块ITK与C语言。由于IMAN版本升级可能导致所开发程序须要改写并重新编译,所以二次开发的原则是尽可能利用IYAN已有的功能,削减二次开发SI:”。基于以上考虑,二次开发重心放在客户端,而尽量利用服务器端的已有功能,客户端二次开发分为开发程序与注册程序两个阶段。3.1.2项目产品的关健技术内容窗体(FORM)又称表单,它的定制是实施PDM的一项基本工作,这是因为产品类型与信息类型多种多样,如零部件的数量、材料、ID号、设计者以与设计过程信息等等,这些数据都须要记录并与相应属性名一起保存。通常每一种零部件须要一种窗体来描述它的各种属性。窗体的功能首先是录入、保存、阅读与查询信息,其次是保存过程信息以支持其它功能。窗体存储三种数据:输入(Captured)数据;资讯(InfonnatiVe)数据:推导(DCriVed)数据。它们的区分是:输入数据是用户输入的字段,是窗体显示的主要数据:资讯数据是只读的:推导数据是其它栏的总结或综合,是只读的。IMAN的编程指南介绍了两种窗体定制方法:一是通过制作UI1.(UserInterface1.anguage,用户界面语言)文件来定义窗体的“非编程”方法:二是利用JAVA语言编程,由于UI1.较难理解而利用JAVA编程也涉与较困难学问,为此笔者探究出种组合利用IYAN供应的DOS应用程序与POMCIaSS来定义窗体的简捷方法,步骤如下:1 .通过一个文本文件definition,txt来定义窗体的内容:createPom_application_objectTiainPart_ClassdefineTrainPart_ClassProjectidPOMstring50-r¼,ndefineTrainPart_Classserial_numberPoM_Slring1-rwnsavequit编写该文本要团意如卜事项:1) Pomapplicationobject是父类,是系统定义的。将生成的新类Train_Part_Class是它的子类;2) Project-id和Seria1.nUmber是显示于窗体上的属性名,它们可描述某产品的ID与序列号。属性名可以有随意多个,也可以是作息名称,在此仅是举例:3) PO'1.string是指输入的数据应是字符;|1,其它数据类型还有POMJnt等等,可参考IMAN的编程指南;4)数字50与I只是举例,代表输入字符的最大允许长度。2 .编辑创建窗体的批处理文件CreatFonl1.bat如下所示,以读入该文本文件并创建窗体类.setuser=info<lbasetpass=infodbasetgrp=dbad:imanO701binc1carlocks-assertal1deadd:iman0701binsb<definition,txt-u=%user%-p=%pass%-g=%rp%d:iman0701binclearlocks-assert_all_deadd:iman0701bininstall-mod_classinfodbainfodbadbaTrain_Part_Class编写该文本要团意如卜事项:1)该批处理文件中的名称Train_Par1.ClaSS要与文本文件中的相同;2)管理员的用户名、密码、组名(infodba、dba)与IMAN安装路径只是举例,要依据现实系统而定:3)definition.txt文件前要有“<”符号。如系统指出找不到该文件,可在该文件名前加上肯定路径3 .启动imanMenu4 .进入imanMenU环境后,带路径执行CreatFOnn.bat。5 .若完成上面的步骤且没有出错提示,重新起动PRoTA1.,进入IMAN的方案编辑器(schemaedit),绽开POmapplicationObjeCt,可以看到刚定义的窗体类TrainPartClass06 .建立新的窗体模板:在IMANadmin里面打开类型(type),选择form选项,然后为新窗体命名(如为MYFoRMD,再在PO、1.ClaSS类里面选择刚定义的窗体类Train_Parl_Class。按Creale完成新窗体类MYFORMl的定义,它维承T类Train_Part_Class«7 .在导航器里面就可以依次执行:文件一新建一窗体,选择MYFORM1,建立新窗体,窗体可以描述零部件的属性PrOjCCtid和serialnumber,这是系统供应的窗体所不能描述的。该方法在V6.0版本中顺当通过,而在V7.0版本会引起“方案文件过期”的问题而引起系统短暂不能进入,所以要在系统管理员同意的状况下才能操作。出现这种状况后的解决方法是进入imanMenU环境,在原路径运行以下语句:uinstal1-regenschcma_fiIoinfodbainfodbadba”,然后重新起动服务器。吩咐行的后三项分别是管理员的用户名、密码与组名,要依据系统的实际作相应改动。3. 1.3项目产品的技术创新点314项目产品的技术来源、合作单位状况:项目产品学问产品产权的归属状况3.1.5项目产品的主要技术性能指标与国内、外同类产品技术指标的比较3.2项目的成熟性和牢靠性论述3.2.1项目的成熟性论述3. 2.2项目的牢靠性论述1.开发程序客户端开发须要的工具为:JDKl.2.2或更高:JAVA集成开发环境(IDE)如JBuilderfVisualcaf6等等。1)环境设置若没有运用IDE,要设置CA1.SSPATH环境变量。可在DoS提示符处运行:44C:>set%C1.ASSPATil%=%P0RTAkR0T%portal.jarwPORTAJROoT是指iMANPortal的安装路径。2)用javac吩咐编译客户程序:3)用jar吩咐打包;4)执行打开Porla1.bat文件,将客户程序(如MyPrO.jar)包含到PorIa1.jar之前:SetJavaxommaxdi.ine=%javacommand%-classpath-%IPR%.:%IPR%MyPro.jar:%IPR%portal.jar:-U1.SSPATH%*起动IMANPortal之后客户程序就可执行。但假如它是未经注册的新程序,还须要进行以下步骤。2在IMANPortal中注册程序注册程序就是要在IMAN的界面上的某个组内增加按钮,用于调用所开发的程序。假设客户程序叫MyPro,它属于COm.mycom.mypro包”程序注册的步骤如下:1)在PROTA1.界面上增加一个新组在PORTA1.安装路径下找到Portal_user.properties文件(或运用POrtal.properties文件,前者具有更高优先权),在GROUPS=IMAN,IMlANAdministrator,Utilities的行末增加新组名,假设为newtools.如下所示:mGROUPS=IMAN,IMANAdministrator,Utilities,ncwtoolsM。由新起动Portal后可看到新增的组newtools,在组内可加入按钮以调用客户程序。假如不须要增加新的组,可干脆进行其次步。2)在组中加进客户程序:A.运行UtilitiCS组内的快速向导(ApplicationWizard),然后输入应用程序名称,假设为mypro,并按卜步(Next)B,在左边拉开某个组,比如刚创建的组newtools,使客户程序的按钮加入到该组,按下一步。C.输入客户程序的包名,例如“com.mycom.mypro",缺省值是“com.mypr。”。然后单击某适当书目,系统将在该书目下自动建立与包名对应的子书目,并使全部与该客户程序相关的源文件在该子书目下生成。系统在书目mypro中自动生成六个文件:mypro.properties、myprouser,propertiesMyproApplication.java»MyproApplicationMenuBar.java,MyproApplicationPanel.java、MyproApplIcationToolBar.java。前两个文件是程序注册文件,用户可运用myprouser,properties也可运用InyPro.properties来注册程序,前者可覆盖后"。系统自动运用后者。后四个文件分别创建了四个应用类。要集成到portal的程序要有一个基类,它应是类AbStraCtAlFInAPPliCation的子类。客户程序的类的层次如图1所示。(碱治国/s通MyprvIboIIW图1客户程序类的层次D.按下一步后接受缺省的类名,按下一步,再按“Yes”按钮以创建新类。然后用雌击方式选择Portal的安装书目,在这个路径中含有portal,jar等IMAN的JAVA类库。按卜.步后系统显示“胜利创建程序”。这时portalUSer.properties系统注册文件自动修改,完成客户程序的注册。四.项目产品市场调查与竞争实力演料4. 1本产品的主要用途,目前主要运用领域的需求量,将来市场另1料、项目产品的经济寿命期,目前处于寿命期的阶段4. 2本项目产品国内主要研制单位与重要生产厂家研制、开发状况4. 3本项目产品的国内外市场竞争实力五.项目实施方案5. 1项目开发安排5.2技术方案5.3生产方案5.4詈销方案5.5其他问题的解决方案六.投资预算与资金筹措6.1投资算6.1.1项目投资预算依据6.1.2项目投资预售6.2新增资金的筹措6.3资金运用安排6.3.1资金运用安排6.3.2创新基金运用明细七,经济、社会效益分析7.1产品总成本分析(达产期)7.1.1产品方案和生产规模7.1.2年产品总成本(达产期)7.2产品单位售价与盈利溜1料7.3经济效益分析7.4项目投资评价7.4.1净现值7.4.2内部收益率7.4.3投资回收期7.4.4项目盈亏平衡分析7.4.5项目敏感性分析7. 5社会效益分析.项目可行性探讨报告编制说明8. 1编制单位状况9. 2可行性探讨报告编制人员九、项目可行性探讨报告的专家论证看法