UML软件工程组织

如何使用网络图构造进度管理模型
51CMM.COM文摘 整理:鲁 蹊
使用PERT进行项目进度管理,是目前使用的比较多、也比较成熟的一种方法。本文着重从技术角度出发,从基本条件入手,结合PERT的基本概念,分析了如何使用网络图来构造进度管理模型,最后给出了网络优化的方法。下面,我们进行详细地讲解。
一、编制进度计划所需的基本条件
用网络分析的方法编制的计划称为网络计划。它是五十年代末发展起来的一种编制大型工程进度计划的有效方法。编制进度计划前,需具备以下条件:
1.将计划的工程项目划分为若干工作
为了研究项目内部的内在联系和依附关系,要把项目划分为一些工作。随项目大小不同和使用对象不同,工作的粗细程度也不同。原则上供上层领导用的划粗些,供基层单位用的划细些;大项目划粗些,小项目划细些;一般项目划粗些,特殊项目划细些。
2.编制工作表
工作表除工作外,更主要的是确定并指明工作之间的逻辑关系。即确定其先行工作,最好是其紧前工作。
3.确定工作延续时间等基本数据 
①确定工作延续时间。
②确定单位时间内资源需要量。
二、PERT(计划评审技术,Program Evaluation an Review Technique)图基本概念
我们首先介绍几个概念:工作(Activity),即至少要消耗时间,在多数情况下还要消耗资源的一种活动;事件(Event),即工作的开始或结束,仅发生于瞬时,既不消耗时间也不消耗资源;计划项目(Project),由工作集合A和事件集合B构成的集合P,即 P = [ A , E ];网络,因工作需时间,工作是沿某一方向前进的,故计划项目和有向图D=[V , A]有一个对应关系,又因对每一工作均需赋时间和各种资源的权,故此有向图是有向网络,简称网络。
在网络图中,用一条弧和两个结点表示一个确定的工序。工序开始的结点常以i表示,称为箭尾结点,也称箭尾事项。工序结束的结点常以j表示,称为箭头结点,也称箭头事项。工序的箭尾事项与箭头事项称为该工序的相关事项。在一张网络图上,只能有始点和终点两个结点,分别表示工程的开始和结束,其它结点既表示上一个(或若干个)工序的结束,又表示下一个(或若干个)工序的开始。在绘制网络图时,遵循以下规则:
1.方向,时序与结点编号
网络图是有向图,按照流程顺序,规定工序从左向右排列。网络图中的各个结点都有一个时间(某一个或若干个工序开始或结束的时间),一般按各个结点的时间顺序编号。
2.虚工序
为了表达相邻工序之间的衔接关系,是实际上并不存在而虚设的工序,用虚箭线表示,虚工序不需要人力,物力等资源和时间。
3.相邻的两个结点之间只能有一条弧
即一个工序用确定的两个相关事项表示,某两个相邻结点只能是一个工序的相关事项。在计算机上计算各个结点和各个工序的时间参数时,相关事项的两个结点只能表示一道工序,否则将造成逻辑上的混乱。
4.网络图中不能有缺口和回路
在网络图中,除始点与终点外,其它各个结点的前后都应有弧连接,即弧中不能有缺口,使网络图从始点经任何路线都可以到达终点。否则,将使某些工序失去与其紧后(或紧前)工序应有的联系。网络图中不能有回路,即不可有循环现象。否则,将使组成回路的工序永远不能结束,工程永远不能完工。
5.平行作业
为缩短工程的完工时间,在工艺流程和生产组织条件允许的情况下,某些工序可以同时进行,即可采用平行作业的方式。在有几个工序平行作业结束后转入下一个工序的情况下,考虑到便于计算网络时间和确定关键路线,选择在平行作业的几个工序中所需时间最长的一个工序,直接与其紧后工序衔接,而其它工序则通过虚工序与其紧后工序衔接。
6.交叉作业
对需要较长时间才能完成的一些工序,在工艺流程与生产组织条件允许的情况下,可以不必等待工序全部结束后再转入其紧后工序,而是分期分批的转入。这种方式称为交叉作业,交叉作业可以缩短工程工期。
7.始点和终点
为表示工程的开始和结束,在网络图中只能有一个始点和一个终点。当工程开始时有几个工序平行作业,或在几个工程结束后完工,用一个始点,一个终点表示。若这些工序不能用一个始点或一个终点表示时,可用虚工序把它们与始点或终点连接起来。
8.网络图的分解与综合
根据网络图的不同需要,一个工序所包括的内容可以多一些,即工序综合程度较高,也可以在一个工序中所包括的工作内容少一些,即工序的综合程度较低。一般情况下,工程总指挥部制定的网络计划是工序综合程度较高的网络图(母网络)。而下一级部门,根据综合程度较高网络图的要求,制定本部门的工序程度较低的网络图(子网络)。将母网络分解为若干子网络,称为网络图的分解。而将若干子网络综合为一个母网络,则称为网络图的综合。
三、网络时间与关键路线
1.路线与关键路线
路线:在网络图中,从始点开始,按照各个工序的顺序,连续不断地到达终点的一条通路称为路线。
关键路线:在各条路线上,完成各个工序的时间之和是不完全相等的。其中,完成各个工序需要时间最长的路线称为关键路线。 
关键工序:组成关键路线的工序称为关键工序。
如果能够缩短关键工序所需的时间,就可以缩短工程的完工时间。而缩短非关键路线上的各个工序所需要的时间,却不能使工程完工时间提前。即使是在一定范围内适当地延长非关键路线上各个工序所需要的时间,也不至于影响工程的完工时间。编制网络计划的基本思想就是在一个庞大的网络图中找出关键路线。对各关键工序,优先安排资源,挖掘潜力,采取相应措施,尽量压缩需要的时间,而对非关键路线上的各个工序,只要在不影响工程完工时间的条件下,抽出适当的人力,物力等资源,用在关键工序上,以达到缩短工程工期,合理利用资源等目的。在执行计划过程中,可以明确工作重点,对各个关键工序加以有效控制和调度。
1.1网络时间的计算
为了编制网络计划和找出关键路线,要计算网络图中各个事项及各个工序的有关时间,称这些有关时间为网络时间。
1)作业时间(Tij)
作业时间:为完成某一工序所需要的时间称为该工序的作业时间,用Tij表示。确定作业时间有两种方法。
一点时间估计法:在确定作业时间时,只给出一个时间值。
三点时间估计法:在未知的和难以估计的因素较多的条件下,对完成工序可估计三种时间,之后计算它们的平均时间作为该工序的作业时间。估计的三种时间是:乐观时间--在顺利情况下,完成工序所需要的最少时间,常用符号a表示;最可能时间--在正常情况下,完成工序所需要的时间,常用符号m表示;悲观时间:在不顺利情况下,完成工序所需要的最多时间,常用符号b表示。一般情况下,可按下列公式计算作业时间:
T = (a + 4m + b ) / 6
方差为:
σ2 = (( b – a )/ 6 )2
工程完工时间等于各关工序的平均时间之和。假设所有工序的作业时间相互独立,且具有相同分布。若在关键路线上有s道工序,则工程完工时间可以认为是一个以为均值,以为方差的正态分布。
2)事项时间
①事项最早时间TE(j),若事项为某一工序或若干工序的箭尾事项时,事项最早时间为各工序的最早可能开始时间。若事项为某一或若干工序的箭头事项时,事项最早时间为各工序的最早可能结束时间。通常是按箭头事项计算事项最早时间,用TE(j)表示,它等于从始点事项起到本事项最长路线的时间长度。计算事项最早时间是从始点事项开始,自左向右逐个事件向前计算。假定始点事项的最早时间等于零,即TE(1) = 0 。箭头事项的最早时间等于箭尾事项最早时间加上作业时间。当同时有两个或若干个箭线指向箭头事项时,选择各工序的箭尾事项最早时间与各自工序作业时间的最大值。即
TE(1) = 0
TE(j) = Max{ TE(i) + T( i ,j ) } ( j = 2 , ... , n )
式中:TE(j)为箭头事项的最早时间;TE(i)为箭尾事项的最早时间。
②事项最迟时间TL(i),即箭头事项各工序的最迟必须结束时间,或箭尾事项各工序的最迟必须开始时间。为了尽量缩短工程的完工时间,把终点事项的最早时间,即工程的最早结束时间作为终点事项的最迟时间。事项最迟时间通常按箭尾事项的最迟时间计算,从右向左反顺序进行。箭尾事项i的最迟时间等于箭头事项j的最迟时间减去工序i→j的作业时间。当箭尾事项同时引出两个以上箭线时,该箭尾事项的最迟时间必须同时满足这些工序的最迟必须开始时间。所以在这些工序的最迟必须开始时间中选一个最早(时间值最小)的时间,即
TL(i) = Min{ TL(j) – T(i,j) } ( i = n-1 , ... , 2 , 1 )
式中,TL(i)为箭尾事项的最迟时间;TL(j)为箭头事项的最迟时间。
3)工序的最早开始时间,最早结束时间,最迟结束时间与最迟开始时间。
①工序最早开始时间TES(i,j),任何一个工序都必须在其紧前工序结束后才能开始。紧前工序最早结束时间即为工序最早可能开始时间,简称为工序最早开始时间,用TES(i,j)表示。它等于该工序箭尾事项的最早时间,即
TES(i,j) = TE(i)
②工序最早结束时间TEF(i,j),是工序最早可能结束时间的简称,它等于工序最早开始时间加上该工序的作业时间,即
TEF(i,j) = TES(i,j) + T(i,j)
③工序最迟结束时间TLF(i,j),在不影响工程最早结束时间的条件下,工程最迟必须结束的时间,简称为工序最迟结束时间,用TLF(i,j)表示。它等于工序的箭头事项的最迟时间,即
TLF(i,j) = TL(j)
④工序最迟开始时间TLS(i,j),在不影响工程最早结束时间条件下,工序最迟必须开始的时间,简称为工序最迟开始时间,它等于工序最迟结束时间减去工序的作业时间,即
TLS(i,j) = TLF(i,j) – T(i,j)
⑤工序总时差TF(i,j),在不影响工程最早结束时间的条件下,工序最早开始(或结束)时间可以推迟的时间,称为该工序的总时差,即
TE(i,j) = TEF(i,j) – TES(i,j)
或者
= TLF(i,j) – TLS(i,j)
工序总时差越大,表明该工序在整个网络中的机动时间越大,可以在一定范围内将该工序的人力,物力资源利用到关键工序上去,以达到缩短工程结束时间的目的。
⑥工序单时差FF(i,j),在不影响紧后工序最早开始时间的条件下,工序最早结束时间可以推迟的时间,称为该工序的单时差。
FF(i,j) = TES(j,k) – TEF(i,j)
式中,TES(j,k)为工序i→j的紧后工序的最早开始时间。
总时差为零的工序,开始和结束的时间没有一点机动的余地。由这些工序所组成的路线就是网络中的关键路线。这些工序就是关键工序,用计算工序总时差的方法确定网络中的关键工序和关键路线是确定关键路线最常用的方法。
四、网络优化
绘制网络图,计算网络时间和确定关键路线,得到一个初始的计划方案。但通常还要对初始计划方案进行调整和完善。根据计划的要求,综合地考虑进度,资源利用和降低费用等目标,即进行网络优化,确定最优的计划方案。
1.时间优化
根据对计划进度的要求,缩短工程完工时间。
①采取技术措施,缩短关键工序的作业时间;
②采取组织措施,充分利用非关键工序的总时差,合理调配技术力量及人、财、物力等资源,缩短关键工序的作业时间。
2.时间--资源优化
在编制网络计划安排工程进度的同时,就要考虑尽量合理地利用现有资源,并缩短工程周期。但是,由于一项工程所包括的工序繁多,涉及到的资源利用情况比较复杂,往往不可能在编制网络计划时,一次把进度和资源利用都能够做出统筹合理的安排,常常是需要进行几次综合平衡之后,才能得到在时间进度及资源利用等方面都比较合理的计划方案。具体的要求和作法是:
①优先安排关键工序所需要的资源。
②利用非关键工序的总时差,错开各工序的开始时间,拉开资源需要量的高峰。
③在确实受到资源限制,或者在考虑综合经济效益的条件下,也可以适当地推迟工程完工时间。
3.时间—费用优化
在编制网络计划过程中,研究如何使得工程完工时间短,费用少;或者在保证既定的工程完工时间的条件下,所需的费用最少;或者在限制费用的条件下,工程完工时间最短;就是时间—费用优化所要解决的问题。为完成一项工程,所需要的费用可分为两大类:
①直接费用
包括直接生产工人的工资及附加费,设备,能源,工具及材料消耗等与完成工序有关的费用。为缩短工序的作业时间,需要采取一定的技术组织措施,相应地要增加一部分直接费用。在一定条件下和一定范围内,工序地作业时间越短,直接费用越多。
②间接费用
包括管理人员的工资,办公费等。
间接费用,通常按照施工时间的长短分摊,在一定的生产规模内,工序的作业时间越短,分摊的间接费用越少。
在进行时间—费用优化时,需要计算在采取各种技术组织措施之后,工程项目的不同的完工时间所对应的工序总费用和工程项目所需要的总费用。使得工程费用最低的完工时间称为最低成本日程。编制网络计划,无论是以降低费用为主要目标,还是以尽量缩短工程完工时间为主要目标,都要计算最低成本日程,从而提出时间—费用的优化方案。网络优化的思路与方法应贯穿网络计划的编制,调整与执行的全过程。 
 

版权所有:UML软件工程组织