从底层架构、系统功能、系统开发工具、实施方法学等几方面对Teamcenter与eMatrix两种PDM软件详细的做了比较。
一、前言
PDM系统作为企业信息平台,需要根据企业实际情况进行开发定制,每一个上线系统的功能都有一部分是原型系统已有的(如创建、拷贝、更新对象,check-in/out等),另一部分是实施人员根据客户需求而设计开发的。因此对于PDM系统的比较不仅要比较原型系统的系统框架和所提供的基本功能,更要比较二次开发的方便程度和系统的开放性。
由于PDM系统的实施不可避免地需要大量的客户化开发,现有的原型系统中存在两种思路:一种是尽可能多的提供符合实际需求的功能,以此来减少客户化时的工作量,但在系统开发时便一定程度上受到已有功能的约束;另一种则是尽可能好的提供开放的客户化环境和实用的辅助开发工具,以此来方便客户化的开发,但越基础的平台便意味着工作量越大。TeamCenter作为企业级PDM的代表,设计思路上比较倾向于前者,它将系统划分为多个模块,并为用户提供了很多实用的功能(如文档圈阅审核、可选件和互换件的配置、变更流程管理等)和类层次结构(如图一),为开发者所提供MODeL语言也简单易懂,比较实用,但辅助开发工具不多,客户化时可利用大量的已有功能来减少开发的工作量,但会或多或少的受已有功能和类层次结构的约束;eMatrix作为PDM发展到CPC阶段的典范,比较倾向于后者,它并没有提供多少现成的流程或类结构,仅提供了一个以type(相当于TeamCenter中的class)为中心的信息模型(如图二),客户化时变更流程、产品配置等功能都需要自行开发,但它提供较多方便开发人员的辅助工具——如提供了两种类层次结构的设计方式(图形化界面和程序编制),可开发简单交互界面的Wizard,用于报表设计的Table,视图设计的View和工具设置的Tool等,与前者相比较,这种方式客户化时的工作量更大,但所受的限制更少。
二、底层架构及系统功能
1、系统组织结构
TeamCenter系统提供以Root为根的类层次结构,通过为类增加属性、在不同类之间建立关系,为类或者对象定义消息(Message)以及处理消息的方法(Method)来组织整个系统,系统中各业务对象或数据对象都是类的实例。另外它还提供菜单(menu)、菜单选项(Option)以及动态类PdmDialog等来建立用户交互界面。
eMatrix系统中并未建立类层次结构,它主要以类型(type)为中心,通过为type添加属性(Attribute)、编写方法(Method)和触发器(Trigger)、制订合适的政策(Policy)等来组织整个系统,其中政策规定了各type所能拥有的数据文件格式(如word、excel等)和该类对象所拥有的生命周期——生命周期由多个状态(state)组成,对象的状态间转换需要通过审核签署。用户(user)所拥有的操作访问权限随着对象状态的改变而发生变化。eMatrix中以type为中心的信息模型清晰的反映了系统组织模式。
●共同点:TeamCenter和eMatrix都用面向对象的思想来构建整个系统,用类、对象和属性来模拟现实世界,用方法来处理与对象相关的事件。
●不同点:TeamCenter系统提供现成的类层次结构,有利于客户化时理清思路,快速上手——只需要为已有的类结构树添加枝叶,不需要重新建立整个树。而eMatrix以type为中心建立信息模型,在客户化时需要开发人员从根开始建立类结构,这种组织方式结构清晰,所受约束少,但工作量更大。
2、功能模块
TeamCenter和eMatrix都提供了比较完整的PDM基本操作功能(数据对象和业务对象的管理、对象生命周期的管理、用户组织及权限管理和内部消息邮件管理等),能基本满足实际需要。但二者又具有不同特点:
●TeamCenter:
1) 将系统分为OMF、DMM、OCC、VIS、APC、CMS等多个模块,并提供较基本的模块操作功能,这些操作功能(如可选件和互换件)比较符合制造企业的实际情况,在产品配置、变更管理等方面具有实用价值;
2) 系统利用MUX提供主机间通信,封装底层网络结构,各功能模块作为不同的服务提供给主机,有利于按照需求进行增减;
3) 流程控制中的并行流程、分解流程在构建较复杂的企业流程时方便实用;
4) 提供了MetaDM等实用的文档管理功能,使得为数据项提供文档模板、生成用于圈阅浏览的PDF文件等变得简便;
5) 提供了视图和视图网络的功能,不仅使产品当前配置变得清晰,同时也保留了产品配置的历史信息;
6) 提供了符合CMII标准的更改控制机制,并提供自动更改分析。
●eMatrix
1) 由于它并不针对某一行业或组织,没有细分系统模块,一切系统功能都基于以type为中心的信息模型,使得系统组织结构变得清晰;
2) 系统一般利用数据库自带通信功能(如ORACLE的NET8),系统也简单划分为System(系统管理)、Business(业务管理)、eMatrix(客户端操作)和MQL(eMatrix Query Language)四块,系统的安装维护工作量较小;
3) 政策中较好的结合生命周期定义了用户权限,使用户权限随对象所处状态的改变而变化,图形化的定义界面直观明了,一定程度上方便了繁琐的用户权限管理(如图七所示);
4) 提供了table等图形化的报表工具,方便了实际应用中较重要的报表功能,特别在仅展开一级关系时方便有效;
5) 提供了Menu、Command等方便网络页面制作的工具。
小 结:
由于TeamCenter自身提供了如产品配置管理、生命周期管理等具体的模块,实现了部分功能,而eMatrix只是提供了一个较基础的系统构建框架,因此在功能实现上TeamCenter可利用现有模块和基础功能,比较方便,在应用于制造业时有一定优势;而eMatrix则更加开放,但设计的工作量更大。
TeamCenter中提供的结构视图、视图网络、可选件、替换件、互换件、有效性等配置功能,并行流程、分解流程等流程管理功能,变更管理和MetaDM等文档管理等是比较有特色而且比较实用的;而eMatrix提供了大量的图形界面来进行系统管理和业务管理(如图形显示每一个type),使得配置管理工作方便简洁,它将权限管理同流程结合起来,同时提供报表以及编制网络页面的辅助工具,都很大程度上简化了管理和开发工作。
简言之,TeamCenter已有的用户可使用功能比eMatrix多,在设计开发系统时可直接应用这些功能;而eMatrix提供了较多的方便设计开发者的功能。
三、系统开发工具
1、编程语言
TeamCenter:自身提供基于C的MODeL(Metaphase Object Definition Language)语言,也支持C++、JAVA等高级编程语言。通过MODeL可定义类、动态类(对话框)、关系、给类添加属性、定义消息和方法等。
提供大量的API函数,一方面这些函数将某些功能封装起来简化开发;一方面对这些函数的重写和对新方法的定义又使开发者能根据实际需要定制系统。MODeL语言以C语言为基础,语法简单实用,可一定程度上实现面向对象的编程功能。
eMatrix:
自身提供了MQL(eMatrix Query Language)语言,可实现对象管理等数据库操作。并支持TCL/TK(MQL中内嵌TCL,利用TCL进行逻辑控制,用TK来编制用户界面),和JAVA(提供大量的JAVA ADK),并提供C++的接口。一般采用TCL和MQL来编写方法和触发器程序代码,由于TCL是一种脚本语言,可实现跨平台运行,因此编制的代码可重用性较高。
小 结:
两者都提供了开发语言(MODeL和MQL),其中MODeL基于C的语法和函数,由于C的普及程度较高且MODeL自身的语法定义简单易懂,开发者更易掌握;MQL和它内嵌的TCL可用于多平台,语法结构也并不复杂,因此也较易掌握,且程序重用性较大,另外eMatrix支持JAVA(新版本中可使用JAVA来编写方法代码)在网络化的今天也是一大优势。
在建立和重写方法时TeamCenter主要通过调用已有方法(提供的API函数),这些方法(如自动编号等)很大程度上减小了客户化的工作量;而利用MQL/TCL开发时没有现成的函数可调用,但有部分范例函数可重用。
2、用户界面的定义
TeamCenter:可通过MODeL语言定义用户界面(如menu,option,dialog等),另可通过图形化界面来调整显示效果。其中dialog是系统的动态类,可为它添加属性和消息。
eMatrix: MQL/TCL较少涉及图形界面的定义,系统为自定义的type等提供统一的创建、更新界面,也可通Toolbar定义等来向工具栏和菜单中加入选项,但可定制程度较低。自定义界面时一般使用TK,但编写比较繁琐。系统也提供了WIZARD等(WIZARD类似于向导,可用来对某些简单功能进行分布实现)适用于简单交互界面定义的图形化工具,他们方便实用,但功能不够强大。另外也可以利用JAVA来统一编写界面和方法,但工作量较大。
小 结: PDM软件由于管理的内容繁多,相互间关系复杂,无法简单分类呈现,而用户往往要求直观可见,所以界面友好度一般都比较低。界面不够友好的问题在B/S版中由于客户端定制的灵活性将会得到较好的解决。
MODeL提供了简单的界面定义功能,但所得到的图形界面风格固定,不够友好,界面定义方法也不够直观;eMatrix提供了大量的辅助界面定义方法,但一般功能都比较简单,实际开发中往往用JAVA和TK另外编写客户端用户界面,但这样工作量大大增加。
3、其它开发工具
eMatrix中类层次结构的定义、类关系的创建和生命周期的建立都可通过界面操作和编码两种方式来实现。且通过编码创建的type等在图形化界面中可见,这样使得操作直观,管理方便。另外还提供了可开发简单交互界面的Wizard,用于报表设计的Table,视图设计的View和工具设置的Tool和辅助web页面编写的Menu、Command等工具,一定程度上减少了客户化工作量。
四、实施方法学MetaSDM和CSM
1、共同点
MetaSDM和CSM都建立在大量成功范例的基础上,是众多成功经验的总结,他们都具有一套成功的实施方法学所应有的主要特点:
●具有完整的实施模型和阶段划分,能覆盖实施的全生命周期;
●把需求收集、分析阶段作为整个实施过程的重点,切实了解用户需求;
●在关键阶段设置质量检验点,可进行全面质量控制;
●建立在大量的成功范例基础上,包含业界经验与Know-How技术;
●注重与用户的交流,容易被用户接受;
●提供了大量的实施文档模板,有效地引导和规范了实施人员的工作。
2、不同点
MetaSDM:
1)有较详细的项目管理、团队管理内容的定义(其中包括人员角色分配、各角色所承担的任务等),比较注重于对人的管理,这对于控制项目进度,保证项目实施效果很有帮助。
2)通过构造一个完整的需求链来理清企业的业务目标、运作目标、流程需求和功能需求,有利于保证分析阶段前后的一致性和各方面信息收集的完整性。
3)注重对各方参与人员的影响力和项目实施的影响范围的分析,这对于正确估计并有效解决实施中可能遇到的问题非常重要。
CSM:
1)提供了分别适用于大型企业级PDM实施和小型企业或工作组级PDM实施的两套解决方案,可根据实际情况加以选用。
2)在质量控制的同时进行贯穿整个实施过程的成本控制,通过在实施各阶段进行成本预算来保证较好的投入产出比。
3、我对实施方法的一些看法
●PDM实施过程一方面需要对软件进行定制开发,以满足客户需要,另一方面也需要企业规范内部流程,加强内部管理来满足PDM实施要求,保障PDM实施效果,因此PDM实施过程应该是两大原型(软件原型和企业原型)彼此改变,相互靠近的过程,实施过程中以两大原型为主线,分析时在明确软件影响范围的基础上重点理清企业需求,并最终在设计阶段将二者统一。
●PDM的实施是个大的循环过程(都具有分析、设计、实现、测试等阶段),而其中每一阶段内部又包括一个或多个小的循环。其中需求的收集、分析以及系统的设计与实现等阶段间联系紧密,需要多次反复才能达到较好的效果。因此在实施过程中应注重各阶段相互间的交互,保证局部小循环的顺畅,最终达到较好的整体实施效果。
五、其它
1、软件接口与集成
TeamCenter和eMatrix作为比较成熟的PDM产品,都提供开放的软件接口,也具有较强大的集成组件:
1) 与主流CAD产品的集成(AutoCAD、UG、Pro/E、I-DEAS、Protel等);
2) 与其它信息管理系统的集成(ERP、CRM、MRPII等);
3) 与其它PDM系统的集成。
2、发展趋势
1) 面向产品全生命周期的解决方案(PLM):TeamCenter依靠其强大的整体实力在这一点上无疑占得先机,PLM的推广应用将为客户提供广泛的、由产品驱动的服务和它所支持的最强大的产品全生命周期管理解决方案。
2) 基于网络平台:eMatrix提供了支持CORBA、RMI、EJB三种方式的软件开发包,这将让它能更好的支持网络平台和对系统环境的无关性。
六、结论
TeamCenter和eMatrix的系统设计都基于面向对象的概念,底层架构都比较开放健壮,都具有优秀的实施方法学支持,在实施过程中都注重质量控制;但在客户化开发上 TeamCenter更倾向于提供具体的用户功能来减小工作量,而eMatrix则倾向于提供方便的开发平台和辅助开发工具,这两种方式各具特色,都能达到很好的实施效果。
4/27/2004
|