软件项目管理 7.4.2.进度计划编排-关键路径法( 二 )


现在在任务B的后面加一个任务C , 任务C的历时是5 , 并且B和C之间加一个延迟Lag , 这个Lag=5 , 既B任务完成5天后 , C这个任务才能开始 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
看这个项目关键路径还是A , B和C路径是有浮动的 , 但是B任务有了后置任务C之后就不自由了 。
那么任务A这个路径没有变化 , ES和LS还是和刚才一样 , 如图所示:
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
那么任务C和任务B这条路径 , 正向推导最早开始时间和最早结束时间 , 从左到右 。 对于任务B而言ES=0 , 推导出EF=10.
任务C则ES?=EF(B)+lag=15 , 则EF=ES+历时5天=20 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
逆向推导最晚结束时间和最晚开始时间 , 从右向左 。 首先推导任务C , LF=100 , LS=95 。
B的LF=LS?-Lag(5)=90.则B的LS(最早开始时间)=LF(90)减去历时10天为80 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
因此我们总结公式如下:其中S代表后置任务 , P代表前置任务 。 比如ES(S)代表后置任务的最早开始时间 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
B的总浮动为80天 , 但是不一定很自由 , 为了不影响后置任务C的最早开始时间 , 则B的自由浮动时间FF为0 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
由此我们总结出 , 正推法确定最早开始时间和最早完成时间 。 逆推法确定最晚结束时间和最晚开始时间 。
正推法
按照时间顺序计算最早开始时间和最早完成时间的方法,称为正推法 。
正推法步骤如下:确定项目的开始时间,网络图中第一个任务的最早开始时间是项目的开始时间;ES+Duration=EFEF+Lag=ES(s),当一个任务有多个前置任务时 , 选择前置任务中最大的EF加上Lag作为其ES 。 依次类推 , 从左到右 , 从上到下 , 计算每个路径的所有任务的ES和最早完成时间EF
我们看个例子:这是项目的网络图 , 而且确定了每个活动的历时 , 现在用正推方法来确定每个任务的ES和EF 。
我们先确定项目的开始时间 , 那么任务A的开始时间是1 , 历时为7 , 则EF(最早结束时间)=8 。
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
A和C任务之间没有Lag , 所以C的ES为8 , 因为历时为6 , 所以EF为14 。 以此类推…从左到右 , 从上到下 。
图中任务E有两个前置任务 , 则需要选择前置任务中最大的EF加上Lag作为其ES , 所以选择任务D的EF=7,因为没有Lag , 所以任务E的ES=7.
软件项目管理 7.4.2.进度计划编排-关键路径法
文章图片
逆推法
按照逆时间顺序计算最晚开始时间和最晚结束时间的方法,称为逆推法 。
逆推法步骤如下:首先确定项目的结束时间,网络图中最后一个任务最晚完成时间是项目的结束时间;LF-Duration=LSLS-Lag=LF(p) , 当一个任务有多个后置任务时 , 选择其后置任务中最小LS减Lag作为其LF依次类推 , 从右到左 , 从上到下 , 计算每个任务的最晚开始时间LS和最晚结束时间LF
我们继续通过逆推法来推导这个项目各个任务的最晚结束时间和最晚开始时间 。
首先确定项目完成时间 , 为了保证项目在最短时间内完成 , 最后任务H的完成时间是19 , 因为最后的任务在关键路径上 , 所以是没有浮动的 。 H的最晚结束时间为19 , 所以LS=17 。 则前置任务G的LF=17 , LS=14 , 以此类推…自上而下 , 从右到左 。