關(guān)鍵路徑法是軟考的知識(shí)點(diǎn)奈嘿,我分析了常見(jiàn)的模棱兩可的知識(shí)點(diǎn)貌虾,并進(jìn)行了圖解說(shuō)明,現(xiàn)在分享給正在準(zhǔn)備參加軟考試的廣大考友裙犹。
01什么是關(guān)鍵路徑法CPM尽狠?
關(guān)鍵路徑法用于在進(jìn)度模型中估算項(xiàng)目最短工期,確定邏輯網(wǎng)絡(luò)路徑的進(jìn)度靈活性大小叶圃。這種進(jìn)度網(wǎng)絡(luò)分析技術(shù)在不考慮任何資源限制的情況下袄膏,沿進(jìn)度網(wǎng)絡(luò)路徑使用順推與逆推法,計(jì)算出所有活動(dòng)的最早開(kāi)始ES掺冠、最早結(jié)束EF哩陕、最晚開(kāi)始LS和最晚完成LF日期。
由此得到的最早和最晚的開(kāi)始和結(jié)束日期并不一定就是項(xiàng)目進(jìn)度計(jì)劃,而只是把既定的參數(shù)(活動(dòng)持續(xù)時(shí)間悍及、邏輯關(guān)系闽瓢、提前量、滯后量和其他已知的制約因素)輸入進(jìn)度模型后所得到的一種結(jié)果心赶,表明活動(dòng)可以在該時(shí)段內(nèi)實(shí)施扣讼。
02什么是關(guān)鍵路徑法
關(guān)鍵路徑是項(xiàng)目中時(shí)間最長(zhǎng)的活動(dòng)順序,決定著可能的項(xiàng)目最短工期缨叫。
計(jì)算關(guān)鍵路徑的長(zhǎng)度時(shí)椭符,需要將路徑上的所有活動(dòng)的持續(xù)時(shí)間、提前量(負(fù)的)和滯后量(正的)加總在一起耻姥。
最長(zhǎng)路徑的總浮動(dòng)時(shí)間最少销钝,通常為零;進(jìn)度網(wǎng)絡(luò)圖可能有多條關(guān)鍵路徑琐簇。
長(zhǎng)度僅次于關(guān)鍵路徑的路徑稱為次關(guān)鍵路徑蒸健,次關(guān)鍵路徑也可能有多條。
借助進(jìn)度計(jì)劃軟件來(lái)規(guī)劃時(shí)婉商,為了達(dá)成相關(guān)方的限制要求似忧,可以自行定義用于確定關(guān)鍵路徑的參數(shù)。
03關(guān)鍵路徑法的作用
關(guān)鍵路徑法用來(lái)計(jì)算進(jìn)度模型中的關(guān)鍵路徑丈秩、總浮動(dòng)時(shí)間和自由浮動(dòng)時(shí)間盯捌,或邏輯網(wǎng)絡(luò)路徑的進(jìn)度靈活性大小。
04最早時(shí)間和最晚時(shí)間
1. 最早開(kāi)始結(jié)束時(shí)間
ES:最早開(kāi)始時(shí)間(Earliest Start)蘑秽,是指某項(xiàng)活動(dòng)能夠開(kāi)始的最早時(shí)間饺著,只決定于項(xiàng)目計(jì)劃,只要計(jì)劃的條件滿足了就可以開(kāi)始的時(shí)間肠牲。
EF:最早結(jié)束時(shí)間(Earliest Finish)瓶籽,是指某項(xiàng)活動(dòng)能夠完成的最早時(shí)間。其中EF = ES+DU埂材, DU為活動(dòng)持續(xù)時(shí)間塑顺,順推法先知道開(kāi)始時(shí)間。
2. 最晚結(jié)束和開(kāi)始時(shí)間
LF:最遲結(jié)束時(shí)間(Latest Finish)俏险,是指為了使項(xiàng)目在要求完工時(shí)間內(nèi)完成严拒,某項(xiàng)活動(dòng)必須完成的最遲時(shí)間。往往決定于相關(guān)方(客戶或管理層)的限制竖独。
LS:最遲開(kāi)始時(shí)間(Latest Start)裤唠,是指為了使項(xiàng)目在要求完工時(shí)間內(nèi)完成,某項(xiàng)活動(dòng)必須開(kāi)始的最遲時(shí)間莹痢。其中LS = LF -DU种蘸,DU為持續(xù)時(shí)間墓赴,逆推法先知道結(jié)束時(shí)間。
3. 圖形表示
按照《PMBOK指南》的推薦航瞭,采用圖6-24的方式來(lái)標(biāo)注活動(dòng)的ES诫硕、EF、DU刊侯、LF章办、LS以及活動(dòng)名稱(ID)
@提示:在考試中未必需要把圖6-24的格子畫出來(lái),只需要按照?qǐng)D中的方位進(jìn)行標(biāo)注就可以了滨彻,這樣做的好處時(shí)在計(jì)算TF和FF時(shí)不容易出錯(cuò)藕届。TF和FF的計(jì)算方法參見(jiàn)本節(jié)后續(xù)內(nèi)容。
4. 活動(dòng)從第0天開(kāi)始還是從第1天開(kāi)始
采用順推法和逆推法進(jìn)行進(jìn)度網(wǎng)絡(luò)路徑計(jì)算時(shí)亭饵,需要關(guān)注活動(dòng)是從第0天開(kāi)始還是從第1天開(kāi)始休偶,不同的假設(shè)計(jì)算的結(jié)果是不一樣的。首先需要明確以下幾個(gè)概念辜羊。
活動(dòng)的持續(xù)時(shí)間DU是指活動(dòng)的工作時(shí)間段踏兜,例如一個(gè)活動(dòng)持續(xù)時(shí)間是24小時(shí),是指3個(gè)工作日(每天8小時(shí))只冻。
活動(dòng)的開(kāi)始時(shí)間是指活動(dòng)開(kāi)工日的上班開(kāi)始時(shí)間庇麦;活動(dòng)結(jié)束是指開(kāi)工日的下班時(shí)間计技。也就是說(shuō)假設(shè)一個(gè)活動(dòng)的持續(xù)時(shí)間是2天喜德,是指從第1天上班時(shí)間,到第2天下班時(shí)間的所有工作時(shí)間段垮媒。
所謂活動(dòng)從第0天還是第1天開(kāi)始舍悯,意思是說(shuō)要不要把活動(dòng)開(kāi)始的那一天計(jì)算在工作時(shí)間段內(nèi)。因?yàn)楝F(xiàn)實(shí)中第0天是不存在的睡雇,所以活動(dòng)開(kāi)始的那一天就不需要計(jì)算在內(nèi)萌衬;而活動(dòng)從第1天開(kāi)始,由于第1天是存在的它抱,就需要計(jì)算在工作時(shí)間段內(nèi)秕豫。這兩種情況導(dǎo)致當(dāng)前活動(dòng)的EF或者LS,緊后活動(dòng)的ES和LF在計(jì)算時(shí)要考慮是否減去或加上這1天的問(wèn)題观蓄。
無(wú)論是從第0天開(kāi)始混移,還是第1天開(kāi)始,都不會(huì)影響關(guān)鍵路徑的和浮動(dòng)時(shí)間的計(jì)算方法侮穿,但是考試中如果弄錯(cuò)了則會(huì)影響計(jì)算結(jié)果歌径,考試中為了簡(jiǎn)化計(jì)算通常采用第0天開(kāi)始,現(xiàn)實(shí)中為了與實(shí)際相符合通常采用第1天開(kāi)始亲茅。下面就這兩種方式舉例說(shuō)明回铛。
圖6-25
第一種情況:活動(dòng)從第0天開(kāi)始狗准。如圖6-25
計(jì)算公式如下:
(1) 對(duì)于當(dāng)前活動(dòng):
順推時(shí) EF = ES + DU;
逆推時(shí) LS= LF – DU
(2)對(duì)于緊后活動(dòng):
順推時(shí)ESi= EFi-1,茵肃;
順推時(shí)LFi-1 = LS i (例如逆推時(shí)活動(dòng)C相當(dāng)于活動(dòng)D的緊后活動(dòng))
其中自左向右腔长,“i”代表當(dāng)前活動(dòng),則“i-1”代表“i”的緊前活動(dòng)免姿。
例如:對(duì)于活動(dòng)A饼酿、B的最早時(shí)間:
EFA= ESA+DU = 0+5 = 5,
ESB = EFA= 5胚膊;
對(duì)于活動(dòng)D和C的最晚時(shí)間:
LSD= LFD – DU = 30 -15 =15故俐,
LFC = LSD= 15;
第二種情況:活動(dòng)從第1天開(kāi)始紊婉。如圖6-26
圖6-26
對(duì)于當(dāng)前活動(dòng)
順推時(shí) EF = (ES + DU)-1药版;
逆推時(shí) LS =(LF – DU)+1
對(duì)于緊后活動(dòng)
順推時(shí)ESi= EFi-1 +1;
逆推時(shí)LFi-1 = LS i -1
其中自左向右喻犁,“i”代表當(dāng)前活動(dòng)槽片,則“i-1”代表“i”的緊前活動(dòng)。例如:
對(duì)于活動(dòng)A肢础、B的最早時(shí)間:
EFA= ESA+DU-1 = 1+5-1 = 5还栓,
ESB = EFA+1= 5+1 = 6;
對(duì)于活動(dòng)D和C的最晚時(shí)間:
LSD= LFD – DU+1 = 30 -15 +1 =16传轰,
LFC =LSD -1 = 15剩盒;
@提示:從上兩種計(jì)算方法來(lái)看,活動(dòng)從第0天開(kāi)始顯然對(duì)人工計(jì)算來(lái)說(shuō)更加直觀簡(jiǎn)便慨蛙,這種方法的缺點(diǎn)是與日歷日期的對(duì)應(yīng)關(guān)系是不一致的辽聊。活動(dòng)從第1天開(kāi)始計(jì)算的結(jié)果與日歷日期是一致的期贫,但是計(jì)算過(guò)程是不直觀的跟匆。好在考試中一般不會(huì)涉及具體的日歷日期,所以推薦使用活動(dòng)從第0天開(kāi)始的計(jì)算方法通砍。
05順推法與逆推法
自左向右計(jì)算最早時(shí)間稱為順推玛臂;自右向左計(jì)算最晚時(shí)間稱為逆推。
圖6-27
在順推時(shí)會(huì)出現(xiàn)如圖6-27(左)的情況封孙,即當(dāng)前活動(dòng)有兩個(gè)和兩個(gè)以上的緊前活動(dòng)迹冤,那么當(dāng)前活動(dòng)的ES的取值應(yīng)該遵循順推取最大的原則,
即ES0 = MAX(EF1敛瓷,EF2叁巨,……)
在逆推時(shí)也會(huì)出現(xiàn)如圖6-27(右)的情況,即當(dāng)前活動(dòng)有兩個(gè)和兩個(gè)以上的緊后活動(dòng)呐籽,那么當(dāng)前活動(dòng)的ES的取值應(yīng)該遵循逆推取最小的原則锋勺,
即ES0 = MIN(EF1蚀瘸,EF2,……)庶橱。
@提示:順推法得到的最早工期代表項(xiàng)目期望的計(jì)劃工期贮勃;逆推法時(shí)設(shè)定的最晚工期代表相關(guān)方的期望工期。
1. 總浮動(dòng)時(shí)間TF
定義:在任一網(wǎng)絡(luò)路徑上苏章,進(jìn)度活動(dòng)可以從最早開(kāi)始日期推遲或拖延的時(shí)間寂嘉,而不至于延誤項(xiàng)目完成日期或違反進(jìn)度制約因素,就是總浮動(dòng)時(shí)間或進(jìn)度靈活性枫绅。
取值:在進(jìn)行緊前關(guān)系繪圖法排序的過(guò)程中泉孩,取決于所用的制約因素,關(guān)鍵路徑的總浮動(dòng)時(shí)間可能是正值并淋、零或負(fù)值寓搬。
總浮動(dòng)時(shí)間為正值,是由于逆推計(jì)算所使用的進(jìn)度制約因素要晚于順推計(jì)算所得出的最早完成日期县耽,即給定的工期比計(jì)劃的工期要長(zhǎng)句喷。
總浮動(dòng)時(shí)間為負(fù)值,是由于持續(xù)時(shí)間和邏輯關(guān)系違反了對(duì)最晚日期的制約因素兔毙,即給定的工期要比計(jì)劃的工期要短唾琼。
計(jì)算方法:TF = LS – ES = LF – EF,即按照?qǐng)D6-28箭頭所示的方向求值澎剥。
圖6-28
2. 負(fù)值浮動(dòng)時(shí)間分析
關(guān)鍵路徑出現(xiàn)負(fù)的浮動(dòng)時(shí)間意味著锡溯,如果不采取措施項(xiàng)目將延期。
負(fù)值浮動(dòng)時(shí)間分析是一種有助于找到推動(dòng)延遲的進(jìn)度回到正軌的方法的技術(shù)肴裙,從而找到保證工期的途徑趾唱。
為了使網(wǎng)絡(luò)路徑的總浮動(dòng)時(shí)間為零或正值涌乳,可能需要調(diào)整活動(dòng)持續(xù)時(shí)間(可增加資源或縮減范圍時(shí))蜻懦、邏輯關(guān)系(針對(duì)選擇性依賴關(guān)系時(shí))、提前量和滯后量夕晓,或其他進(jìn)度制約因素宛乃。
3. 自由浮動(dòng)時(shí)間FF
自由浮動(dòng)時(shí)間就是指在不延誤任何緊后活動(dòng)最早開(kāi)始日期或不違反進(jìn)度制約因素的前提下,某進(jìn)度活動(dòng)可以推遲的時(shí)間量蒸辆。
總浮動(dòng)時(shí)間可能等于大于自由浮動(dòng)時(shí)間征炼,TF≥FF。
計(jì)算方法躬贡,如圖6-29所示
圖6-29
對(duì)于圖6-29(左)的情況:活動(dòng)0的FF0 = ES1 – EF0
對(duì)于圖6-29(右)的情況:活動(dòng)0的FF0 = MIN{ (ES1 – EF0),(ES2 – EF0) 谆奥,……}
@提示:由于自由浮動(dòng)時(shí)間的計(jì)算涉及前后活動(dòng)之間的參數(shù)不容易記憶,只要記住圖6-29所示的計(jì)算方式就不容易搞錯(cuò)了拂玻。
4. 項(xiàng)目浮動(dòng)
一個(gè)項(xiàng)目可以延誤但不影響外界(如客戶或發(fā)起人)限制的完工日期的時(shí)間酸些。例如客戶要求11.11號(hào)完工宰译,項(xiàng)目團(tuán)隊(duì)的計(jì)劃是在11.1完工,那么二者之間就有10天的浮動(dòng)時(shí)間魄懂;如果按照客戶要求日期完工沿侈,則項(xiàng)目浮動(dòng)會(huì)反映在總浮動(dòng)時(shí)間上。
關(guān)鍵路徑常見(jiàn)考點(diǎn)小結(jié)市栗,請(qǐng)參考表6-7缀拭。
表6-7
06關(guān)鍵路徑法完整的計(jì)算示例
請(qǐng)計(jì)算如表6-8所列活動(dòng)的關(guān)鍵路徑,并完成順推計(jì)算最早時(shí)間和逆推計(jì)算最晚時(shí)間填帽,計(jì)算所有活動(dòng)的TF和“活動(dòng)C”的自由浮動(dòng)時(shí)間FF蛛淋。
表6-8
第一步,畫出網(wǎng)絡(luò)圖篡腌。如圖6-30(1)
圖6-30(1)
第二步:計(jì)算關(guān)鍵路徑铣鹏。列出所有可能的路徑,比較其長(zhǎng)度
路徑A-B-F長(zhǎng)度為2+2+2 = 6
路徑A-C-F長(zhǎng)度為2+3+2 = 7
路徑A-D-E-F長(zhǎng)度為2+4+2+2 = 9
故關(guān)鍵路徑為A-D-E-F哀蘑,長(zhǎng)度為9
第三步:順推诚卸。計(jì)算最早時(shí)間,按照從第0天開(kāi)始绘迁,如圖6-30(2)
圖6-30(2)
第四步:逆推合溺。計(jì)算最晚時(shí)間,如圖6-30(3)
圖6-30(3)
第五步缀台,計(jì)算所有活動(dòng)的TF和活動(dòng)C的FF棠赛。如圖6-30(4)所示√鸥活動(dòng)C的FF為:
FFc = ESF-EFc=8 – 5 = 3
或者采取另一種方法:
FFc = 關(guān)鍵路徑耗時(shí) – 包含活動(dòng)C的路徑耗時(shí) = 10 -- 7 = 3
獲取更多知識(shí)睛约,請(qǐng)點(diǎn)擊關(guān)注:
嵌入式Linux&ARM
CSDN博客
簡(jiǎn)書(shū)博客