2.1 支持多团队协同开发的工作流建模
通过在现有的工作流建模工具进行扩展,融入对团队等基本建模元素的支持,可以弥补传统工作流管理系统对团队协同建模支持能力的不足。在文献[2,3]的基础上,现给出支持团队协同开发的工作流建模元素的静态结构模型,如图2。这里进一步给出相关的主要概念:

图2 支持协同开发的工作流建模元素的静态结构
定义1 团队(Team):为完成一项共同任务而建立的组织单元,该组织单元可以是临时性的、虚拟的,当任务结束后团队解体;也可以是永久性的,此时可类似于传统企业中的功能性组织部门。团队具有类型,通常具有职位结构,团队通常由多个团队成员组成,团队中的特定成员可以同时参加多个团队组织,从而可支持矩阵型组织类型。
定义2 团队类型(TeamType):是角色概念在团队层次上的扩展,描述团队使命、特征等意义上的分类。如:对行业版ERP构建组织而言,典型的团队类型有组件获取团队、行业版ERP系统开发团队、系统测试团队等。
定义3 团队职位(TeamPos):对团队内职位需求的描述。对特定类型团队而言,通常具有不同的职位结构,特定职位上需要的人员配置数量上也会有差异。如:对组件获取团队,通常会设置领域及行业工程顾问、需求获取工程师、组件封装与测试工程师,每一类职位需要的人数配置需求等。传统意义上的角色可看作是只包含一个职位的团队类型。
定义4 任务(Task):一个工作逻辑单元,通常任务是不可分割且必须完整执行。如果在任务执行期间发生任何错误,则必须采用"回滚"以保证任务的原子性。任务的不可分割性依赖于任务定义的环境。任务有手动、自动和半自动任务之分。
为了满足分布式、分层次建模的需要,这里按照是否对目标任务进一步细化需要,把任务进一步分为原子任务(AtomicTask)和复合任务(ComplexTask)。复合任务是一类子任务的集合,可由原子任务和其它的复合任务构成。
为解决多成员协同建模问题,文献[11]提出一种基于"条件分层有向图"的工作流模型。在该模型中,有向图中的节点可以表示活动节点、连接节点或子流程,有向图中的有向边表示节点间的依赖关系,整个工作流模型表示为一个层次网状有向图。由图2可知,这里建立的工作流建模元素的静态结构同样可支持这种层次网状图的工作流模型的建立。
定义5 案例(Case):指一项具体业务。如:下采购订单、入库等。每个案例都有一个唯一标识,有自己的生命周期,有一系列状态。
定义6 工作项(WorkItem):是案例(Case)和将要执行的任务的结合体。也可把工作项看作是被执行的实际工作块。活动(Activity)是工作项的实际执行。工作项和活动都与具体案例有关。
定义7 工作流(Workflow):对业务过程的描述,工作流由任务和条件组成。工作流定义了案例的所有可能的执行路线,所有可能的状态,从而定义了案例的生命周期。
2.2 工作流管理与项目管理、软件配置管理的集成
(1)集成层次
面向行业版ERP开发强调的是多团队协同工作方式。项目管理体现了软件开发的过程组织特点,软件系统是抽象的逻辑产品,软件的开发、维护、版本的升级等基本上都具有很强的项目性特点,可通过项目管理工具对行业版ERP构建及可复用资产的提取及维护任务进行任务分解。另外,在产品研发及可复用组件获取、分析、评价、封装、测试等不同阶段,不同子项目之间需要传递大量信息。如何根据各种业务流程来组织和控制行业版ERP产品构建或可复用资产获取等的高效运行便是工作流的研究重点,而在软件开发及组件开发的整个生命周期各阶段中的各业务流程中各项子任务的执行,都会涉及各类组件(制品)的创建、组装、访问及其各中间制品版本的记录与维护,而这正是软件配置管理关注的重点。鉴于此,本文在文献[6]的基础上,提出一种面向行业版ERP构建过程管理的层次模式,见图3。
图3中,项目层位于协同开发过程的最高抽象层次,它直接服务与系统产品开发与实施的总目标;子项目层处于基于子项目任务集的群体协同工作方式的逻辑结构层,它从组织上保证产品协同开发的敏捷性和并行性;宏观业务流程层是从全局角度对子项目及项目过程组织的抽象与建模,面向协作群体的业务过程组织;微观活动序列层从细粒度上(如:特定开发团队)对局部流程进一步求精。整个协同产品开发过程管理由上层的项目管理和下层的工作流所组成,项目管理主要完成项目的"宏观过程"管理,工作流管理层主要完成"微观过程"的管理。软件配置管理活动则覆盖整个软件生命周期的各阶段,与项目管理层和工作流管理层都有联系。实际上,在各层次上都可引入工作流管理技术与工具,从而实现以工作流为中心的集成的管理与开发模式。

图3 面向团队协同的行业版ERP构建过程的层次管理模式
同时,这种层次型管理模式,实现了软件开发的项目规划、应用逻辑和过程逻辑的分离,从而可以在不变更项目目标或内容的前提下而只需修改任务模型即可改变项目的执行流程,提高了过程管理的柔性。