PLM过程管理解决方案

PLM系统中过程管理是管理所有与产品开发相关的数据、人员和过程的技术,它集中数据管理、团队组织和过程协调于一体,依靠优化的进程、高效的组织和精确的控制来达到提高产品开发质量、

产品应用

plm

过程管理

PLM系统中过程管理是管理所有与产品开发相关的数据、人员和过程的技术,它集中数据管理、团队组织和过程协调于一体,依靠优化的进程、高效的组织和精确的控制来达到提高产品开发质量、缩短产品开发周期和降低成本的目的。它包括过程描述、过程诊断、过程设计、过程实施和过程维护等步骤。过程管理用来定义和控制数据操作的基本过程,它主要管理当用户对数据进行操作时会发生什么,人与人之间的数据流向以及在一个项目的生命周期内跟踪所有事务和数据的活动。

 
它是支持工程更改必不可少的工具。过程管理注重具体过程的识别、分析、设计以及在整个生命周期中对过程加以维护。同时借助过程失效模式和影响分析、过程质量功能配置、计算机仿真和优化技术、数据采集和统计分析等工具对企业活动中的具体过程系统地、定性定量地进行识别、分析诊断、设计优化和不断改进完善,其主要诀窍是,在不同的过程管理阶段能够选用最合适的辅助工具。
 
过程管理理论和方法能够使得企业根据自己的特点以较小的风险、渐进地、动态地和稳定地改进和完善生产组织和管理。由此可见,过程管理是一种容易接受的、风险较小的不断改进和完善企业管理和过程的定性和定量的方法手段,不仅对提高各种类型企业的管理水平有重大的意义,而且通过过程管理对企业的各种业务过程进行优化,可以为企业进一步实施信息化打下良好的基础。
 
工作流与过程管理
工作流管理技术是实现企业业务流程管理自动化的一项重要技术。其主要目标是通过调用相关信息资源与人力资源来协调业务过程中的各个环节,使之按照一定顺序依次运行,从而实现业务流程的自动化。流程的构造则是建立在对企业中各种业务流程的分析结果上的。在这个过程中,各类产品数据和任务都根据设定的规则,从一个人/地方传送到另一个人/地方。
 
工作流的相关概念
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。 工作流技术为企业更好地实现经营目标提供了先进的手段。1993年,国际工作流管理联盟(Work Flow Management Coalition,WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。
 
工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。
 
一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。过程管理就通过工作流系统实现了产品全生命周期内数据从一种状态转变为另一种状态的流动控制过程。图3.1是过程管理系统图。

针对模型,阐述如下定义:
业务流程(Business Process):在功能确定的组织机构中,能够实现业务目标和策略的相互连接的过程和活动集。例如,零部件发放过程、文档审核过程等。过程定义(Process Definition):计算机所能识别的业务流程的计算机化的描述,用来支持系统建模和运行过程的自动化。
 
过程可分解为一系列子过程和活动,其定义主要包括描述过程起始、终止的活动关系网络以及一些关于个体行为的信息,如组织成员、与活动相关的数据等。活动(Activity):工作流中一个逻辑步骤或者环节的具体任务,一般分为手工操作和自动处理两类。活动是过程执行中可被工作机调度的最小工作单元,要求有人或机器的参与。
 
一般称需要用户处理或手工操作的活动为任务,而计算机后台自动处理无需用户参与的活动称为自动机。转移:活动之间的一种关系的描述,说明了活动之间的顺序执行关系信息,而任务的转移,即可供用户选择的后续活动,称为路由选择。工作流实例/过程实例:实际运行中的一个过程或活动,每个实例代表一个能独立控制执行、具有内部状态的线程,可被外界通过标识进行存取。
 
工作流应用数据(Workflow Application Data):即由工作流管理系统中面向用户的应用程序操作的,而不被工作流控制系统操纵的数据;它们一般在与用户交互的过程中产生,而且是面向业务流程的,如文档审核流程中被审核的文档、用户在任务节点填写的一些针对文档的意见等等。
 
工作流相关数据(Workflow Relevant Data):被工作流控制系统用来判断工作流流向的数据,这些数据也可以被面向用户的应用程序操纵,因为往往要根据用户的输入来判断工作流的流向。比如任务节点供用户选择的路由等。工作流控制数据(Workflow Control Data):工作流执行服务/工作流引擎通过内部的工作流控制数据来辨别每个过程或者活动实例的状态。这些数据一般不会受到面向用户的应用程序访问。
 
本文研究的产品全生命周期管理中的工作流技术应用于具体的系统中,工作流系统运行按照以下几个步骤:
    a)利用工作流过程设计器,定义工作流模板,建立业务过程模型;
    b)将工作流模板存入数据库中,或保存为CSV格式的文件;
    c)启用工作流模板,以便产品数据管理的业务数据对象应用产生过程实例;
    d)在应用中调用工作流引擎接口函数,不同的应用调用相关的函数实现任务分发与管理;
    e)工作流引擎创建工作流实例与活动实例,同时需要人员的参与,可从目录服务器取得工作流需要的资源,工作流引擎自动发送任务与电子邮件,调度工作流实例与活动实例;
    f)管理任务列表,即对工作流任务列表的管理、任务队列管理。
 
