PDM工作流管理模块的实现

【导读】
当前,“以信息化带动产业化,以工业化促进信息化”已作为战略方针被提出并受到了广泛的重视。随着信息化的进程,CAD、CAPP、CAM等软件被中小企业广泛应用,而且因为客户对产品个

4.1基于中小型企业PDM系统的介绍
4.1.1系统需求分析


   当前,“以信息化带动产业化,以工业化促进信息化”已作为战略方针被提出并受到了广泛的重视。随着信息化的进程,CAD、CAPP、CAM等软件被中小企业广泛应用,而且因为客户对产品个性化的要求越来越高,造成企业对产品设计的管理要求也越来越高,因此,如何将大量的电子文档进行有效的管理、利用以及集成成为当务之急。
 
 
   然而,大部分PDM的功能过于完善强大,实施项目做得比较大,价格在几十万到几百万之间,导致只有少部分“富企”才能享用,普通的中小企业根本无福消受。当企业把这昂贵的PDM买回应用起来之后,就会发现购买了很大比重都用不到的功能,不仅花费了许多冤枉钱,还为此搭进了大量的人力、物力。
 
 
   我们所推出的“基于中小型企业的PDM系统”,它针对中小企业出现的主要矛盾、抓住中小企业只需要进行图文档管理工作流程管理产品配置管理的核心,去除许多其他不必要的功能,使PDM变得更精练、更实用,满足中小企业的急切需求,而且降低了项目实施难度和跨度,使成本大大地降低。
 
 
   该软件系统用于企业的产品技术数据计算机辅助管理。该系统同时面向企业各个部门,实现数据信息资料的网上传输和控制。该系统具有项目数据录入、各种格式报表、详单查询、用户级别限制、口令限制等。系统的用户可分为三大类,设计人员(直接在终端操作),部门管理人员,其他管理人员(如系统管理员)。系统采用B/S和C/S相结合的结构化设计,便于维护和修改。本系统应具有较强兼容性和较长生命周期,具备软件版本升级能力。系统输入、处理、输出、连接、存储等硬件采用通用设备,维护更换方便。
 
 
4.1.2系统设计
4.1.2.1系统的总体框架设计

   一般的业务生成工具分为两种模式:Client/Server、Browser/Server,这两种模式各有优缺点,比较如表4-1:
 
 
 
   通过对企业的需求分析及目前大量应用WebServer新技术,再根据以上比较我们选择采用基于B/S与C/S混合结构,分为表示层、中间层、数据层如图4-1。
 
图4-1系统体系结构
 
 
   表示层用来实现PDM系统的应用集成,并提供用户使用的PDM系统界面。
   中间层是整个PDM系统的核心,它向下提供对异构操作环境和异构数据环境的支持,向上提供对多种操作界面的连接和事务处理支持。中间层可划分为接口与协议层、组件管理与访问控制层、应用系统集成层等3个子层。接口与协议层主要为组件管理与访问控制层提供透明的数据接口、数据结构和交互协议,以屏蔽异构的底层环境;组件管理与访问控制层主要为系统中的分布式应用提供服务。数据控制负责对合法的访问请求进行定向,并对中间数据提供缓存、备份等服务,安全控制保证所有对数据的操作都是合法的,禁止系统外的非法数据访问;应用系统集成层实现系统的主要功能。
 
 
