1. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Program ų inžinerija Pratybos Nr. 1 CPM - Kritinio kelio metodas
2. Kritinio kelio metodas Kritinio kelio analizė yra labai efektyvus sudėtingo projekto analizės metodas. Metodo paskirtis: suplanuoti projekto darbus taip, kad jis baigtųsi kiek įmanoma anksčiau; nustatyti tuos darbus, kurių vėlavimas turės tiesioginės įtakos viso projekto pabaigos datai ar kitų darbų pradžios datoms. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
3. Kritinio kelio metodo žymėjimai Įvykiai vaizduojami apskritimu. Darbai vaizduojami rodyklėmis, jungiančiomis įvykius. Virš rodyklių nurodomi laiko vienetai, tai darbų trukmė. Kiekvienam įvykiui nurodomi du svarbūs absoliutiniai laikai: Ankstyvasis (earliest) laikas, nurodantis anksčiausią kalendorinį laiką, kuriuo galėtų įvykti įvykis. Vėlyvasis (latest) laikas, nurodantis vėliausia kalendorinį laiką, kuriuo dar galėtų įvykti įvykis neiššaukdamas uždelsimų. Kiekvienas įvykis turi rezervinį laiką. Tai s kirtumas tarp ankstyvojo ir vėlyvojo laiko. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt A=6
4. Kritinio kelio nustatymas 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Dažniausiai kritinį kelią galima nustatyti atsekant darbus, įvykių įvykdymo tvarka, kurių rezervinis laikas yra lygus nuliui. Darbų atlikimui skirtų laikų suma, kritiniame kelyje, parodo trumpiausią galimą laiką, skirtą projektui užbaigti.
5. Kritinio kelio metodas Taikant šį metodą būt ina numatyt i kiekvieno projekto darbo trukm ę . Pirmasis etapas. Tinklas analizuojamas praėjimu į priekį – tiesioginis praėjimas. Skaičiavimai pradedami nuo pradžios viršūnės (pradinio įvykio) ir tęsiami tol, kol bus pasiekta pabaigos viršūnė (galutinis įvykis). Nustatomos anksčiausios visų įvykių datos. Antrojo etapo metu tinklas analizuojamas praėjimu atgal – atvirkštinis praėjimas. Skaičiavimai pradedami nuo pabaigos viršūnės ir tęsiami tol, kol bus pasiekta pradžios viršūnė. Apskaičiuojamos vėliausios įvykių datos ir kritinis kelias. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
6. Kritinio kelio skaičiavimas Naudo jami žymėjim ai : Ta(n i ) – anksčiausia n i -ojo įvykio data, Ta(m j ) – anksčiausia m j -ojo įvykio data, čia n i , yra įvykio m j pirmtakas, m j yra įvykio n i palikuonis, t(n i ,m j ) – darbo A(n i ,m j ) , esančio tarp įvykių n i ir m j , kurį numatoma vykdyti, trukmė. Tiesioginis praėjimas . Anksčiausia m j -ojo įvykio data skaičiuojama taip: Ta(m j ) = max {Ta(n i ) + t(n i ,m j )} , i= 1 ,k ; (1) čia įvykius n 1 , n 2 , ..., n k su įvykiu m j sieja darbai A(n 1 ,m j ) , A(n 2 ,m j ) , ..., A(n i ,m j ) . 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
7. Kritinio kelio skaičiavimas-2 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Apibendrintas tiesioginio praėjimo fragmentas: (1) išraiškos prasmė: įvykis m j anksčiausia gali įvykti tiktai tada, kai bus užbaigtas vėliausias pirmtako darbas.
8. Kritinio kelio skaičiavimas-3 Atvirkštinis praėjimas . Vėliausia n i -tojo įvykio data skaičiuojama taip: Tv(n i ) = min {Tv(m j ) – t(n i ,m j )} , j= 1 ,r ; (2) čia įvykį n i su įvykiais m 1 , m 2 , ..., m r sieja darbai A(n i ,m 1 ) , A(n i ,m 2 ) , ..., A(n i ,m r ) . 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
9. Kritinio kelio skaičiavimas-4 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Apibendrintas atvirkštinio praėjimo fragmentas: (2) išraiškos prasmė: įvykis n i vėliausiai gali įvykti tiktai tada, kai prasidės anksčiausias palikuonio darbas.
10. Kritinio kelio pagrindinės sąvokos Skirtumas tarp anksčiausios ir vėliausios įvykio datos vadinamas laiko rezervu ( slack ), t. y. n i įvykio laiko rezervas lygus: R(n i ) = Tv(n i ) – Ta(n i ) ; R(n i ) rodo laikotarpį, kurį gali suvėluoti po n i įvykio vykdomas darbas be jokios įtakos galutinei projekto datai. Kai kurie įvykiai turi laiko rezervą, lygų nuliui, t. y. kritinį laiko rezervą . Tai reiškia, kad po šio įvykio darbai negali vėluoti, nes tai turės tiesioginės įtakos tolesnių darbų ir viso projekto trukmei. Keli as tinkliniame grafike yra nuosekliai vienas paskui kitą nuo pradinio iki galutinio įvykio einančių darbų sek a. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
11. Kritinis kelias Ilgiausias pagal trukmę visas kelias tinkle, turintis įvykių laiko rezervą, lygų nuliui, vadinamas kritiniu keliu . Kritinio kelio svarba dvejopa: Valdydami projektą ypatingą dėmesį turime skirti darbų, esančių kritiniame kelyje, valdymui. Bet kokį kritinio įvykio vėlavimą arba išteklių neatitikimą reikia kuo skubiau koreguoti. Projekte visada yra kritinis kelias, kurį turime trumpinti, jei trumpiname viso projekto trukmę. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
12. Laikiniai darbo parametrai D arbo A(n i ,m j ) , esančio tarp įvykių n i ir m j , laikini ai parametr ai , išreikšt i įvykių parametrais: anksčiausia darbo pradžios data : Tpa(A(n i ,m j )) = Ta(n i ) ; vėliausia darbo pradžios data : Tpv(A(n i ,m j )) = Tv(m j ) – t(n i ,m j ) ; anksčiausia darbo pabaigos data : Tga(A(n i ,m j )) = Ta(n i ) + t(n i ,m j ) ; vėliausia darbo pabaigos data : Tgv(A(n i ,m j )) = Tv(n i ) . 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
13. Darbo laiko svyravimas Bendrasis darbo laiko svyravimas ( activity float ) yra skirtumas tarp vėliausios darbo pradžios datos ir anksčiausios pradžios datos : Rb(A(n i ,m j )) = Tv(m j ) – Ta(n i ) – t(n i ,m j ) Laisvasis darbo laiko svyravimas ( free float ) – tai laikas, kurį darbas gali vėluoti, ir tai neturi įtakos paskesniam darbui : Rl(A(n i ,m j )) = Tv(n i ) – Ta(n i ) Paskirstytasis darbo laiko svyravimas ( interfering float ) – tai skirtumas tarp bendrojo darbo laiko svyravimo ir laisvojo darbo laiko svyravimo: Rp(A(n i ,m j )) = Tv(m j ) – t(n i ,m j ) – Tv(n i ) 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
14. Kritinio kelio metodo taikymo pavyzdys 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Supaprastinto projekto pavyzdys: Darbai Trukmė (savaitėmis) Pirmtakai A Techninės įrangos parinkimas 6 B Programinės įrangos projektavimas 4 C Techninės įrangos montavimas 3 A D Kodavimas 4 B E Dokumentacijos parengimas 3 B F Vartotojo vadovo rašymas 10 G Vartotojų apmokymas 3 E, F H Sistemos instaliavimas ir testavimas 2 C, D
15. Kritinio kelio metodo taikymo pavyzdys - 2 Labiausiai paplitęs CPM viršūnių (įvykių) žymėjimas – apskritimas, padalytas į ketvirčius: 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Čia naudojami tokie žymėjimai: 1 – įvykio numeris ( event number ); 2 – anksčiausia įvykio data ( earliest data ), 3 – vėliausia įvykio data ( latest data ), 4 – įvykio laiko rezervas ( slack ).
16. Kritinio kelio metodo taikymo pavyzdys - 3 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Projekto pavyzdžio grafas:
17. Kritinio kelio metodo taikymo pavyzdys - 4 Tiesioginis praėjimas . Praėjimas į priekį taikomas anksčiausiai kiekvieno įvykio datai ir anksčiausiai kiekvieno darbo pradžios ir pabaigos datai apskaičiuoti. A nksčiausios įvykių pradžios datos skaičiuojamos taip: darbai A, B ir F neturi pirmtakų, todėl jie gali būti pradėti anksčiausia. Šių darbų anksčiausia pradžios data bus nulinė savaitė; 2-ojo įvykio anksčiausia data – 6-oji savaitė (A darbo trukmė – 6 savaitės); 3-iojo įvykio anksčiausia data – 4-oji savaitė (B darbo trukmė – 6 savaitės); darbo F trukmė yra 10 savaičių, todėl anksčiausia jo užbaigimo data yra 10-oji savaitė, bet mes negalime pasakyti, ar tai yra anksčiausia 5-ojo įvykio data, nes dar nenustatėme E darbo pabaigos; ... 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
18. Kritinio kelio metodo taikymo pavyzdys - 5 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Projekto grafas ir įvykių laikinės charakteristikos po tiesioginio praėjimo:
19. Kritinio kelio metodo taikymo pavyzdys - 6 Atvirkštinis praėjimas. Jis taikomas vėliausiai kiekvieno įvykio datai suskaičiuoti ir norint nustatyti, kada kiekvieną darbą vėliausiai reikia pradėti ir kada užbaigti, kad nereikėtų atidėlioti projekto užbaigimo datos. Vėliausi o s darbų dat o s skaičiuo jamos tokia tvarka: vėliausia 6-ojo įvykio data – 13-oji savaitė (sutampa su anksčiausia data); vėliausia 5-ojo įvykio data – 10-oji savaitė, nes darbas G trunka 3 savaites ir turi būti užbaigtas 13-ąją savaitę (kad projektas būtų užbaigtas laiku); vėliausia 4-ojo įvykio data – 11-oji savaitė, nes darbas H trunka 2 savaites ir turi būti užbaigtas 13-ąją savaitę (kad projektas būtų užbaigtas laiku); ... 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt
20. Kritinio kelio metodo taikymo pavyzdys - 7 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Projekto grafas, įvykių laikinės charakteristikos ir kritinis kelias grafe po atvirkštinio praėjimo:
21. Kritinio kelio metodo taikymo pavyzdys - 8 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Lentelė su d arbų laikinėmis reikšmėmis po atvirkštinio praėjimo: Darbas Trukmė (savaitėmis) Anksčiausia pr. data Anksčiausia pab. data Vėliausia pradžios data Vėliausia pabaigos data A 6 0 6 2 8 B 4 0 4 3 7 C 3 6 9 8 11 D 4 4 8 7 11 E 3 4 7 7 10 F 10 0 10 0 10 G 3 10 13 10 13 H 2 9 11 11 13
22. Kritinio kelio metodo taikymo pavyzdys - 9 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Kritinį kelią identifikuoja darbai, kurie yra kritiniai iki pat projekto pabaigos, tačiau darbai, kurie nėra kritiniai, gali tapti kritiniais ilginant jų trukmę. Jei darbas A truktų 8 ( + 2) savaites, o darbas C – 4 (+1) savaites, projekto kritinis kelias:
23. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Uždavinys savarankiškam darbui
24. 2011 metų sausio mėnesio 31 diena PI, Rolandas Krištapaitis, http://paskaitos.roleka.lt Sąlyga Nurodyti darbus, įeinančius į kritinį kelią (jeigu yra keli kritiniai keliai, pasirinkti vieną iš jų). Koks darbo E: anksčiausias galimas startas vėliausias galimas startas anksčiausias galimas finišas vėliausias galimas finišas Darbas Trukmė Apribojimai A 5 B 7 C 4 D 16 E 6 Turi būti baigti darbai A, B ir C F 8 Turi būti baigtas darbas C G 3 Turi būti baigti darbai D, E ir F