1、1 第 6章 软件工程项目进度计划的制订软件工程经济学第6章 软件工程项目进度计划的制订 Software Engineering Economics2 第 6章 软件工程项目进度计划的制订软件工程项目进度计划的制定 软件工程项目进度计划是指在确保合同工期和主要里程碑事件的前提下,对设计和项目实施的各项工作进行的时间和逻辑上的合理安排,从而达到合理利用资源、降低费用支出的目的。因此,制订一个比较完备的进度计划,是完成软件工程项目的保证。3 第 6章 软件工程项目进度计划的制订内容导航C O N T E N T S软件工程项目进度分析进度的基本概念网络计划优化6.16.26.34 第 6章 软件
2、工程项目进度计划的制订6.1 进度的基本概念 进度是指等进行的速度或进展的程度。对软件工程项目进行进度管理是为了确保项目根据需求能按期完成。5 第 6章 软件工程项目进度计划的制订6.1.1 软件工程项目的工作分解结构 工作分解结构(Work Breakdown Structure,WBS)以可以交互成果为导向,是把项目工作(或活动)和可交互的成果分解成为较小的、易于管理和控制单元的工程。而软件工程项目的规划、设计、开发、测试等各阶段工作任务的实施通常是由一系列项目活动来构成,故软件企业管理人员或者项目经理经常运用WBS原理将整个软件项目任务进行详细的分解。6 第 6章 软件工程项目进度计划的
3、制订6.1.1 软件工程项目的工作分解结构 WBS主要是对实现目标及可交互的成果需进行的所有工作范围的层级分解。WBS的最底层单元是工作包,它是指定工作范围、设定软件工程项目产品质量和规格、估算和控制费用以及安排进度的基础。7 第 6章 软件工程项目进度计划的制订6.1.1 软件工程项目的工作分解结构)软件工程项目管理人员在创建WBS时应注意以下要点:8 第 6章 软件工程项目进度计划的制订6.1.1 软件工程项目的工作分解结构创建WBS的具体步骤如下图所示:创建WBS不超过7层,且每一层底层的工作量为每周40小时9 第 6章 软件工程项目进度计划的制订6.1.1 软件工程项目的工作分解结构
4、WBS的结构可按不同的方式进行分解,如按照项目阶段分解,按照产品或者项目功能分解,按照项目部门分解,按照子项目分解等。10 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图 假设用A、B表示任意两个软件工程项目工作(活动/任务),如图6-5所示,用箭线表示工作,用节点表示工作的开始或者结束。由图6-5(a)所示,A工作在B工作前,则A、B工作的关系为:A是B的先行工作,B是A的后继工作;由图6-5(b)所示,A工作完成后紧接着开始B工作,则A、B工作的关系为:A是B的紧前工作,B是A的紧后工作。项目工作逻辑顺序示意图11 第 6章 软件工程项目进度计划的制订6.1.
5、2 软件工程项目的进度网络计划图关于先行工作A与后继工作B,主要包括以下四种依赖关系:完成对开始1234开始对完成开始对开始完成对完成12 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图 网络计划技术是是以网络图的形式来制订计划,求得计划的最优方案,并用该最优计划组织和控制整个项目的过程,最终实现预定目标的一种较为科学的管理方法。网络计划应该在确定了软件项目的技术方案与组织方案、进行工作分解、明确各项目工作之间逻辑关系及各项目工作的持续时间(又称为工作时长)后,再进行编制。13 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图 双代号网
6、络计划图又称为“箭线图”,是指用箭线表示项目工作,并在节点处将各项目工作连接起来以表示依赖关系的网络图。每个项目工作必须用唯一的紧前工作和唯一的紧后工作来进行描述;紧前工作的编号要小于紧后工作的编号;每一个工作必须要有唯一的工作编号;项目工作用箭线表示,箭线应该画成水平直线、垂直直线或者折线,水平直线投影的方向必须自左向右。14 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图双代号网络计划图的绘制规则:(1)网络计划图应正确表达各项目工作之间已定的逻辑关系:在网络计划图中,一个工作(任务/活动)只有唯一的一条箭线以及相应的一对节点编号,箭尾的节点编号要小于箭头的节
7、点编号;工作的名称应该标注在箭线的上方,工作持续时间(工作时长)则应标注在箭线的下方,如图6-7所示,i和j表示节点,A表示项目工作(任务/活动),Di-j表示持续时间。15 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图(2)不得出现回路。如图6-8(a)所示。(3)不得出现双向箭头或者不带箭头的活动。如图6-8(b)和6-8(c)所示。双代号网络计划图的绘制规则:16 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图(4)不得出现没有箭头节点或没有箭尾节点的箭线。如图6-9(a)、(b)所示。(5)当起点节点有多条外向箭线或终点节点
8、有多条内向箭线时,对起点节点和终点节点可使用母线法绘图。如图6-9(c)、(d)所示。双代号网络计划图的绘制规则:17 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图(6)绘制网络计划图的箭线时不宜有交叉;当交叉不可避免时,可用过桥法(如图6-10所示(a))、断线法(如图6-10(b)所示)或指向法(如图6-10(c)所示):双代号网络计划图的绘制规则:18 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图双代号网络计划图的绘制规则:(7)网络计划图中必须只有一个起点节点(编号为);在不分期完成任务的网络图中,必须只有一个终点节点;其
9、他所有节点均为中间节点。(8)不允许出现相同编号的工作(任务/活动)或者节点。(9)绘制的箭线应主要以水平线为主,竖线和斜线为辅,不应画成曲线。绘制的箭线不应出现箭头指向左方的水平箭线或箭头偏向左方的斜向箭线(详见图6-11(a)),应保持自左向右的方向(详见图6-11(b))19 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图双代号网络计划图的绘制规则:(10)绘制网络计划图时应该条理清晰、布局合理,尽量把关键线路安排在中心醒目的位置。20 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图21 第 6章 软件工程项目进度计划的制订6.
10、1.2 软件工程项目的进度网络计划图22 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图(1)三点估算法 三点估算法一般应用于开发团队对所做项目的功能、性能等特征不是很了解的情况下使用。用te表示工作时长,to表示最乐观完成时间,tp表示最悲观完成时间,tm表示最可能完成时间。其中to、tp和tm符合分布的随机变量,且不必是对称的,这些属性都与软件项目工作持续时间的分布特征相符合。如公式6.1所示:23 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图【例6.1】某软件企业因信息化技术的飞速发展,企业经营管理的迫切需要,需要设计一套适合
11、本企业管理的信息系统以满足企业的业务及管理需要。该项目由本企业的技术一部负责,并任命张祥为项目经理。于是张祥运用德尔菲法召集整个项目团队成员进行了头脑风暴,从而获得了三点估算法中各个项目工作的最乐观完成时间to、最可能完成时间tm以及最悲观完成时间tp,详见表6-3中的前五列,从而项目经理张祥可以根据公式6.1计算出最后一列的估计工作时长(保留小数点后一位)。24 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图序号工作名称totmtpte1A35752B57.5127.93C23434D22.54.52.85E5111310.46F57.5127.97G5676表
12、6-3 三点估算法明细表25 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图(2)专家估算法 专家估算法主要依据若干个有经验的专家的同类项目经验,估算并分解各项工作(任务/活动),然后取其算术平均值的方法来进行未来项目各模块时长的估算方法。详见公式6.2所示:(6.2)公式6.2中的te表示某个项目工作e的估算时长,ti表示第i个有经验的专家对项目工作e的估算值。26 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图【例6.2】案例6.1中的项目,如项目经理把项目分解成7个工作(任务/活动)后,找来5个专家分别对各项工作的工作时长进行估
13、算,专家给出的值如表6-4中的1-7列,则可以根据公式6.2 算出各项目工作的时长te27 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图28 第 6章 软件工程项目进度计划的制订6.1.2 软件工程项目的进度网络计划图序号工作代号工作内容工作时长(单位:月)紧前工作1A可行性分析与需求分析102B测试需求2A3C概要设计6A4D系统管理7A5E测试计划5B6F1详细设计10C7F2详细设计8C、D8G测试工具准备4E9H配置管理与质量保障5F1、F210I系统集成与测试8G、H根据表6-2可绘制出图6-12所示的计划网络图29 第 6章 软件工程项目进度计划的制
14、订内容导航C O N T E N T S软件工程项目进度分析进度的基本概念网络计划优化6.16.26.330 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算6.21.网络计划中的时间参数计算1.按照各项目工作计算法计算其时间参数需符合以下要求:(1)必须在确定了每项工作的时长之后才能进行。虚工作可以视同正常工作来进行计算,但其工作时长要用0来计算。(2)工作的时间参数应该分别标注出来,如图6-13所示。图6-13 项目工作算法标注图示31 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算li 和 j 分别表示某项目工作的两相邻节点lA表示i 和
15、j 节点间的项目工作(任务/活动)lDi-j表示i、j 节点间的项目工作时长(持续时间)lESi-j表示i、j 节点间的项目工作的最早开始时间lEFi-j表示i、j 节点间的项目工作中的最早完成时间lLSi-j表示i、j 节点间的项目工作的最迟开始时间lLFi-j表示i、j 节点间的项目工作的最迟完成时间lTFi-j表示i、j 节点间的项目总时差lFFi-j表示i、j 节点间的项目自由时差图6-13的参数内涵描述如下:32 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算33 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算34 第 6章 软件工
16、程项目进度计划的制订6.2.1 网络计划中时间参数的计算35 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算36 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算37 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算38 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算(1)项目工作节点时间参数的计算结果要分别标注:2.按各项目节点计算时间参数需符合的要求:i 和 j 分别表示某项目工作的两相邻节点A表 示 i 和 j 节点间的项目工作(任务/活动)Di-j 表示 i、j节点间的项目工作时长(持续
17、时间)39 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算(1)项目工作节点时间参数的计算结果要如下图所示进行分别标注:2.按各项目节点计算时间参数需符合的要求:ETi 表示节点 i 的最早时间LTi表示节点 i 的最迟时间ETj表示节点 j 的最早时间LTj表示节点 j 的最迟时间40 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算41 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算42 第 6章 软件工程项目进度计划的制订6.2.1 网络计划中时间参数的计算43 第 6章 软件工程项目进度计划的制订6.2.1 网
18、络计划中时间参数的计算44 第 6章 软件工程项目进度计划的制订6.2.2 关键工作及关键线路 网络计划图中的线路,是指从起始节点开始,沿着箭头的方向顺序通过一系列箭线与工作节点,最后达到终点节点的通路。一个网络计划图中一般会有多条线路,线路可以用节点的代号来描述,如-。而线路的长度则是指网络计划图中线路上各项目工作的工作时长(持续时间)总和。45 第 6章 软件工程项目进度计划的制订6.2.2 关键工作及关键线路 在网络计划图的各条线路中,全部由关键工作组成的关键线路或者线路长度最长的线路称为关键线路,而其他线路的工作时长均少于关键线路,故称之为非关键线路。关键线路所途径的各项目工作,称为关
19、键工作;关键线路所途径的节点,称为关键节点。46 第 6章 软件工程项目进度计划的制订6.2.2 关键工作及关键线路总时差最少的项目工作应确定为关键工作,关键工作的总时差 TFi-j=0;在网络计划图中,关键线路一般用粗线、双线或者彩色线标注出来。一般情况下,一个网络计划图中至少会有一条关键线路,最多只能有有限条关键线路。关键工作及关键线路的确定一般需要符合如下规定:47 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解12通过确定项目工作或者节点的时间参数计算来找到关键工作、关键节点和关键线路通过项目节点的标号法来寻求项目的关键线路关键线路的求解主要有两种算法48 第 6章 软件
20、工程项目进度计划的制订6.2.3 关键线路求解图6-15 项目工作的时间参数计算过程49 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解图6-16 节点的时间参数计算流程图50 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解【例6.3】某小型软件项目未规定工期,该项目经过WBS分解后,项目经理使用三点估算法获得了各个项目工作的最乐观完成时间to,最悲观完成时间tp以及最可能完成时间tm(单位均为月),详见项目工作明细表(如表6-5所示)。根据表6-5中给出的三点估算法的数据计算出te一列的值。通过表6-5的项目工作明细表绘制对应的双代号网络计划图。通过项目工作的时间
21、参数计算来求解网络计划图中的关键工作、关键线路,并用项目工作代号来描述关键线路。通过节点的时间参数计算来求解网络计划图中的节点,并通过第步的关键线路来求解关键节点,用结点代号来描述关键线路。51 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解【例6.3】52 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解解:(1)计算结果:53 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(2)绘制的网络计划图如图6-17所示54 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(3)通过项目工作的时间参数计算来求解:顺着箭线方向求解各项目工作的最早开始
22、时间ESi-j:由公式6.3可得,起始项目工作ES1-2=0其他项目工作的最早开始时间ESi-j 按公式6.4进行计算:ES2-3=ES1-2+D1-2=0+4=4ES2-4=ES1-2+D1-2=0+4=4ES3-5=ES2-3+D2-3=4+3=7ES4-5=ES2-4+D2-4=4+2=6ES5-6=max ES3-5+D3-5,ES4-5+D4-5=max 7+0,6+0=755 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解计算各项目工作的最早完成时间EFi-j,按公式6.5进行计算:EF1-2=ES1-2+D1-2=0+4=4EF2-3=ES2-3+D2-3=4+3=
23、7EF2-4=ES2-4+D2-4=4+2=6EF3-5=ES3-5+D3-5=7+0=7EF4-5=ES3-5+D3-5=6+0=6EF 5-6=ES5-6+D5-6=7+4=1156 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解计算网络计划的工期Tc,按公式6.6进行计算:Tc=maxEF12-14,EF13-14=max27,27=27由于该项目未规定工期,故项目工期Tp按公式6.8进行计算:Tp=Tc=27逆着网络计划图中的箭线求解各项目工作的最迟完成时间LFi-j:按照公式6.9计算终节点连接处的项目最迟完成时间:LF13-14=Tp=27LF12-14=Tp=275
24、7 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解其他项目工作的最迟完成时间按公式6.10进行计算:LF12-13=LF13-14-D13-14=27-4=23LF11-12=minLF12-13-D12-13,LF12-14-D12-14=min 23-0,27-4=23LF10-13=LF13-14-D13-14=27-4=23LF10-11=LF11-12-D11-12=23-3=20LF8-11=LF11-12-D11-12=23-3=20LF9-10=minLF10-11-D10-11,LF10-13-D10-13=min 20-1,23-1=1958 第 6章 软件工
25、程项目进度计划的制订6.2.3 关键线路求解逆着网络计划图中的箭线求解各项目工作的最迟开始时间LSi-j,按公式6.11进行计算:LS13-14=LF13-14-D13-14=27-4=23LS12-14=LF12-14-D12-14=27-4=23LS12-13=LF12-13-D12-13=23-0=23LS11-12=LF11-12-D11-12=23-3=20LS10-13=LF10-13-D10-13=23-1=22LS10-11=LF10-11-D10-11=20-1=1959 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解计算网络计划图中的所有项目工作i-j的总时差
26、,按公式6.12进行计算TF1-2=LS1-2-ES1-2=0-0=0TF2-3=LS2-3-ES2-3=4-4=0TF2-4=LS2-4-ES2-4=5-4=1 依次类推,算出所有工作的最迟开始时间,详见表6-6的“TFi-j”一列。60 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解计算网络计划图中的项目工作i-j的自由时差,按公式6.13进行计算FF1-2=minES2-3,ES2-4-EF1-2=4-4=0FF2-3=minES3-5,ES3-7-EF2-3=7-7=0FF2-4=ES4-8-EF2-4=7-7=0FF3-5=FF2-3=0(虚工作的自由时差归其紧前工作所
27、有)61 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解62 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解63 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解所有计算结果及关键线路的标注详见图7-18。该项目的关键线路可以用关键工作进行标识:A1-B1-B2-C2-C3-D-F-G和A1-B1-B2-C2-C3-D-F-H两条关键线路。64 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路ETi 表示节点 i 的最早时间LTi表示节点 i 的最迟时间ETj表示节点 j 的最早时间LTj表示节点 j
28、 的最迟时间65 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路工作节点的最早时间ETi 的计算 工作节点1的最早时间按公式6.15可得:ET1=0 其他工作节点的最早时间主要顺着网络计划图的箭线方向,按照公式6.16进行计算:ET2=ET1+D1-2=0+4=4 ET3=ET2+D2-3=4+3=7 ET4=ET2+D2-4=4+2=6 ET5=maxET3+D3-5,ET4+D4-5=7+0,6+0=766 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路网络计划工期的计算按公式6
29、.17进行计算 Tc=ET14=27 网络计划的计划工期Tp按照公式6.8规定可得 Tp=Tc=2767 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路项目节点的最迟时间计算从网络计划的终节点开始,逆着箭线的方向进行逐项计算。因项目未规定工期,则终节点的最迟时间按公式6.18进行计算:LT14=Tp=27 其他节点的最迟时间按照公式6.19进行计算:LT13=LT14 D13-14=27-4=23 LT12=min LT14 D12-14,LT13 D12-13=min27-4,23-0=23 LT11=LT124D11-12=23-3=
30、2068 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路:项目节点的时差计算结果如表6-7的“时差LTi-ETi”一列。69 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)通过节点的时间参数计算来求解关键线路 由图6-19可见,该项目的关键线路可以用关键节点进行标识:-和-两条关键线路。70 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解 在绘制网络计划图时,可以先绘制草图,在项目工作所表示的箭线上方标识最早开始时间ESi-j和最早完成时间EFi-j,在项目工作所表示的箭线下方标识最迟开始时间LSi-j和
31、最迟完成时间LFi-j;在各节点的上方和下方分别标识最早时间ETi和最迟时间LTi。便于计算各项目工作的自由时差、总时差,以及节点时差。再按照图6-14或者图6-15进行关键线路求解的标注。71 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解 在双代号网络计划中,总时差最小(即总时差等于0)的项目工作是关键工作,由各关键工作组成的线路或者各项目工作的工作时长最长的线路就是关键线路。本节主要讲解通过“标号法”来快速求解关键线路的方法。以图6-17为例,使用标号法来计算项目工期以及求解关键线路的方法。72 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(1)网络计划的起
32、点节点的标号值为0,按公式6.15可得起始节点的标号值:b1=0(2)其他节点的标号值按公式6.16根据节点编号由小到大的顺序进行逐个计算:bj=ETj=max ETi+Di-j b2=b1+D1-2=0+4=4 b3=b2+D2-3=4+3=7 b4=b2+D2-4=4+2=6 b5=maxb3+D3-5,b4+D4-5=max7+0,6+0=773 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解 计算完所有项目节点的标号值以后,再用其标号值以及源节点(源节点是指确定该节点标号值的节点,如项目节点的标号值是由项目节点决定的,故其源节点即为)对该项目节点进行双标号,若源节点有多个
33、,则全部都应该标注出来。(3)“标号法”的计算工期等于终点节点的标号值,本例中的工期即为终节点的标号值27。74 第 6章 软件工程项目进度计划的制订6.2.3 关键线路求解(4)根据线路应从网络计划的终点节点开始,逆着箭线方向依据源节点来确定。故本例是从终节点开始逆着箭线的方向逐步找出关键线路为:-和-。而关键线路上的项目工作则为关键工作。详见图6-20所示。75 第 6章 软件工程项目进度计划的制订6.2.4 网络进度计划的风险分析76 第 6章 软件工程项目进度计划的制订6.2.4 网络进度计划的风险分析77 第 6章 软件工程项目进度计划的制订6.2.4 网络进度计划的风险分析2 网络
34、计划的难度系数78 第 6章 软件工程项目进度计划的制订6.2.4 网络进度计划的风险分析79 第 6章 软件工程项目进度计划的制订内容导航C O N T E N T S软件工程项目进度分析进度基本概念网络计划优化6.16.26.380 第 6章 软件工程项目进度计划的制订6.3 网络计划优化 网络计划的选定目标,在满足现有既定约束条件的基础上,通过不断改进网络计划,来寻求满意的方案。81 第 6章 软件工程项目进度计划的制订6.3.1 工期优化 如果软件工程项目的计算工期Tp大于要求工期Tr时,可以通过压缩关键工作的工作时长来满足工期的要求。软件工程项目工期优化的计算,应按照以下步骤进行:(
35、1)计算并找出初始网络计划的计算工期Tp、关键工作和关键线路;(2)按照要求工期Tr计算应缩短的总工作时长;(3)确定软件工程项目中各个关键工作能缩短的工作时长;82 第 6章 软件工程项目进度计划的制订6.3.1 工期优化 (4)选择缩短工作时长的关键工作,应该优先考虑有作业空间、有充足的备用资源以及将会增加费用额最小的项目工作。(5)当重新计算的工期仍然超过项目要求的工期时,则需重复以上(1)(4)的步骤,直至满足项目的要求或不能再压缩了为止。(6)当项目的所有关键工作的工作时长都已达到其能缩短的极限,而计算工期Tp仍然不能满足项目的工期要求时,则应对原软件工程项目计划的技术方案、组织方案
36、进行调整或者对项目要求工期Tr进行重新审定。83 第 6章 软件工程项目进度计划的制订6.3.2 资源优化“资源有限,工期最短”“工期固定,资源均衡”网络计划的资源优化方式:84 第 6章 软件工程项目进度计划的制订6.3.2 资源优化 软件工程项目的网络计划资源优化主要使用“工期固定,资源均衡”的优化方式。“工期固定,资源均衡”的优化是在保持项目工期不变的情况下,使资源分布尽量均衡,即在资源需用量的动态曲线上,尽可能不出现短时期的高峰和低谷,促使每个时段的资源需用量接近于平均值。可使用“削高峰法”来进行“工期固定,资源均衡”的优化。85 第 6章 软件工程项目进度计划的制订6.3.2 资源优
37、化“削高峰法”进行“工期固定,资源均衡”优化的具体步骤如下:86 第 6章 软件工程项目进度计划的制订6.3.3 工期-费用优化 工期-费用优化是通过对不同工期时的软件工程项目总费用的比较分析,从而寻求出项目总费用最低时的最优工期。工期-费用优化应该算出在不同工期下的直接项目费用,并考虑相应的间接费用的影响,然后通过迭加求出整个软件工程项目总费用最低时的工期。87 第 6章 软件工程项目进度计划的制订6.3.3 工期-费用优化88 第 6章 软件工程项目进度计划的制订6.3.3 工期-费用优化(3)找出软件工程项目中直接费用率最低的一项或一组关键工作,作为缩短工作时长的对象;(4)缩短找出的一项或者一组关键工作的工作时长,缩短值必须符合不能压缩成为非关键工作和缩短后的工作时长不小于最短工作时长的原则;(5)计算缩短工作时长的关键工作而引起相应增加的直接费用;(6)根据间接费用的变化,计算出软件工程项目的总费用;(7)重复以上(3)-(6)步,计算到项目总费用最低为止。89 第 6章 软件工程项目进度计划的制订THANKS