4.1.2.2系统建模
   一、面向对象的基本概念面向对象技术在信息建模方面的应用越来越普遍,PDM系统作为信息管理系统的分支,采用面向对象技术,不仅因为面向对象是目前信息系统普遍采用的建模方法和实现基础,更重要的事,PDM系统是一个面向工程信息管理的集成平台或集成框架。它要适应不同企业的不同工程信息管理的需求,而这种需求是千变万化的,任何一个PDM系统都不能保证其提供的功能可以不加调整就能适应各种用户的需求。因此为了既能保证系统模型的可扩充性和继承性,又能保证系统功能的相对稳定性,只有采用面向对象技术才能解决这些问题。相关概念如下:
 
   1)对象:就是描述客观世界的实体。自然实体对象在计算机系统中的内部表示被称为软件对象。在面向对象的系统中,对象是外部属性数据上允许操作的抽象封装。
   
   2)类:具有相同属性和允许操作的一组对象的一般描述,称之为对象类,简称类,类中的每一个对象都是该类的对象实例。或者说,对象类给出同类的一组对象的定义,同一类中的对象共享公共语义,但他们可以从其不同属性值和与其他对象的不同关系中体现其特征。

   3)属性:表达了类的对象所具有的资源。属性的类型可以是系统或用户定义的数据类型,也可以是一个抽象的数据类型。在一个类中,每个属性名要求是唯一的。对于一个给定的属性而言,不同的对象实例可以有相同或不同的属性值。

   4)方法:定义在对象属性上的一组操作称为方法。方法体现了对象的行为能力。对象的属性除了定义为公有外,只能通过方法来访问。对象向外界提供访问的方法接口,而方法的实现则封装在对象中。

   5)消息:对象之间相互通信的一种方式,由发送对象向接受对象发出的调用某个对象操作的请求,必要时还包括适当的参数传递。接受对象收到请求消息后,就按请求消息中指定的操作和参数来执行。对象间传送的消息一般由三部分组成,即接受对象名、调用对象名和必要的参数。对象操作执行的结构输出,可能还要返回给发送对象。
 
 
二、面向对象建模方法

   面向对象方法包括面向对象分析、面向对象设计和面向对象编程三个方面。从建模角度考虑,主要涉及前两个方面,而与面向对象编程无关。
 
   1、面向对象分析
   面向对象分析的目的是要构造能够理解实际系统的模型。分析的基本过程如图4-2所示。分析模型强调三个方面:对象模型、动态模型和功能模型。模型用对象、关系、动态控制和功能转换等来描述,并不断获取需求信息,且把客户间的交流贯穿整个分析过程。
 
图4-2面向对象分析过程
 
   ①对象模型:描述对象、类以及类之间的相互关系。它首先要确定对象集合,识别对象类及其属性;其次要确定对象类之间的关系,主要有一般化与特殊化的关系、聚合关系以及关联关系等。
 
   ②动态模型:包括内部应用中的事件流,即事件跟踪;每个对象的动态的合法状态序列,即对象状态转化图。在对象系统中,对象之间通过消息传递来协同工作,对应于系统的每一项任务,都有一组对象上的一组消息传递及动作来完成该任务。每个对象系统协作的动作性质可以由一组事件序列来描述。
 
   2、面向对象设计
   面向对象设计包括系统设计与对象设计。系统设计是为了实现需求目标而对软件的系统结构进行的总体设计,包括系统层次结构设计、系统数据存储设计、系统资源访问设计、网络与分布设计、并发性设计、对象互操作方式设计等。对象设计是根据具体的实施策略,对分析模型进行扩充的过程。
 
 
   对象设计包括:表态结构设计,即人机界面的对象模型、资源访问和数据存取的对象模型、网络访问支持的对象模型以及应用系统功能模型对应的对象模型;动态行为模型设计,即根据设计时获得的表态结构,对动态行为分析模型进行相应的扩充,获得完整的动态行为模型,然后将动态行为模型转换为对象模型中的操作来实现。通过对象设计及系统设计就可以获得设计模型,从而奠定了系统实现的基础。
 
   根据以上分析,我们总结出基于中小型企业的PDM系统的功能图4-3、E-R图4-4及数据流图4-5如下:
 
图4-3基于中小企业PDM系统功能图
 
 
图4-4基于中小企业PDM系统E-R图
 
 
图4-5基于中小企业PDM系统数据流图
 
 
4.1.2.3流程管理功能设计

   经过研发过程中的综合分析,系统需要在多个部门之间传递业务数据,既有结构化的表单数据(表格),又有半结构化的公文、报表,还有非结构化的特定格式的图形数据,如以图件形式呈报的材料需要在系统中加以保存,如产品设计图等,由此看出,这是一个复杂的系统。现有的工作流产品中,没有一种比较完美的方案能解决上述问题。
 
 
   目前市场上用得比较多的基于消息的群件产品Domino Notes具有工作流的概念,广泛应用于构建办公自动化的平台,但它本身并不能满足工作流要求的许多特性,必须依靠第三方解决方案供应商来提供,造成系统的购买、实施与使用成本上升。并且,基于消息的群件产品直接支持的是非关系型数据库,数据都是存储在非关系型数据库中,无法实现统计、监控、运算等企业工作流应用中常见的要求,故对于统计、排序、报表功能等难以实现,虽然也可以通过编程来访问关系型数据库,但都需要大量的额外开发工作和专业人员才能实现,而且运行效率远不及基于关系型数据库的工作流解决方案。在所开发系统中工作流引擎在新业务到来时实现的功能和流程如图4-6所示。
 