工作流的可视化建模
过程管理主要是定义和控制产品数据的流动,何时流动,如何流动的问题,这些涉及到了Ronni Marshak的3R观点,其中的3R指路由(Routes)、规则(Rules)和角色(Roles)。路由定义了对象的传送路径,规则定义了信息如何路由和路由给谁,角色是系统中任务的执行者。
 
产品开发过程建模是指对产品开发过程进行描述、分析和重组;是在信息集成的基础上,实现企业过程集成,进一步实现企业间集成的基础;是支持产品开发过程管理,进一步实现过程优化和过程改造的关键。工作流过程建模除了为建模用户提供定义工作流所需要的组件或元素等主要特征以外,还应该可以描述清楚可能发生的各种过程逻辑,即过程描述能力要强。
 
本文将以活动网络模型为基础,通过扩充建模元素来增强模型的表达能力和系统的柔性,建立过程模型。基于活动网络的过程建模就是将一个完整的经营过程表示为一个有向图。有向图中的节点元素表示为可执行的步骤或任务,节点间的连接弧表示过程中的控制流和数据流。其模型的组成元素包括过程(Process)、活动(Activity)、模块(Block)、控制连接弧(Control Connector)、数据连接弧(Data Connector)和条件(Condition)。基于活动网络的过程建模将过程中执行的每个活动作为模型中的基本元素,符合人们的思想,具有简单、可视化、直观、便于理解的特点。
 
企业的业务往往是多个部门相互协作完成的,而且在不同的业务上其业务逻辑也可能都不一样的,因此提供可视化的工具来供企业建立与实际业务流程相关的工作流管理模板是一件非常重要的工作。本文研究的PLM系统为用户提供了图形化的建模平台,将扩展的工作流过程模型的各个元素设计成可拾取组件的方式放在工具箱里,用户可以根据具体的业务流程需要从工具箱中选取特定的组件来建立过程模板。
 
用户建立的过程模板将保持在CSV(Comma Separate Value)格式定义的文件中,同时在数据库中也将保持模板的相关数据。当启动一个过程模板的实例时,系统将根据保持的文件和数据库模板的信息创建工作流过程实例的对象。在可视化建模中,将业务抽象为一个个的节点来处理,通过在节点上定义业务规则可以很好地模拟企业的业务,同时也便于应对业务规则的修改。节点的类型可以从总体上分为两种类型:人工节点和自动机。
 
根据自动机所完成的业务不同,自动机可以分为邮件自动机、逻辑自动机、应用程序自动机。图3.2是本文所研究的企业级PLM系统的过程建模工具,界面的左边是各种图标,用来代表不同的业务活动或者流程控制节点,选择好图标后,用户可以双击图标设置节点的具体属性,可以设置任务的常规属性、任务参与者、局部变量、路由选择、时间期限等。
 
工作流建模的可视化建模元素主要有:事物型——需要人参与的活动(Activity)
    1)活动节点:定义工作流中一个逻辑步骤或者环节的具体任务
    2)子流程节点:

定义需要执行的子流程数据型——代理或者控制数据的自动执行
    1)表达式节点:定义一些可编程控制的代码
    2)邮件节点:通过该节点的时候自动发送邮件
    3)状态自动机:
   
流程实例通过该自动机设置流程中主对象的生命周期状态决策型——对事物流和数据流进行控制
    1)路由线:指定由一活动转移到另一活动的路线
    2)与节点:所有的前续节点都完成了该节点才能通过
    3)或节点:所有的前续节点中只要一个完成了改节点就能通过
    4)阈值节点:只有该节点的前续节点当中完成的节点数目达到本阈值节点指定的数目时,改节点才能通过。
    5)接地节点:流程分支结束
    6)条件路由器:通过自定义代码设置后续路由条件,当该工作流实例到达该节点时,符合条件的后续路由将被触发。

工作流模型中除了定义过程的开始和完成条件、构成过程的活动以及路由规则、用户所需完成的任务、可能被调用的应用程序、工作流自动机的引用关系以及所有与工作流相关数据的定义外,还可能引用组织/角色模型中关于组织结构、组织中的角色以及项目等信息。为了保证业务流程的可执行性,引入了“角色”的概念,角色是一个抽象的概念,它直接面向企业业务过程,指具有某个技能、并能胜任某项职能的人员的总称,如主审人、审核专家等。
 
在工作流过程模型阶段将活动和角色关联起来,同时在企业的组织模型中根据实际的业务需要将角色和不同的项目关联起来,角色在不同的项目中其具体的执行者是不一样的,这样过程模型在执行过程中可根据不同的项目动态地修改执行者,完全满足了企业业务任务分配的不确定性。
 
图3.3是工作流过程模型的元模型,描述了上述过程模型中的各元素间的内在联系。其组成核心是活动。一个工作流定义可以有多种工作流相关数据、由多个活动组成。同时,一个活动可以由多个角色担当、引用多个工作流相关数据,同样,一个角色可以在一个工作流定义中被多个活动引用。

