软件工程并行工程过程管理
 

2009-02-20 作者: 王昕 熊光楞 王计斌 来源:网络

 

过程和过程管理在并行工程的研究与实施中受到广泛的关注,其原因如下:

(1) 并行工程的主要目标之一就在于缩短产品开发周期,因此,过程本身必然成为控制和优化的对象。

(2) 以过程为基础进行成本核算,能够更全面地反映成本的构成,基于活动的成本核算(activity based costing)就体现了这种思想。

(3) 以过程为基础进行质量控制,把质量控制从事后检测转变为事前预防,能够尽量减少大的设计更改。需求管理、质量功能配置(quality function deployment)、全面质量管理(total quality management)都是这种思想的反映。

(4) 以可视化过程模型为基础的协同设计支持环境是通信、监控、协调和信息管理的基础。

(5) 追踪由最初的顾客需求到最终产品实现的决策过程,从中获得有益的经验和知识,是组织学习、增强产品开发能力的基本手段。

从组织的角度来看,过程管理是企业对自身行为的认知、反省和控制。

产品开发过程的特点

并行工程过程管理以产品开发过程为研究对象。所谓产品开发过程,指的是从产品定义到产品批量生产之前这一段时间。与一般的过程相比,产品开发过程具有以下特点:

  • 目的性 产品开发的最终目的是设计出满足顾客需求的产品。
  • 阶段性 产品开发过程通常包括产品规划、概念设计、方案设计、详细设计、工艺设计、试制、试验等阶段。
  • 层次性 产品开发活动在一定的组织层次上进行,任务的分解本身也带来层次。
  • 协同性 复杂产品的开发需要多学科、跨部门、全生命周期的协作。
  • 决策 决策是产品开发活动的主要内容。
  • 迭代 在产品开发过程中,阶段性的设计结果不满足设计要求,从而导致某一活动序列的重复。
  • 信息管理 产品开发过程中要产生和使用大量的设计信息,有效地管理这些信息能提高设计的效率和质量。
  • 过程性能 时间和成本是需要控制和优化的主要过程性能。
  • 时序 活动的排序对过程的性能会产生影响。

这些特点反映了并行工程过程管理所必须考虑的重要方面。总的来说,并行工程过程管理的研究目标包括三个方面,即对于产品开发过程性能的控制和持续改进:从产品开发过程中进行组织学习(主要是设计知识的学习);以过程管理系统为框架,实现对协同设计的支持。

从研究内容来看,产品开发过程的建模和分析是过程管理研究的核心,项目管理、工作流管理等信息技术是过程管理实施的基础。下面我们主要就这两个方面介绍并行工程过程管理的方法和技术。

建模和分析

1.产品开发过程建模

一般来说,模型的作用是解释、预测和实现。就产品开发过程模型来说,其作用可以概括为以下三个方面:

  • 表示 以可视化的形式表达产品开发所需经历的步骤及需要考虑的关键因素,加强团队成员对过程的理解和团队协作。
  • 分析 用定量的手段形式化地描述产品开发过程,支持过程规划、分析和改进。
  • 实现 用计算机、网络、数据库等技术实现基于过程的协同设计环境,支持分布的和自动的任务分配、信息管理、通信、监控、协调等功能。

依照不同的建模目的,过程模型可以分为描述性的(descriptive)和规范性的(prescriptive)。描述性的过程模型其主要作用是解释和分析,如IDEF0模型;规范性的过程模型其主要作用是强制和指导,如ISO 9000的过程规范。

按照建模方法的不同,过程模型可以分为基于活动(activity-based)的过程模型和基于阶段(phase-based)的过程模型。基于活动的过程模型在决策支持、过程性能分析方面具有显著的优点;而基于阶段的过程模型主要强调设计信息由抽象到具体、由定性到定量的发展过程。

过程建模的方法和工具包括IDEF方法、结构化分析方法、Petri网建模方法、实时结构化分析过程建模方法、过程规划(process programming)和系统动态方法等。

2.过程性能的定量分析

过程性能的分析以基于活动的过程模型为基础,分析活动的排序、资源分配、迭代、评审等因素对过程性能(主要是时间和成本)的影响,它主要为特定项目的计划和调度服务。传统的项目计划与评审技术和设计过程所特有的迭代分析构成了产品开发过程性能分析的两大主流。

项目计划与评审技术以活动网络为过程模型,以关键路径法为主要依据,进行过程的规划和调度。其原理是从一个项目的开始到结束,把应完成的任务用图或表的形式表示出来。通常用两张表来定义网络图,一张表给出与一特定项目有关的所有任务,另一张表则给出应当按照什么样的次序来完成这些任务。通过这种方法,可以对项目的任务进行规划,统计、估测出完成任务所需的时间和完成项目所需的时间。CPM与PERT的缺点是活动间的信息流是单向的,因而不支持过程迭代分析。

为了对活动迭代进行描述和分析,一些学者在图论的基础上发展为利用矩阵来描述和分析过程。迭代分析的基础是设计结构矩阵(design structure matrix)。过程性能的定量分析还包括过程重叠、评审、资源分配、工作负荷等方面的分析,在此不一一介绍。

过程管理的使能技术

1.项目管理技术

项目管理是在一定的约束条件下,以高效率实现项目目标为目的、以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。项目管理的核心技术是网络计划技术。在并行产品开发中,多学科团队一般是以项目为单位组建的,其管理方式也基本上按照项目管理的思想进行。