图4-6工作流引擎所实现的功能
 
 
   由上图可知:
   1、工作流中的任务要处理各种各样的信息即产品数据,包括产品支持数据、产品定义数据和工作流数据。这些产品数据通常表现为各种形式的工程技术文档。产品支持数据包括:各种标准、规范、标准件、通用件数据、销售数据等。产品定义数据包括:产品定义模型、产品图、BOM表、设计文件、计算书、工艺文件和NC程序等。工作流数据是指完成任务过程中发放、变更、审批、签字等各种数据。
 
   2、这些产品数据是在工作流的任务中由用户利用一定的工具生成并不断富、细化和完善的,直至形成最终的产品结构。产品数据随任务的时序先后产生,只有在前一任务(时序角度)的输出数据产生后,后一任务才能开始,当前任务的输出数据全部完成后才能结束。因此,产品数据是任务的“触发器”,决定任务的状态,推动工作流的进行,从少到多的生成过程。因此,工作流是产品数据的处理过程,产品数据是工作流管理的基本对象。
 
   3、在工作流中,不同的任务要由不同的角色来执行。不同的角色权限各不相同。
 
 
4.1.2.4其它主要功能设计
 
   1、权限管理:本系统的管理是由任务分配来决定的,因此系统中权限管理包括角色管理、角色分配、权限管理、权限分配四个部分。

   2、项目管理:系统的项目管理主要完成项目的初始化信息录入、负责实现项目计划制定、项目任务分派、项目过程控制、项目资料状态标识和实时监控等业务过程管理功能。在本系统中,任务在分配的过程中不断细化为相应的子任务,每当一个任务下发后,系统会触发相应事件,使该任务出现在接收人员的任务列表中。在项目中,校对、评审以及申请更改都看作是相应的子任务,按定义好的固定流程执行。同时,在每一个任务发送或相应的互操作发生时,系统都会自动发送信息提示邮件,项目负责人个设计人员互相的信息交流也可以通过发送电子邮件进行。
 
   3、文档管理:文档管理的功能包括:文档的分类存放、文档信息的查询、文档内容的检索及文档版本的控制和管理等等。在文档管理中,如何做到科学的存放文件,方便的检索文件及文件传输的迅速可靠,是实现一个PDM系统的关键和基础。
 
 
   数据库存取方式是将文档按照分类存放在数据库中。数据库按照某种方式将这些文档组织和存储起来。当需要把某份文档发送给用户时,数据库服务器后台进程首先将该文档从数据库中取出,再通过网络传给发出数据请求的数据库事务对象,此事务对象可以在直接点击查看,也可以通过下载保存到本机上查看。
 
 
   当用户需要把文档提交时,PDM系统首先将本地文档读入内存,然后通过数据库事务对象将这些数据提交到服务器中。同时,文档的一些信息,如名称、大小、分类等等,都同时存入数据库中,并且与文档相关联,用户可以根据这些关联实现对文档的检索。在技术实现上,很多关系数据库都支持对大字段的操作,各种前端开发工具如VB.NET等,完全适合一般PDM系统的文档存储,这方面的资料也比较多,给开发带来了便利。
 
 
   同时,利用数据库自身的机制,可以很容易的实现文档的版本控制。对文档的安全性的保护可以通过数据库的安全设置和PDM的权限设置来完成。本系统文档管理中文件的传送都是通过数据库来实现的,可靠性比较高,可以保证文件的有效性和完整性,文件操作的安全性好。
 
 
   4、产品结构与配置管理:利用树状结构直观、准确的把产品结构表达出来,而且可以按用户的要求输出材料明细表、结构明细表等。结构管理的另一工作就是配置管理,对一个产品(项目)而言,用户可以构建包含所有配置的零部件的结构树,然后激活该产品的任一配置,系统则会排除所有不符合该配置的零部件,而把符合该配置的结构树留下来。
 
 
   此时留下的结构树即为系统配置的全部零部件,不多也不少。这种设计使得在不同配置中多次出现的零部件在全配置树中只出现一次,降低了用户的信息输入量,也减少了信息管理的复杂程度。
 
 