过程管理核心技术
    由上述过程管理系统的模型可知过程管理包括以下几个功能模块:

1.过程定义工具过程定义工具提供的功能包括:
    ①提供工作流定义的图形化界面;
    ②支持工作流定义的分层描述;
    ③设置包括数据资源、人员构成、应用工具和工作路由在内的各种属性。
 
2.工作流模板库工作流模板是整个过程管理系统的基础:
    ①提供对工作流模板的添加、删除及修改的功能;
    ②负责维护工作流模板语义的一致性、完整性等。
 
3.工作流性能分析工具
    为了确保所定义的工作流模板在产品开发中是可行、有效的,需要使用工作流性能分析工具对已经建立的模板的运行情况    进行分析和仿真。通过      对工作流模板中的参数进行反复多次的配置和分析:
    ①验证工作流运行逻辑的完整性和正确性;
    ②发现工作流运行过程中可能存在的瓶颈问题;
    ③以及测试工作流管理系统在面对意外情况时发生的可靠性。
 
4.工作流框架服务
当工作流模型受到触发后,由工作流环境服务器进行调用和语义解释,配置需要的资源,生成工作流实例,并把它们分布到合适的工作流引擎上去。工作流环境服务器是整个工作流管理系统运行控制的核心,除了生成和结束工作流实例外,它还负责对正在进行的工作流实例进行实时监控,保证各个工作流的正常运行;实行工作流实例之间的相互通信和资源共享,消解由于争用而导致的资源冲突。
 
5.工作流引擎
在分布式环境中,通常由工作流引擎和分布在各个节点上的多个工作流客户端程序共同完成推动工作流向前运行的任务。每个工作流引擎负责一个工作流中的所有工作成员及应用的工作流相关任务管理。它包括:根据系统的当前运行状态、发生的事件以及工作流模型的状态转移规则确定工作流中活动的创建、激活、挂起、运行;发送信息给工作成员;对工作流运行中的各种过程信息进行监控,将意外情况/资源冲突等或提交给系统自动解决,或提交给相关决策人员进行人工干预。
 
6.工作流客户端程序
工作流客户端程序对应于各个角色,它是产品开发人员与工作流管理系统进行交互的接口,除了提供工作流引擎所产生的任务信息和相关资源信息以外,还支持面向任务的多用户协作、信息查询、数据输入等功能。
 
为了实现以上功能模块,本文研究的PLM系统基于Internet/Intranet实现了如下的一个面向Web和智能体(Agent)的工作流管理系统。其系统结构如图3.4所示。工作流客户端程序(WorkflowClient)被部署在Web服务器上,当用户通过浏览器与Web服务器相连接时,WorkflowClient被自动下载到用户的机器上并执行。
 
当需要存取工作流的数据和信息时,WorkflowClient就会与对应的工作流引擎(WorkflowEngine)建立连接。WorkflowEngine相当于服务器程序,被部署在远程服务器(不一定是Web服务器)上。
 
一个工作流中,可能会存在多个WorkflowClient,但只能有一个WorkflowEngine。当系统中有多个工作流被执行时,对应也就产生了多个WorkflowEngine。它们共同组成了工作流的执行环境,由工作流框架服务程序提供对它们的协调和调度。同时在系统中还存在了多种其他类型的管理程序,如资源管理程序、角色管理程序等。
 
软件技术的一种普遍的定义是:具有一定智能的计算实体(计算机硬、软件)。它能为用户执行特定任务,具有一定的智能程度以允许自主执行部分程序并以一种合适的方式与环境相互作用。这里把工作流客户端程序,工作流引擎和工作流框架服务程序等定义成为相应的智能体(Agent),赋予它们以下四个特点:自主性、社会性、反应性和能动性。
 
    1)自主性:在没有人直接干预下进行工作,可以某种方式控制自身的动作及其内部状态;
    2)社会性:它也称为协作性,能够通过某种智能体通信语言与其他智能体相互作用;
    3)反应性:它能够接受环境的信息并作出反应,这里的环境包括人,其他的智能体和因特网等;
    4)能动性:它不仅对环境作出反应,而且呈现出目标驱动的特性。

当工作流受到触发后,由框架服务智能体产生相应引擎智能体,并从工作流模板库中读取模型数据交由引擎智能体解释执行;引擎智能体根据工作流模型的定义,询问有关资源智能体、客户智能体是否可以接受工作流的任务;资源智能体、客户智能体根据相应的资源占用情况,任务的期限和优先级等决定是否接受任务,并将决定返回给引擎智能体;引擎智能体根据返回对任务进行动态调度,再将结果信息发给相应的执行任务的智能体;引擎智能体计算任务的开始条件是否已经满足,若满足,则触发相应的任务;客户智能体通知用户开始执行任务,将相关任务信息,所需资源收集给用户使用,并将任务的执行情况,数据的变化等反馈给引擎智能体;引擎智能体监控任务的执行,当发生意外情况,如资源冲突,任务延期等,由它负责召集相关智能体进行协商解决;如果协商失败,则交给相关工作人员处理;工作流执行完成后,由框架服务智能体负责销毁引擎智能体。