项目管理软件的功能一般包括以下方面:

  • 任务分解 把项目按照阶段、活动、子活动逐渐往下细化分解。
  • 进度安排和跟踪 确定活动的开始和结束时间,并记录实际的进度情况。
  • 资源分配 确定完成活动所需的资源。
  • 成本核算 根据资源消耗情况确定项目成本。
  • 分析功能 进行关键路径、风险等方面的分析。

目前,项目管理软件根据功能和价格水平被分为两个档次:一种是高档项目管理软件,供专业项目管理人士使用。这类软件功能强大,价格一般在2000美元以上。如Primavera公司的P3、Gores技术公司的 Artemis、ABT公司的WorkBench、Welcom公司的OpenPlan等。另一类是低档项目管理软件,应用于一些中小型项目。这类软件虽然功能不是很齐全,但价格较便宜。如TimeLine公司的TimeLine、Scitor公司的ProjectScheduler、Primavera公司的SureTrak、Microsoft公司的Project 98等。

2.工作流管理技术

工作流管理系统以过程模型的计算机实现为基础,对任务的分配和监控、信息的管理和设计决策提供支持。近年来,工作流技术得到了长足的发展。1993年,工作流管理联盟(Workflow Management Coalition,WFMC)成立。此后,该组织颁布了一系列工作流产品标准,包括工作流参考模型、工作流术语表、工作流管理系统各部分间接口规格、工作流产品的互操作性标准等。现在,许多公司基于这些标准推出了自己的工作流产品,从而为基于过程的协同设计提供了技术基础,一般在主要的PDM产品中都提供了工作流管理功能。   

工作流管理系统的主要构件和数据包括以下方面:

  • 过程定义(建模)工具;
  • 工作流执行子系统和工作流引擎;
  • 工作流的控制数据;
  • 工作流相关数据;
  • 工作列表和工作列表处理程序;
  • 应用程序和应用数据。

工作流管理系统或多或少地具有以下特点:设置活动的启动和结束条件;工作流相关数据管理和电子数据的交换;支持分布式过程建模与执行;图形化的过程定义工具。从目前工作流管理系统在并行工程中的应用情况来看,过程的定量分析是其弱点。我们目前正在尝试将项目管理系统与工作流管理系统进行集成。

图1 产品开发过程支持环境

过程管理系统及应用

下面我们主要介绍近10年来国家CIMS工程研究中心在并行工程过程管理方面的实践及所取得的进展。

1.系统开发

图1描述了我们自主开发的产品开发过程支持环境体系结构。它主要由产品开发过程建模子系统、过程执行监控子系统、过程历史管理子系统、角色管理子系统、过程分析与报表子系统以及工作平台紧密集成,同时该环境通过CORBA/DCOM集成了应用设计工具和协调工具。PDM、数据库和异构操作系统作为整个支持环境的基础。

过程建模子系统提供图形化的过程信息编辑功能,包括活动信息编辑、信息流信息编辑、资源信息编辑等,可以支持信息的预发布和反馈等机制;过程模型的可执行机制直接支持过程的实施,通过对可执行的过程模型的监控,实时收集过程实施中的过程信息,跟踪开发进度,为管理人员提供决策支持;过程历史管理子系统记录重要的过程信息,同时进行活动鉴别,对预先设定的特定情景(如项目里程碑、活动出现异常或人为中断等),要求用户给出解释;角色管理子系统实现对项目中的角色管理,目的是便于对相应角色定义与过程有关的权限,并支持过程中的角色分配;过程分析与报表子系统将Project 98和过程支持环境其他部分集成在一起,由Project 98来实现分析和报表功能。工作平台为开发人员进行并行工程下的集成开发设计和协作提供了支持平台。

2.应用案例

目前,我们已将产品开发过程实施方法学和产品开发过程支持系统应用于航天并行工程和齐齐哈尔铁路车辆并行工程,并取得了较好的应用效果。

我们所做的工作包括以下方面:

(1) 开发过程的建模和描述

通过多视图的方法对企业产品开发过程进行描述。

(2)开发过程的评估

结合CMM模型,确定企业产品开发过程的成熟度,以及等级、目标、关键过程领域和关键实践。

(3) 开发过程的规划和改进

根据所需进行的关键实践,建立相应的管理规范和配套措施。

(4) 开发过程支持系统的实施

目前,我们主要用产品开发过程支持系统来实现项目管理和工作流管理功能。

图2 改进后的棚车开发流程

图2是齐齐哈尔铁路车辆并行工程中改进后的棚车开发流程。改进措施包括:

(1) 在产品开发的早期阶段就能够充分考虑冲压件、铸钢件等类零件的可制造性问题,以及铁路货车的结构强度、刚度及动力学品质等产品性能问题,从而能够尽量减少设计错误,提高设计质量。同时,增加DFx,使在产品设计阶段即可考虑产品加工、装配和工艺等问题,提高一次设计成功的概率。

(2) 在方案设计和结构设计的一定阶段向冷热工艺等下游活动提前进行信息预发布。一方面,及时得到信息反馈,以提高工艺性、可加工性等;另一方面,由于工艺部门的提前介入,使下游过程及时体会设计意图,同时可以在适当的时候进行工艺或生产准备。

(3) 实现工艺和工装的并行开发,精简设计过程;制造系统与产品开发过程不构成大循环,从而缩短产品开发周期,提高产品质量与水平。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织