4.2基于中小型企业PDM系统中工作流程管理的实现
4.2.1基于关系结构的轻量级工作流引擎

 
   基于关系型结构就是利用关系结构实现PDM中的各种数据模型的表达,并通过关系型数据库管理系统中所提供的存储过程、包以及触发器等机制来实现PDM工作流引擎运作的各种程序逻辑,同时通过数据库系统所提供的并发机制实现PDM中事务处理的并发控制。
 
 
   所谓基于关系结构的轻量级工作流引擎是指在工作流管理中,利用传统的关系数据库定义工作流数据模型,利用内嵌的编程语言来实现工作流引擎的控制逻辑,并提供一系列比较完备的应用程序接口以实现PDM系统中有工作流性质的相关应用的产品。
 
 
   轻量级关系型工作流引擎从够用、灵活和低成本的设计原则出发,不追求工作流引擎的功能的完备和复杂,只是实现其中必不可少的功能和特征。在设计工作流引擎时主要考虑对其数据模型的定义和解释、活动之间的协调以及任务的分配和控制等功能提供支持,而不支持提供内建的应用开发工具、对应用数据的定义和完整性维护、完善的异常处理以及长事务控制等功能。
 
 
   就PDM中对工作流管理的要求而言,在设计工作流引擎时主要考虑对其数据模型的定义和解释、活动之间的协调以及任务的分配和控制等功能提供支持,而内建的应用开发工具、对应用数据的定义和完整性维护、完善的异常处理以及长事务控制等功能均通过关系型结构利用关系型数据库管理系统的特点和提供的相关功能来实现。
 
 
   利用关系型结构通过关系型数据库管理系统所提供的强大功能,降低工作流引擎开发和应用的难度。就工作流引擎本身的开发而言,与工作流引擎相关的各种控制数据(包括业务活动的状态数据)可以存储在数据库系统中,与此相关的数据的完整性可以由数据库管理系统来维护;利用关系结构可以方便地定义工作流引擎中的各种数据格式和数据结构;可以方便地利用数据库管理系统提供的语句来操纵工作流引擎所需的各种数据。
 
 
   就以工作流引擎开发应用系统而言,一般的应用系统通常会采用一个常规的关系数据库系统作为后台的支撑,在同一数据库环境下为开发者提供一个基于关系结构的工作流引擎,应用系统的开发者可以采用熟悉的并且适合此数据库系统的前端开发工具在现有的工作流引擎的基础上来开发具体应用。因此,采用基于关系结构的工作流引擎很容易与应用的开发环境做到无缝的集成。
 
 
