产品生命周期的PDM系统开发方案
3.1 系统的需求分析 通过调研某汽车企业目前在信息管理方面的实际情况,发现存在以下这些问题: (1) 图档安全性问题。 设计数据和技术文档分散储存在设计者的计算机内,缺乏保密
产品应用
1系统的需求分析
通过调研某汽车企业目前在信息管理方面的实际情况,发现存在以下这些问题:
(1)图档安全性问题。
设计数据和技术文档分散储存在设计者的计算机内,缺乏保密措施,容易被非法拷贝,一旦计算机损坏会造成数据丢失,给公司造成巨大损失。
因此,所设计的PDM系统需要保证图档的安全性。图档的安全性问题体现在对图档操作的权限上,为避免非法删除、剪切以及拷贝等数据丢失或被窃取的严重后果,就必须保证用户对图档的操作是在该用户的允许的权限范围之内。
另外,在图档存储方面,若是直接把图档存储在数据库中便无法保证信息资料的安全性。因此,严密的权限管理方案以及采取特殊形式实现图档存储是保证图档安全的必要条件,这样才能使得企业的信息财产得以保护。
(2)图档管理。
由于设计软件多样化和缺少合理的管理机制,造成数据分散、零乱,图档查询与共享极不方便。版本管理是图档管理的关键功能之一,选择的版本管理模型以及相应的算法是否高效,对图档管理的质量产生直接的影响;图档的高效查询已不再一个难点问题,但如何使查询更快速有效还需进一步深入的研究和探讨,影响查询速度的因素有数据量的大小、数据表的设计和数据的存储情况等。因此,深入研究数据表的设计和图档的存储方法进行,以便实现高效查询。
(3)工作流管理。
图文档的审批流程停留在人工审批阶段,缺乏规范的工作流程,无法记载归档时的审批记录,更改比较随意,降低了企业技术部门的生产效率。企业设计信息审批流程的工作流程为:设计→校对→审核→发布,更改流程:发送更改请求→编制更改文件→校对更改文件→审核更改文件→发布。企业工艺规程编制审批流程的工作流程为:编制→校对→审核→发布,更改流程:发送更改请求→编制更改文件→校对更改文件→审核更改文件→发布。
(4)客户需求管理。
该企业在客户需求管理方面尚未实现数字化管理,使得客户的需求难以快速反馈给企业相关部门。
(5)与三维CAD集成。
该公司的CAD系统主要包括有:SolidWorks、AutoCAD和CAXA等,各系统产生的文件无法在设计、工艺和生产制造部门间有效地实现共享。选择合理的集成模式,是实现信息集成与共享的必要条件,也是本论文需要解决的一个问题。
(6)与CAPP集成。
CAPP系统没有与企业管理软件集成较好地集成,不能共享其中的零件、材料、设备等数据,造成了大量的数据冗余,影响了整个企业的生产周期、效率和质量。
(7)与CAM集成。
CAM产生的数据文件独立存放,无法实现产品生命周期数据的共享,严重影响了整个企业的生产效率。开发的PDM系统不仅要能够有效解决当前企业存在的上述问题,还需要满足以下要求:
(1)软件质量需求。
运行稳定、可操作性强、兼容性好、有一定的安全保障。
(2)用户界面需求。
标准、大方、简洁、美观、易用易懂、具备一定的兼容性。一个好的应用系统需为用户提供友好的人机界面,可以使用户很容易的了解各部分功能并可以轻松的使用;出错时应有相应的提示信息,可以使用户明白出错原因并能做相应的处理。
(3)其它需求。
系统应用要面向整个公司,因此要求用户对计算机的熟悉程度跨度要大,特别是对有些资深的设计人员,他们是实际工作中的核心骨干,他们是否认可、是否能掌握,是系统成功实施的关键。所以,设计开发的系统需满足以下要求:学习过程简单,培训时间短;系统各功能操作起来简单、明了;系统的容错能力强;有帮助文件,帮助用户熟悉系统的操作。
2系统的功能模块设计
根据第二章构建的产品生命周期模型和传统的PDM体系结构图及其相应的功能模块,再结合本课题的要求,本系统主要实现以下功能:用户权限管理功能、图档管理中的快速查询、检索、以及图档的变更、修改、删除等功能、产品结构与配置功能、工作流管理功能、与CAD系统的集成,与CAPP系统的集成和与CAM系统的集成等。
根据上一节的需求分析,可以将系统分为以下几个功能模块:
(1)登录模块。
主要用于对进入PDM系统的用户进行安全性检查,以防止非法用户进入该系统。结合用户名、角色及其密码,只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的权限。
(2)用户权限管理模块。
包括用户信息管理、密码更改管理、用户权限设置管理和系统用户管理,用户信息管理包括查看用户相关信息和对系统用户进行添加、修改和删除的操作;密码更改管理是用来更改用户登录时的密码;权限是对系统中的数据或者用数据表示的其它资源进行访问的许可,用户权限设置管理包括权限设置,可对访问系统资源的用户进行权限的分配;系统用户管理用于设置或修改用户在登录系统时的权限、角色和密码,将用户和权限通过角色这一桥梁联系在一起,根据该用户的岗位职责来定义用户的角色,再根据角色赋予一定的权限,这样就确定每个用户的权限,来限定不同用户的对资源的使用权限。
(3)客户需求管理模块。
主要用于反馈客户对产品的需求信息,企业根据用户需求进行产品设计;当产品发生故障需要维修时,这一信息能及时反馈给企业维修部门,维修部门指派维修人员对需要维修的产品进行修理。
(4)项目管理模块。
产品的相关设计由立项开始,系统管理员负责填写新建项目的相关信息,并且为不同角色的工作人员分配任务。
(5)图文档管理模块。
设计人员根据接到的设计任务,在完成设计后将图档上传到共享区,再进行到工作流管理模块中。图文档管理模块包括设计阶段信息管理、工艺阶段信息管理、制造阶段信息管理、维修阶段信息管理和图文档查询。
图档浏览可以利用AutoVue浏览器,其ActiveX控件可以嵌入到网页中,也可以嵌入到桌面软件界面中,可以用它来直接浏览、商业格式文档、标注450种以上的常用工程,并可以完全保留原始文档的完整性及安全性,支持局部观看、图形的缩放、标注、移动、打印等功能。
图档查询是在良好的用户界面上,提供简单查询和组合查询等查询方式,并可以显示搜索的结果。图纸修改和删除就是对于已经入库的图纸,进行选择性的修改或删除,修改就是对数据库中图纸的属性进行修改,如设计单位、设计者等;删除就是把己经入库的图纸进行删除,同时删除数据库中有关记录该图纸的信息。图档版本管理就是通过保存历史版本和设定当前版本来对图档进行的有序管理。
(6)工作流管理模块。
当设计人员成功将完成设计后的图档上传至共享区后,图档进入审批流程。这时,待完成的任务及其详细信息自动出现设计校对员和设计审核员各自的工作界面,告知流程中各个人员需要完成的工作。
校对员和审核员批注图档,并将修改意见和建议反馈回设计员。如此往复,直到通过审核,最后完成设计图档归档入库。随后,流程进入到产品的工艺阶段,工艺校对与审核流程原理同设计校对与审核流程相同,直到工艺审核通过,工艺数据归档入库,进入到产品的制造阶段。
针对销售后出现质量问题的产品,经相关人员反馈给维修员,维修员参照相关手册与规范填写维修信息卡,维修完成后,上传维修信息卡、填写维修相关信息,当产品报废后,工作流管理结束。在流程过程中支持在PDM环境下实现图文档的预览与批注、打印功能。并且该模块支持工作流的追踪,能够使得用户方便快捷地在查看工作的进展。
(7)CAD集成模块。
本课题基于Solid Works2010(三维CAD平台)和开发的小型PDM系统进行了CAD/PDM集成的开发,提出了以封装与接口模式相结合实现Solid Works与PDM双向集成,实现了PDM系统中产品结构树的自动生成,并且在CAD系统中设计开发了集成PDM系统功能的插件,保证了数据的完整性和一致性。
(8)CAPP集成模块。
以封装模式实现CAPP和PDM的部分功能集成,使得CAPP系统能够获取PDM系统中产品生命周期的相关信息,参照相关工艺文件,进行工艺编制。在PDM系统中建立工艺工作流模型,完成工艺的审批流程。CAPP产生的工艺文档由PDM统一管理。
(9)CAM集成模块。
由于CAM系统与PDM系统之间只有刀位文件、NC代码、和工艺信息等文档信息的传递,所以,一般采用封装模式就可以满足两者之间的信息集成要求。以封装模式实现两者的集成,使得CAM产生的加工仿真数据和NC代码等相应文档由PDM统一管理,并且在PDM系统中能够启动CAM系统,利用PDM系统中产品生命周期的相关制造信息进行产品制造。
(10)系统维护。
系统的维护模块包括数据库的备份与还原。将上述功能模块结合在一起,最后得到系统功能模块图,如图3.1所示。
图3.1 PDM系统功能模块
3 系统的体系结构
3.1 C/S结构与B/S结构
客户机/服务器(Client/Server)结构作为一种典型的二层结构,根据功能的不同分为两部分:服务器的作用是处理数据库;客户端的功能是处理请求服务、应用程序。浏览器/服务器(Browser/Server)结构发展源于传统的客户机/服务器结构,消息传递机制是利用HTTP协议,客户端利用浏览器进行访问服务器,发出服务请求,服务器根据相应的请求,进行相应的处理后将响应结果返回给客户端。
C/S结构与B/S结构比较如下表3.1所示:
3.2系统的体系结构
对比C/S结构与B/S结构的优缺点,根据企业当前实际情况与业务需求,在研究PDM系统的一般体系结构与产品生命周期建模的基础上,系统的功能划分为两部分:企业内部采用C/S结构实现PDM系统的基本功能和企业外部用户使用B/S结构实现系统的扩充功能。因此,文中提出了C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构,它包含以下四个层次,如图3.2所示:
(1)用户层:为整个企业和客户提供用于信息交互的客户端应用程序和浏览器:企业的内部人员使用客户端应用程序实现信息共享,以减少网络的负担和维护系统的安全;企业的客户则使用浏览器及时进行产品订购、查看订单等服务。
(2)应用功能层:不仅包含图文档管理、产品结构与配置管理、工作流管理和项目管理等面向企业内部的PDM系统中的主要功能,还应具备面向企业外部的客户需求管理、维修服务等功能,及时获取客户的需求。
图3.2 C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构
(3)系统服务层:能够通过数据库接口向下连接并操纵数据库;通过内部接口向上提供数据服务和业务逻辑服务;以及向协作企业的数据管理系统提供外部接口提供接口。
(4)数据层:为系统提供支撑环境,包括数据库、网络、通讯协议和异构分布的操作系统等。
4 PDM系统开发工具
4.1 客户端开发工具的选择
Microsoft为开发应用程序创建了Microsoft.NET Framework,它是一个富有革命性的新平台,是Windows的一个内部组件,支持生成和运行下一个应用程序和XML Web Services。它提供的程序环境一致,不仅可执行本服务器上的代码,还可执行远程服务器的代码;提供了一个软件部署且代码安全性能高的执行环境;是一个基于Microsoft.NET Framework的代码,可与其他代码很好集成的标准,具备多语言支持、多平台支持、功能强大、可收缩性强等特点。
Microsoft.NET Framework由应用程序开发技术、Microsoft.NET Framework类库、基类库和公共语言运行库四个部分组成,如图3.3所示,每个较高的层都使用一个或多个较低的层。
图3.3 Microsoft.NETFramework的组成
(1)应用程序开发技术。位于该框架最上端,作为应用程序开发人员的主要对象,包括如ASP.NET和Win Froms等高级编程技术。
(2)Microsoft.NET Framework类库。作为一个综合性类型集合,具备应用程序开发提供一些支持性的通用功能,开发人员可以使用它开发多种模式的应用程序。由ADO.NET数据库访问、LDAP目录服务等类库组成。
(3)基类库。它支持底层操作并提供一系列通用功能,如集合操作、线程支持、代码生成、I/O输入输出、安全和映射等。
(4)公共语言运行库。它既是Microsoft.NET框架的基础内容,又是Microsoft.NET程序的运行环境,执行和管理所有基于Microsoft.NET平台语言的代码。
文中系统的开发基于Microsoft.NET平台,选择C#作为编程语言,开发Win Form应用程序和Web应用程序。Microsoft对C#的描述为:由C和C++衍生,并在C和C++的基础之上发展,结合Visual Basic的高生产率和C++直接访问机器的强大能力产生的一种高级编程语言,它具有简单、现代、面向对象且类型安全等特点。C和C++程序员能够在短期内熟悉它。VisualC#语言具备以下优点:
(1)语法简洁。在默认的情况下,它运行在Microsoft.NET框架提供的“可操作性”环境下。它的最大特色是指针消失了,在C++中被使用的如“→”等操作符也不存在。
(2)面向对象设计。C#语言具备面向对象所应有的所有特性,只允许单继承,每种类型都是一个对象,所用常量、变量、属性、方法、索引和事件等均被封装在类中,这样使得代码的可读性良好,发生命名冲突的可能减少。
(3)紧密结合Web。越来越多Microsoft.NET中的应用程序开发的解决方案需要与Web标准相统一。运用C#语言面向对象的知识与技巧,仅需要使用简单的结构,C#组件将能够方便地为Web服务,通过Internet能被任何操作系统上的任何语言调用。
(4)安全性与错误处理能力强。C#语言提供了完整的安全性能,如类型安全、检查和溢出检查等功能。开发人员在软件开发过程中能够避免很多常见错误,未初始化的变量不能被使用。
(5)版本处理技术。运用C#语言内置的对函数重载和接口的处理方式及特性支持等版本功能,可以使得复杂软件的开发和升级变得方便。
(6)灵活性与兼容性。由于C#语言不具备使用指针这一功能,因此在托管状态下,需要用委托来模拟指针的功能。兼容性是指开发人员仅需具有C和C++语言风格的需要传递指针型参数的API,通过使用简单的程序结构即可实现C#语言组件与其它语言组件间的交互式操作。
5 PDM系统实现的关键技术
支持协同设计的PDM系统实现的关键技术主要包括分布式组件技术、邮件与传输技术及安全技术、数据库技术、客户机/服务器技术等,如图3.4所示。这些技术对支持协同设计PDM系统的开发与实现具有重要的指导意义。
图3.4 PDM系统实现的关键技术
(1)数据库技术。
自第一个数据库IMS于1969年问世后,数据库系统在企业信息管理中重要性越来越明显。其结构从最初的层次数据库,网状数据库发展到今天的关系数据库,面向对象数据库。关系数据库系统是最为成熟的数据库技术,面向对象数据库技术被认为是最具有发展前途的数据库技术。数据库系统作为构成PDM系统的基础,选用得当对PDM系统的开发尤为重要。
(2)客户机/服务器技术。
具备分布式处理、良好的开放性、系统构造灵活和可扩展性及良好的性价比等优点,能够很好处理进程之间“服务”与“请求”的关系。合理安装和配置基于C/S体系结构的PDM系统,能够适应用户提出的各种要求,达到满足不同的业务需要。
(3)分布式组件技术。
起初对象局限于编程语言和源代码级别的重用。组件技术的产生为了二进制级别的重用;而分布式对象技术是为解决组件对象只能在本地进程地址空间内访问这一问题而产生的。可以说,分布式组件技术涵盖了组件技术和分布式对象技术,是二者结合的产物。
运用分布式对象技术访问对象已经发展到跨局域网、跨进程、甚至跨Internet的范围内。当前存在不同的组件模型和实现标准,发展成熟的有OMG的CORBA、微软的COM/DCOM/COM+以及ZeroC的ICE等。为实现跨计算机类型和跨物理位置进行分布式计算,即在计算机之间成功进行数据交换和服务,在组件设计中需要引进设计标准。分布式组件技术作为实现多层结构PDM的基础,还能够最大程度地重用代码。
(4)邮件与传输技术。
由于PDM系统用户的数量非常庞大,不同的用户分散在不同的地理位置上,在工作中为了及时交换不同用户的各种意见,需要建立有效的信息交流手段满足这些功能要求。因此,电子邮件很好地满足当前PDM系统的信息交流的需求。此外,文件传输技术必不可少,文中设计实现的系统功能模块是采用FTP协议来实现文件传输的。
(5)安全技术。
支持PDM系统运行在Internet环境下的通讯协议TCP/IP不是一个安全的协议。因此,需要充分考虑系统安全性因素,防止系统遭遇非法入侵与破坏。当前系统为保证PDM系统的安全性主要采用的技术有:防火墙技术、数据库系统安全性以及PDM系统本身的安全性。
6 小结
为开发适合该企业的PDM软件,本章在研究产品生命周期模型的基础上,首先通过分析总结该汽车企业的现状及其存在的问题,对基于产品生命周期的PDM系统的功能模块进行了详细的设计,提出了C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构;然后为系统的开发选定了开发平台、数据库和开发语言;最后阐述了PDM系统实现的关键技术。
通过调研某汽车企业目前在信息管理方面的实际情况,发现存在以下这些问题:
(1)图档安全性问题。
设计数据和技术文档分散储存在设计者的计算机内,缺乏保密措施,容易被非法拷贝,一旦计算机损坏会造成数据丢失,给公司造成巨大损失。
因此,所设计的PDM系统需要保证图档的安全性。图档的安全性问题体现在对图档操作的权限上,为避免非法删除、剪切以及拷贝等数据丢失或被窃取的严重后果,就必须保证用户对图档的操作是在该用户的允许的权限范围之内。
另外,在图档存储方面,若是直接把图档存储在数据库中便无法保证信息资料的安全性。因此,严密的权限管理方案以及采取特殊形式实现图档存储是保证图档安全的必要条件,这样才能使得企业的信息财产得以保护。
(2)图档管理。
由于设计软件多样化和缺少合理的管理机制,造成数据分散、零乱,图档查询与共享极不方便。版本管理是图档管理的关键功能之一,选择的版本管理模型以及相应的算法是否高效,对图档管理的质量产生直接的影响;图档的高效查询已不再一个难点问题,但如何使查询更快速有效还需进一步深入的研究和探讨,影响查询速度的因素有数据量的大小、数据表的设计和数据的存储情况等。因此,深入研究数据表的设计和图档的存储方法进行,以便实现高效查询。
(3)工作流管理。
图文档的审批流程停留在人工审批阶段,缺乏规范的工作流程,无法记载归档时的审批记录,更改比较随意,降低了企业技术部门的生产效率。企业设计信息审批流程的工作流程为:设计→校对→审核→发布,更改流程:发送更改请求→编制更改文件→校对更改文件→审核更改文件→发布。企业工艺规程编制审批流程的工作流程为:编制→校对→审核→发布,更改流程:发送更改请求→编制更改文件→校对更改文件→审核更改文件→发布。
(4)客户需求管理。
该企业在客户需求管理方面尚未实现数字化管理,使得客户的需求难以快速反馈给企业相关部门。
(5)与三维CAD集成。
该公司的CAD系统主要包括有:SolidWorks、AutoCAD和CAXA等,各系统产生的文件无法在设计、工艺和生产制造部门间有效地实现共享。选择合理的集成模式,是实现信息集成与共享的必要条件,也是本论文需要解决的一个问题。
(6)与CAPP集成。
CAPP系统没有与企业管理软件集成较好地集成,不能共享其中的零件、材料、设备等数据,造成了大量的数据冗余,影响了整个企业的生产周期、效率和质量。
(7)与CAM集成。
CAM产生的数据文件独立存放,无法实现产品生命周期数据的共享,严重影响了整个企业的生产效率。开发的PDM系统不仅要能够有效解决当前企业存在的上述问题,还需要满足以下要求:
(1)软件质量需求。
运行稳定、可操作性强、兼容性好、有一定的安全保障。
(2)用户界面需求。
标准、大方、简洁、美观、易用易懂、具备一定的兼容性。一个好的应用系统需为用户提供友好的人机界面,可以使用户很容易的了解各部分功能并可以轻松的使用;出错时应有相应的提示信息,可以使用户明白出错原因并能做相应的处理。
(3)其它需求。
系统应用要面向整个公司,因此要求用户对计算机的熟悉程度跨度要大,特别是对有些资深的设计人员,他们是实际工作中的核心骨干,他们是否认可、是否能掌握,是系统成功实施的关键。所以,设计开发的系统需满足以下要求:学习过程简单,培训时间短;系统各功能操作起来简单、明了;系统的容错能力强;有帮助文件,帮助用户熟悉系统的操作。
2系统的功能模块设计
根据第二章构建的产品生命周期模型和传统的PDM体系结构图及其相应的功能模块,再结合本课题的要求,本系统主要实现以下功能:用户权限管理功能、图档管理中的快速查询、检索、以及图档的变更、修改、删除等功能、产品结构与配置功能、工作流管理功能、与CAD系统的集成,与CAPP系统的集成和与CAM系统的集成等。
根据上一节的需求分析,可以将系统分为以下几个功能模块:
(1)登录模块。
主要用于对进入PDM系统的用户进行安全性检查,以防止非法用户进入该系统。结合用户名、角色及其密码,只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的权限。
(2)用户权限管理模块。
包括用户信息管理、密码更改管理、用户权限设置管理和系统用户管理,用户信息管理包括查看用户相关信息和对系统用户进行添加、修改和删除的操作;密码更改管理是用来更改用户登录时的密码;权限是对系统中的数据或者用数据表示的其它资源进行访问的许可,用户权限设置管理包括权限设置,可对访问系统资源的用户进行权限的分配;系统用户管理用于设置或修改用户在登录系统时的权限、角色和密码,将用户和权限通过角色这一桥梁联系在一起,根据该用户的岗位职责来定义用户的角色,再根据角色赋予一定的权限,这样就确定每个用户的权限,来限定不同用户的对资源的使用权限。
(3)客户需求管理模块。
主要用于反馈客户对产品的需求信息,企业根据用户需求进行产品设计;当产品发生故障需要维修时,这一信息能及时反馈给企业维修部门,维修部门指派维修人员对需要维修的产品进行修理。
(4)项目管理模块。
产品的相关设计由立项开始,系统管理员负责填写新建项目的相关信息,并且为不同角色的工作人员分配任务。
(5)图文档管理模块。
设计人员根据接到的设计任务,在完成设计后将图档上传到共享区,再进行到工作流管理模块中。图文档管理模块包括设计阶段信息管理、工艺阶段信息管理、制造阶段信息管理、维修阶段信息管理和图文档查询。
图档浏览可以利用AutoVue浏览器,其ActiveX控件可以嵌入到网页中,也可以嵌入到桌面软件界面中,可以用它来直接浏览、商业格式文档、标注450种以上的常用工程,并可以完全保留原始文档的完整性及安全性,支持局部观看、图形的缩放、标注、移动、打印等功能。
图档查询是在良好的用户界面上,提供简单查询和组合查询等查询方式,并可以显示搜索的结果。图纸修改和删除就是对于已经入库的图纸,进行选择性的修改或删除,修改就是对数据库中图纸的属性进行修改,如设计单位、设计者等;删除就是把己经入库的图纸进行删除,同时删除数据库中有关记录该图纸的信息。图档版本管理就是通过保存历史版本和设定当前版本来对图档进行的有序管理。
(6)工作流管理模块。
当设计人员成功将完成设计后的图档上传至共享区后,图档进入审批流程。这时,待完成的任务及其详细信息自动出现设计校对员和设计审核员各自的工作界面,告知流程中各个人员需要完成的工作。
校对员和审核员批注图档,并将修改意见和建议反馈回设计员。如此往复,直到通过审核,最后完成设计图档归档入库。随后,流程进入到产品的工艺阶段,工艺校对与审核流程原理同设计校对与审核流程相同,直到工艺审核通过,工艺数据归档入库,进入到产品的制造阶段。
针对销售后出现质量问题的产品,经相关人员反馈给维修员,维修员参照相关手册与规范填写维修信息卡,维修完成后,上传维修信息卡、填写维修相关信息,当产品报废后,工作流管理结束。在流程过程中支持在PDM环境下实现图文档的预览与批注、打印功能。并且该模块支持工作流的追踪,能够使得用户方便快捷地在查看工作的进展。
(7)CAD集成模块。
本课题基于Solid Works2010(三维CAD平台)和开发的小型PDM系统进行了CAD/PDM集成的开发,提出了以封装与接口模式相结合实现Solid Works与PDM双向集成,实现了PDM系统中产品结构树的自动生成,并且在CAD系统中设计开发了集成PDM系统功能的插件,保证了数据的完整性和一致性。
(8)CAPP集成模块。
以封装模式实现CAPP和PDM的部分功能集成,使得CAPP系统能够获取PDM系统中产品生命周期的相关信息,参照相关工艺文件,进行工艺编制。在PDM系统中建立工艺工作流模型,完成工艺的审批流程。CAPP产生的工艺文档由PDM统一管理。
(9)CAM集成模块。
由于CAM系统与PDM系统之间只有刀位文件、NC代码、和工艺信息等文档信息的传递,所以,一般采用封装模式就可以满足两者之间的信息集成要求。以封装模式实现两者的集成,使得CAM产生的加工仿真数据和NC代码等相应文档由PDM统一管理,并且在PDM系统中能够启动CAM系统,利用PDM系统中产品生命周期的相关制造信息进行产品制造。
(10)系统维护。
系统的维护模块包括数据库的备份与还原。将上述功能模块结合在一起,最后得到系统功能模块图,如图3.1所示。
图3.1 PDM系统功能模块
3 系统的体系结构
3.1 C/S结构与B/S结构
客户机/服务器(Client/Server)结构作为一种典型的二层结构,根据功能的不同分为两部分:服务器的作用是处理数据库;客户端的功能是处理请求服务、应用程序。浏览器/服务器(Browser/Server)结构发展源于传统的客户机/服务器结构,消息传递机制是利用HTTP协议,客户端利用浏览器进行访问服务器,发出服务请求,服务器根据相应的请求,进行相应的处理后将响应结果返回给客户端。
C/S结构与B/S结构比较如下表3.1所示:
3.2系统的体系结构
对比C/S结构与B/S结构的优缺点,根据企业当前实际情况与业务需求,在研究PDM系统的一般体系结构与产品生命周期建模的基础上,系统的功能划分为两部分:企业内部采用C/S结构实现PDM系统的基本功能和企业外部用户使用B/S结构实现系统的扩充功能。因此,文中提出了C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构,它包含以下四个层次,如图3.2所示:
(1)用户层:为整个企业和客户提供用于信息交互的客户端应用程序和浏览器:企业的内部人员使用客户端应用程序实现信息共享,以减少网络的负担和维护系统的安全;企业的客户则使用浏览器及时进行产品订购、查看订单等服务。
(2)应用功能层:不仅包含图文档管理、产品结构与配置管理、工作流管理和项目管理等面向企业内部的PDM系统中的主要功能,还应具备面向企业外部的客户需求管理、维修服务等功能,及时获取客户的需求。
图3.2 C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构
(3)系统服务层:能够通过数据库接口向下连接并操纵数据库;通过内部接口向上提供数据服务和业务逻辑服务;以及向协作企业的数据管理系统提供外部接口提供接口。
(4)数据层:为系统提供支撑环境,包括数据库、网络、通讯协议和异构分布的操作系统等。
4 PDM系统开发工具
4.1 客户端开发工具的选择
Microsoft为开发应用程序创建了Microsoft.NET Framework,它是一个富有革命性的新平台,是Windows的一个内部组件,支持生成和运行下一个应用程序和XML Web Services。它提供的程序环境一致,不仅可执行本服务器上的代码,还可执行远程服务器的代码;提供了一个软件部署且代码安全性能高的执行环境;是一个基于Microsoft.NET Framework的代码,可与其他代码很好集成的标准,具备多语言支持、多平台支持、功能强大、可收缩性强等特点。
Microsoft.NET Framework由应用程序开发技术、Microsoft.NET Framework类库、基类库和公共语言运行库四个部分组成,如图3.3所示,每个较高的层都使用一个或多个较低的层。
图3.3 Microsoft.NETFramework的组成
(1)应用程序开发技术。位于该框架最上端,作为应用程序开发人员的主要对象,包括如ASP.NET和Win Froms等高级编程技术。
(2)Microsoft.NET Framework类库。作为一个综合性类型集合,具备应用程序开发提供一些支持性的通用功能,开发人员可以使用它开发多种模式的应用程序。由ADO.NET数据库访问、LDAP目录服务等类库组成。
(3)基类库。它支持底层操作并提供一系列通用功能,如集合操作、线程支持、代码生成、I/O输入输出、安全和映射等。
(4)公共语言运行库。它既是Microsoft.NET框架的基础内容,又是Microsoft.NET程序的运行环境,执行和管理所有基于Microsoft.NET平台语言的代码。
文中系统的开发基于Microsoft.NET平台,选择C#作为编程语言,开发Win Form应用程序和Web应用程序。Microsoft对C#的描述为:由C和C++衍生,并在C和C++的基础之上发展,结合Visual Basic的高生产率和C++直接访问机器的强大能力产生的一种高级编程语言,它具有简单、现代、面向对象且类型安全等特点。C和C++程序员能够在短期内熟悉它。VisualC#语言具备以下优点:
(1)语法简洁。在默认的情况下,它运行在Microsoft.NET框架提供的“可操作性”环境下。它的最大特色是指针消失了,在C++中被使用的如“→”等操作符也不存在。
(2)面向对象设计。C#语言具备面向对象所应有的所有特性,只允许单继承,每种类型都是一个对象,所用常量、变量、属性、方法、索引和事件等均被封装在类中,这样使得代码的可读性良好,发生命名冲突的可能减少。
(3)紧密结合Web。越来越多Microsoft.NET中的应用程序开发的解决方案需要与Web标准相统一。运用C#语言面向对象的知识与技巧,仅需要使用简单的结构,C#组件将能够方便地为Web服务,通过Internet能被任何操作系统上的任何语言调用。
(4)安全性与错误处理能力强。C#语言提供了完整的安全性能,如类型安全、检查和溢出检查等功能。开发人员在软件开发过程中能够避免很多常见错误,未初始化的变量不能被使用。
(5)版本处理技术。运用C#语言内置的对函数重载和接口的处理方式及特性支持等版本功能,可以使得复杂软件的开发和升级变得方便。
(6)灵活性与兼容性。由于C#语言不具备使用指针这一功能,因此在托管状态下,需要用委托来模拟指针的功能。兼容性是指开发人员仅需具有C和C++语言风格的需要传递指针型参数的API,通过使用简单的程序结构即可实现C#语言组件与其它语言组件间的交互式操作。
5 PDM系统实现的关键技术
支持协同设计的PDM系统实现的关键技术主要包括分布式组件技术、邮件与传输技术及安全技术、数据库技术、客户机/服务器技术等,如图3.4所示。这些技术对支持协同设计PDM系统的开发与实现具有重要的指导意义。
图3.4 PDM系统实现的关键技术
(1)数据库技术。
自第一个数据库IMS于1969年问世后,数据库系统在企业信息管理中重要性越来越明显。其结构从最初的层次数据库,网状数据库发展到今天的关系数据库,面向对象数据库。关系数据库系统是最为成熟的数据库技术,面向对象数据库技术被认为是最具有发展前途的数据库技术。数据库系统作为构成PDM系统的基础,选用得当对PDM系统的开发尤为重要。
(2)客户机/服务器技术。
具备分布式处理、良好的开放性、系统构造灵活和可扩展性及良好的性价比等优点,能够很好处理进程之间“服务”与“请求”的关系。合理安装和配置基于C/S体系结构的PDM系统,能够适应用户提出的各种要求,达到满足不同的业务需要。
(3)分布式组件技术。
起初对象局限于编程语言和源代码级别的重用。组件技术的产生为了二进制级别的重用;而分布式对象技术是为解决组件对象只能在本地进程地址空间内访问这一问题而产生的。可以说,分布式组件技术涵盖了组件技术和分布式对象技术,是二者结合的产物。
运用分布式对象技术访问对象已经发展到跨局域网、跨进程、甚至跨Internet的范围内。当前存在不同的组件模型和实现标准,发展成熟的有OMG的CORBA、微软的COM/DCOM/COM+以及ZeroC的ICE等。为实现跨计算机类型和跨物理位置进行分布式计算,即在计算机之间成功进行数据交换和服务,在组件设计中需要引进设计标准。分布式组件技术作为实现多层结构PDM的基础,还能够最大程度地重用代码。
(4)邮件与传输技术。
由于PDM系统用户的数量非常庞大,不同的用户分散在不同的地理位置上,在工作中为了及时交换不同用户的各种意见,需要建立有效的信息交流手段满足这些功能要求。因此,电子邮件很好地满足当前PDM系统的信息交流的需求。此外,文件传输技术必不可少,文中设计实现的系统功能模块是采用FTP协议来实现文件传输的。
(5)安全技术。
支持PDM系统运行在Internet环境下的通讯协议TCP/IP不是一个安全的协议。因此,需要充分考虑系统安全性因素,防止系统遭遇非法入侵与破坏。当前系统为保证PDM系统的安全性主要采用的技术有:防火墙技术、数据库系统安全性以及PDM系统本身的安全性。
6 小结
为开发适合该企业的PDM软件,本章在研究产品生命周期模型的基础上,首先通过分析总结该汽车企业的现状及其存在的问题,对基于产品生命周期的PDM系统的功能模块进行了详细的设计,提出了C/S和B/S混合模式下基于产品生命周期的PDM系统体系结构;然后为系统的开发选定了开发平台、数据库和开发语言;最后阐述了PDM系统实现的关键技术。