参与者MFCreator 是企业中专门制定流程、定义工作流的工程师。系统将提供过程定义工具(流程建模工具),以便MFCreator 分析企业的业务流程,制定合理化的工作流,并且允许MFCreator修改已经制定好的工作流。所以,MFCreator是DefineProcess,ModifyProcess两个用况的发起者,如图4 所示。
用况图对领域过程和参与过程的外部参与者进行描述,是描述系统需求时非常重要的方法。但是仅有用况图还不能用于面向对象设计,面向对象的设计还必须定义逻辑软件的规格说明,这个规格说明要满足建立在类的分解基础上的功能需求,这就要求为各个对象分配“职责”并展现出对象之间通过消息进行交互的过程。这种对象之间的交互在UML 中可以用顺序图(sequence diagram)来表示。
为此,工作流管理的所有用况都应该建立相应的顺序图,如图5所示为由User发起的EnactProcess用况的顺序图。UserInterface(用户界面对象),UserRole(用户角色对象),WFEngine(工作流引擎对象),UserRoleDB(用户角色数据库对象),WFProcessDB(过程数据库对象),SystemLog(系统日志对象)是系统完成这个用况所需的对象,箭头表示角色与对象或对象与对象之间为完成所需的功能而传递的消息。其中UserInterface 位于客户层;UserRole 和WFEngine 作为工作流应用服务器的重要组成部分,部署于中间层;U s e r R o l e D B ,WFProcessDB 和SystemLog 部署在数据库服务器所在的存储层。设计良好的顺序图将为建立工作流管理系统的类图奠定基础。
本文以工作流对象模型的类图为例来进行分析,工作流对象模型是整个工作流管理系统的基础。DefineProcess 用况中,MFCreator 在创建工作流的过程定义模型时,要操作工作流模型对象,系统提供工具和界面,将建立好的模型保存到流程定义数据库中。工作流管理系统执行这个流程时,将一直使用到这个模型对象,直到这条工作流执行结束。工作流对象模型说明了一个工作流过程由哪些活动组成及其执行顺序,单个过程的执行条件及数据的输入输出。
根据WFMC的过程定义元模型(basic process definition meta-model),一个工作流过程(WFProcess)由若干个活动(Activity)组成。活动定义着工作流的执行步骤,活动又可以分成子过程(SubProcess)和一般活动(MFNode,不能再分子过程的原子级活动)两种类型。一般活动可以分为自动执行的活动(ManualAction)和人工型的活动(AutoAction)。顾名思义,AutoAction是工作流管理系统自动调用相关服务而执行的活动,ManualAction则是需要用户操作执行的活动。FlowInfo 类用于表示各个活动执行时用到的相关数据,它将随着活动实例的执行而在活动实例之间传递数据。工作流定义的时候需要指明活动执行者的角色信息,以获得对各个活动执行权限的控制,所以定义了角色类Role。经过以上对过程定义的分析,可以得到工作流对象模型的类图框架如图6 所示。

4 结论与展望
PLM 作为整体解决方案被提出还不久,但是已经被认为是制造企业信息化一个很好的解决方案,其发展势头非常迅猛,成为国内外企业信息化研究的热点。本文所研究的面向PLM 的工作流是一种基于Web 的工作流系统,它通过WWW 来实现任务的协作,起步较晚,但其发展迅速,市场前景十分看好。本文对面向PLM 的工作流管理系统作了一些探讨,着重论述了其基于CORBA/Web 的分布式体系结构和对象建模,更多的实现细节将作进一步研究。