4.2.2工作流引擎的设计与实现

   本文设计的轻量级关系型的工作流引擎并不完全实现WfMC所提出的工作流模型包含的五个接口,特别是接口4,在分布式工作流管理系统才具有该接口。既然从轻量级的概念出发,在本文中就不再明显区分各个接口的界限以及其所具有的特定的功能,以够用、灵活和低成本的设计原则去设计出作者所理解的工作流引擎。
 
 
   系统的目标是建立这样一个系统,使得信息系统的流程定义和具体的应用程序分开,这样在用户的业务流程发生变化时,只需根据工作流程、人员变动、数据内容的改变进行工作流和动态表单的重新定义,而不需要修改应用程序,从而使信息系统具有较强的灵活性和自适应能力。
 
 
   因此,在本系统中,业务流程可以看作是核心部分,是整个系统的主线,系统的设计也正是基于此主线设计的。业务流程管理是系统模型的核心部分,它集中解决了各模块的协作问题。本系统采用基于数据库的工作流技术,即在数据库中定义工作流模型部分环节的活动序列,建立任务队列表及任务进展表,同时发送电子邮件和互操作消息。
 
 
   这一方法非常适用于有并行选择分支结构的工作流模型,把每个选择分支看作一项任务,任务的活动序列由数据库的任务活动列表定义,不是由程序定义,通过添加任务活动列表中的记录,可方便地增加任务类型(即增加选择分支)。修改任务流时只需修改任务活动列表中相应记录的值,无需修改程序。因此,利用数据库控制工作流程的方案可提高工作流的柔性,便于工作流的维护。
 
 
   由以上分析可知整个系统的流程运行为:对于企业中的一个新业务的出现,用户通过浏览器对服务器端进行登录访问,在服务器端的工作流引擎获得用户信息后,判断用户权限,通过触发器激活工作流引擎数据库,将客户端的服务请求转化为对数据库的访问。
 
 
   工作流引擎负责调度与监控系统业务中各任务的执行与分发,同时启动逻辑处理模块向用户发布工作任务列表,使其对新业务进行处理。当某一新业务到来时,系统根据客户端对服务端进行访问时所发出的信号获知此信息,系统分析该新业务,从业务流程控制库中获取定义。逻辑控制模块生成新的系统任务,将该流程所涉及的所有活动列入工作列表中。当前用户(角色成员)对新任务进行处理后,引用业务流程控制库中流程的具体定义,确定下一角色成员,将处理过的任务转入下一用户,直到完成业务流程控制库中对此业务的流程定义。工作任务列表是逻辑控制模块根据业务和业务流程库生成的动态数据库。它用于记录目前系统还未处理或尚未办完的任务。
 
 
4.2.3数据库支持

   在PDM系统中需要使用大量数据,我们选择了关系型数据库SQL(Structured Query Language)Server2000。它是Microsoft公司推出的数据库管理系统,是当前非常流行的数据库管理系统之一,拥有较大的市场占有率和广泛的用户群体。
 
 
   关系数据库的一个特点是建立关系模型,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型给出了关系操作的能力,常用的操作包括查询操作和增加、删除、修改操作两个部分。查询的表达能力是其中最重要的部分。
 
 
   关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型中必须满足的完整性约束条件。应该由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域的语义约束。
 
 
   因此,我们确定了工作流程的E-R模型图,在该图中通过项目负责人实现联系,见图4-7。数据库设计是建立数据库及其应用系统的技术。具体的说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库系统和其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。本系统设计部门完成的设计任务包括:设计图纸的提取信息,新图纸的设计信息,图纸的校对信息,图纸的审核信息。
 
 
   1、设计图纸的提取信息包括:输入已有图纸名、已有图纸管理部门、图纸提取部门、图纸提取后所放位置、图纸提取人员、图纸下达人员。

   2、新图纸的设计信息包括:新图纸名、设计人员、存放位置、设计日期。

   3、图纸校对信息包括:图纸校对人、校对日期、校对情况、校对后提交审核人。

   4、图纸审核信息包括:图纸审核人、提交日期、提交人、审核批复情况。
  
 
图4-7流程管理E-R图
 
 
   IPO图如下图4-8。
   设计部门设计
 
   数据字典表如下:
 
 
   业务流程图如4-9:
 
图4-9业务流程图
 
4.2.4工作流管理模块的实现

   实现工作流管理大致分为两个阶段:一是设计阶段,由操作人员从企业业务流程中抽象出工作流模型,并在工作流定义工具的辅助下,编辑、输入到工作流模型库中。二是运行阶段,工作流管理系统生成模型实例后,交由工作流引擎解释执行。工作流引擎按照定义,调度完成任务所需要的资源包括数据和角色等,控制任务的开始、结束及其内部运行状态,维护工作流中文档和数据的流向及对它们的操作,从而推动整条工作流的运行。
 
 

  • 2018-11-14 11:04
  • 我要分享:
声明:文章"PDM工作流管理模块的实现"为XXX公司原创文章,转载请注明出处,谢谢合作!您所在位置:PLM系统 > PLM新闻 > PDM资讯 >

联系清泰代表

热门文章
热门标签