More Related Content Similar to Personal Software Process Similar to Personal Software Process (20) More from Энхтамир Ш (20) Personal Software Process2. PSP зарчим 1
• Програм хангамжийн чанар гэдэг нь програм
хангамжийн бүтээгдэхүүний хамгийн муу
бүрэлдэхүүн хэсгүүдийн асуудлуудыг
шийдвэрлэх юм.
• Програм хангамжийн чанарын бүрэлдэхүүн
хэсгүүд нь төслийг хөгжүүлэгч этгээдийн
мэдлэг, амлалт, хувийн зохион байгуулалтаар
хэмжигддэг.
3. PSP зарчим 2
• Програм хангамжийн мэргэжилтнүүд
өөрийн төслийн гүйцэтгэлийг мэддэг
байх
• Өөрийн гүйцэтгэсэн ажилд хэмжилт,
дүгнэлт, мөрдөлгө хийдэг байх.
• Өөрийн ажлын гүйцэтгэлийн
өөрчлөлтөөс суралцдаг байх
• Өөрийн арга туршлага, хичээлүүдийг
үргэлж тэмдэглэж, хадгалж байх
4. Personal Software Process гэж юу
вэ?
• PSP0
– Үндсэн суурь үзүүлэлтүүдээр хэмжилт хийх(Үйл
ажиллагаануудын үндсэн үзүүлэлтүүдийг тогтоох)
• PSP1
– Төслийн хэмжээ, нөөц, цагийн хуваарьт төлөвлөгөө
гаргах
• PSP2
– Ашгийн удирдлага болон алдагдлийн удирдлагад
дадах
• PSP3
– Томоохон төслүүдийг PSP аргуудаар хэрэгжүүлэх
5. PSP
PSP0
Одоогийн үйл явц
Хугацаа тэмдэглэх
Алдаа тэмдэглэх
Алдааны төрлийн стандарт
PSP1
Төслийн хэмжээг
тооцоолох
Мэдээллүүдийг
шалгах
PSP2
Код хяналт
Дизайн хяналт
PSP3
Төслийн амьдралын
мөчлөг тайлагнах
PSP2.1
Загвар боловсруулах
PSP1.1
Ажлуудыг төлөвлөх
Цагийн хуваарь төлөвлөх
PSP0.1
Кодлолын стандарт
Төслийн хэмжүүрүүд
Процессийг сайжруулах
Төлөвлөгөө (PIP)
6. PSP Процесс PSP0, PSP0.1
Процессийн сахилга бат болон хэмжилтийг үе
•PSP0 нь 3 үе шаттай:
– Төлөвлөлт
– Хөгжүүлэлт(design, code, compile, test)
– Post-mortem(төслийн амжилт эсвэл сүйрлийг
үнэлэх)
Энэ процессийн суурь үзүүлэлтүүдийг дараах
байдлаар үнэлэнэ.
7. PSP Процес PSP0, PSP0.1
• Програм бичихэд зарцуулж буй хугацаа
• Арилгасан алдааны тоо
• Програмын хэмжээ
Post-mortem үе шатанд программист нь төслийн бүх
өгөгдлийг зөв бүртгэж, дүн шинжилгээ хийсэн
эсэхийг баталгаажуулна.
PSP0.1 процесс нь кодчилолын стандарт тогтоох,
хэмжилт хийх, хувийн хөгжүүлэлтийн процессоо
сайжруулах(PIP) зэрэг үйл ажиллагааг хамардаг.
PIP(Process improvement plan) нь программист өөрийн
хөгжүүлэлтийн үйл ажиллагааг сайжруулах
санаануудыг тэмдэглэдэг.
8. PSP Процес PSP1, PSP1.1
Төлөвлөлт болон тооцооллын үе
•PSP0, PSP0.1 шатанд цуглуулсан өгөгдөл дээр
тулгуурлана.
•PSP1 шатанд шинээр хийж буй програм нь хэр
том хэмжээтэй болохыг тодорхойлж, туршилтын
тайлан бэлтгэнэ.
9. PSP Процес PSP1, PSP1.1
• Нийт хугацааг тооцохдоо өмнө нь
хөгжүүлсэн төслүүдийн өгөгдлийг
ашиглана. Мөн шинээр хөгжүүлж буй
бүх төслийн хугацааг тэмдэглэх
хэрэгтэй.
• Дээрх мэдээллүүд нь ажлын хуваарь
гаргах, тооцоолол хийхэд
хэрэглэгддэг(PSP1.1)
10. PSP Процесс PSP2, PSP2.1
Чанарын удирдлага ба дизайны үе шат
•PSP2 шатанд 2 үйл ажиллагаа шинээр
нэмэгдэн орсон:
– Дизайны үнэлгээ
– Кодын үнэлгээ
11. PSP Процесс PSP2, PSP2.1
• PSP2 шатанд програмын гэмтлийг илрүүлэх болон
арилгахад гол анхаарлаа хандуулдаг. Программистууд
нь програмыг хөгжүүлэх явцад ямар төрлийн алдааг
илрүүлж засахад хэр хугацаа зарцуулж байгаа, өөрийн
кодчилолын үйл ажиллагааг хэрхэн өөрчлөвөл алдаа
бага гарах гэдгийг хэмжих замаар суралцдаг.
• Мөн энэ шатанд дизайн болон кодыг үнэлэхдээ
шалгалтын хуудас(checklist) ашиглана.
• PSP 2.1 шатанд дизайны тодорхойлолт болон
шинжилгээ хийх техникийг танилцуулна.
13. CMM болон PSP-1
• CMM(Capability maturity model) буюу
Чадамж боловсруулах загвар нь SEI – н
хөгжүүлдэг програм хангамж хөгжүүлэх
загвар юм. CMM том хэмжээний
програм хөгжүүлэхэд тохиромжтой.
14. CMM болон PSP - 2
Level 2
Програм хангамжийн бүрдэл хэсгүүдийн менежмент
Програм хангамжийн чанарын баталгаа
Програм хангамжийн туслах гэрээний удирдлага
Програм хангамжийн төслийг хэрэгжүүлж эхлэн *
Програм хангамжийн төслийг төлөвлөх*
Хэрэглэгчийн шаардлага тодорхойлох
*PSP –н түлхүүр процессууд
Level 3
Санал шүүмжлэлүүдийг хянаж үзэх*
Группын зохицуулалт хийх
Програм хангамжийн бүтээгдэхүүний инженерчлэл*
Нэгдсэн бүтээгдэхүүний менежмент*
Сургалтын хөтөлбөр
Байгууллагын үйл ажиллагааг тодорхойлох*
Байгууллагын үйл ажиллагааг тусгах*
Level 4
Чанарын менежмент*
Үйл ажиллагааг хэмжих болон дүгнэх*
Level 5:
Процессийн өөрчлөлтийн менежмент*
Техник технологийн шинэчлэлт*
Алдаанаас сэргийлэх*
Level 11
2
3
4
5
15. CMM болон PSP - 3
• CMM нь төслийг илүү үр бүтээлтэй
ажиллагаагаар хангадаг.
• СММ нь програм хангамжийн
мэргэжилтнүүдийг өөрийн эзэмшсэн
аргуудаар хөгжүүлэлт хийхэд тусладаг.
• PSP нь хувь хүний хувийн туршлагад
тулгуурласан бүтцүүдийг тодорхойлог.
18. PSP0 процесс
• Энгийнээр тодорхойлсон хувь хүний үйл
ажиллагаа
• Өөрийн өмнө нь гүйцэтгэж байсан загвар
болон хөгжүүлэлтийн аргуудыг хэрэглэх
• Мэдээ баримтыг цуглуулах:
– Үе шат бүрд зарцуулсан хугацаа
– Олдож байсан алдаануудыг харьцуулах
болон шалгах
• Хураангуй тайлан бэлтгэх
19. PSP0 процесийн элементүүд
• Процессийн гар бичмэл
• Төсөлд зориулсан хураангуйлсан
төлөвлөгөө
• Хугацаа тэмдэглэх бүртгэл
• Алдаа тэмдэглэх бүртгэл
• Алдааны стандарт төрлүүд
22. PSP0.1 Процессийн
Нэмэлтүүд
• Кодчилолын болон LOC тооллогын
стандартууд:
• Үйлчлүүлэгчийн захиалсан програмчлалын
хэл сонгох
• Бичиг баримтанд PSP элементүүдийг
багтаах
• Төсөл боловсруулахад шаардагдах PSP
програмууд
23. PSP0.1 Процессийн
Нэмэлтүүд
• Процессийг сайжруулах төлөвлөгөө -
Process improvement proposal (PIP)
• Процессийг сайжруулахад хэрэглэж
байгаа санаануудыг тэмдэглэх
• Хэрэгжүүлсэн төсөл бүрд хийгдсэн
дүгнэлтүүд болон тайлбаруудыг
тэмдэглэж байх
24. PSP1 Процессийн нэмэлт
• PROBE аргаар хамгаалалт хийх
• Тестчилэлийн тайлан:
– Төлөвлөгөө болон үр дүнд тест хийх
– Дараагийн тестчилэлд туслах
• Төслийн төлөвлөгөөний дүгнэлт
– LOC/цаг – бодитоор төлөвлөх, Хугацаа –
мэдрэмжээр тооцоолсон хугацааг шалгах
– Програмын хэмжээг тооцоолох
– Бодит хэмжээний тооцоолол хийх
25. PSP – н GQM арга
• PSP –ийн үндсэн зорилго бол хувь хүний
гүйцэтгэлийг сайжруулах туслах
• Хувийн зорилгоо тодорхойлох:
– Өөрийн хувийн процессийг ойлгох
– Бүтээгдэхүүний чанарыг сайжруулах
алхамуудыг тогтоох
– Хувийн бүтээмжийг ойлгох
– Өөрийн өсөлтийг хэмжих жишиг тогтоох
– Илүү дээр төлөвлөгөө гаргах
26. PSP1.1 Нэмэлтүүд
• PSP дараах зүйлсээр өргөждөг:
– Нөөц тооцоолох
– Ажлын хуваариа тооцоолох
– Шинэ төслийн төлөвлөгөө гаргах
• Төслийн төлөвлөгөөнд
– Зардалын тооцооны индекс
– Дахин ашиглах өгөгдөл
27. PSP дүгнэлт - 1
• Өөрийн гүйцэтгэж буй ажлыг
тодорхойлох болон хэмжих нь тухайн
хүний мэдлэг, туршлагийг нэмэгдүүлж
байдаг.
28. PSP дүгнэлт - 2
• Үйл ажиллагаагаа шат дараатайгаар
сайжруулахын тулд өөрийн ажлын явцыг
судалж, шүүмжлэл хийх ёстой.
• Үүнийг хийхийн тулд үйл ажиллагааны
шинжилгээ болон процесс боловсруулах
загвар шаардагддаг.
• PSP нь тохирох загвар болон
шинжилгээгээр хангана.
29. PSP дүгнэлт - 3
• Программист мэргэжилтнүүд
– Ямар нэг уулзалтанд шудрага байдлыг
эрхэмлэх
– Боломжгүй амлалтуудыг хэлэлцэх
– Хэрэглэгчид, менежрүүд, хамт ажилладаг
хүмүүсээр өөрийн ажлын эрх зүйн байдал
болон төлөвлөгөөнд хяналт хийлгэх
30. PSP дүгнэлт - 4
• PSP нь тодорхойгүй байдлыг өөрчлөх
зарчмаар ажилладаг.
– Өмнө нь хэрэглэж байсан арга хангалттай
сайн биш байх
– Туршлагатай хүмүүсийн аргыг хэрэглэх
31. PSP – 2 зардлууд
• Сэтгэл санааны дэмжлэг
– PSP нь маш их шаргуу ажиллагааг шаарддаг.
– Хааяа нэг алдаа гарах үед дэмжлэг үзүүлэх
• Өөрийн гаргаж буй доголдлуудыг
хүлээн зөвшөөрөх
– Хувийн доголдлуудыг хүлээн зөвшөөрч
чадахгүй бол PSP – г хэрэглэж чадахгүй
– Магадгүй програм хангамжийн инженер
байх эсэхээ бодож үзэх
32. PSP – 1 давуу тал
• Хөгжүүлэгч өөрийн давуу болон сул
талыг мэдэх
• Хөгжүүлэгч өөрийн хэрэгтэй чанаруудаа
илүү дээр хэмжээнд ашиглаж сурах
• Өөрийн бодит сул талыг хүлээн
зөвшөөрөх, удирдах
33. Алдааг бүртгэх
• Алдааны төрөл
• Хөгжүүлэлтийн ямар шатанд алдаа гарсан
• Олдсон болон засагдсан алдааны төрөл
• Алдаа засахад зарцуулсан хугацаа
• Хэрэв өөр алдааг засаж байх үед алдаа илэрвэл ямар
засвар хийж байсан
Тэмдэглэл: Алдаа нь програмыг хөгжүүлж байхад,
сайжруулж байхад, мөн ашиглаж байхад илэрч байвал
програмын шинж чанарт ямар нэг хэмжээгээр
өөрчлөлт гарах ёстой.
34. PSP Стандарт алдааны төрлүүд
• Бичиг баримт
• Өгүүлбэр зүй
• Багц
• Даалгавар
• Интерфэйс
• Шалгалт
• Өгөгдөл
• Функц
• Систем
• Орчин
35. Цаг төлөвлөлтийн логик
• Та энэ 7 хоногийг өнгөрсөн 7 хоногтой яг адилаар
зарцуулж болзошгүй
• Та зөвхөн өөрийн төлөвлөгөөний дагуу цаг зарцуулалт
хийх хэрэгтэй
• Та өөрийн тооцоолсон хугацаа болон ажил гүйцэтгэж
байгаа бодит хугацааг хооронд нь харьцуулах ёстой
• Таны өмнөх ажлын төлөвлөгөөний яг аль хэсэгт нь
алдаа ба оноо гарч байсныг тогтоох шаардлагатай
36. Өөрийн зарцуулж буй хугацаагаа
таамаглах
• Үндсэн үйл ажиллагаануудаа ангилах
• Үндсэн үйл ажиллагаа бүрт зарцуулж
буй хугацааг тэмдэглэх
• Стандарт аргаар хугацааг тэмдэглэх
• Хугацаа төлөвлөлтйин мэдээллийг
тохиромжтой хэсэгт байрлуулах
– Төслийн ажлын тэмдэглэлийн дэвтэр
– Ажлын агуулгын хүснэгтэд багтаах
– Төлөвлөлт болон тэмдэглэгээнд хугацаа зарцуулах
37. Ажлын хугацааг тэмдэглэх хуудас
(Log page)
• Огноо
• Эхэлсэн цаг
• Зогссон цаг
• Тасалдсан цаг
• Цуцлагдсан цаг (тасалдсан цагийг цуцлах)
• Үйл ажиллагааны нэр
• Тайлбар
• Дууссан ажлууд (check box)
• Дууссан ажлын нэгжүүд
38. Цаг бүртгэлийн давуу тал
• Инженерчлэлийн хугацааг хэмнэх
• Хэрэв цаг бүртгэхээ мартах,
тасалдуулсан бол ямар нэгэн байдлаар
тэмдэглэл хийх хэрэгтэй.
• Зогссон цаг болон тасалдсан хугацааг
тооцоолох
• Ажлуудыг хугацаанд нь гүйцэтгэх
39. Хугацаа болон бүтээгдэхүүний
төлөвлөлт
• Хугацааг төлөвлөх
– Ажлын хугацааны үеийг тодорхойлох
(Ж/нь.Ажлын 7 хоног)
– Ажлын нарын хэсгүүдэд хэр хугацаа
зарцуулахыг тооцоолох
• Бүтээгдэхүүний төлөвлөлт
– Үйл ажиллагаанд үндэслэх (Ж/нь. програм бичих)
– Бүтээгдэхүүн гэдэгт програмууд, бичиг
баримтууд, мэдлэг, үйлчилгээ үзээлэх зэргийг
авч үзэж болно.
40. Ажлын хугацааг 7 хоногоор
тооцон төлөвлөх
• Хүснэгтийн багана нь ажлын нэрнүүд байх ба
мөр бүр дээр огноо болон хугацаа байна.
• Хүснэгтийн нүднүүд нь өгөгдсөн ажлын нийт
хугацааг агуулна.
• Нийт багана нь мөр бүрийн тооцоололт
хийгдсэн утга байна.
• Энэ хүү хүснэгтийг 7 хоног бүр шинээр
хөтлөх ба өмнөх болон энэ 7 хоногийн ажлын
цагийг хооронд нь харьцуулна.
41. 7 хоногийн ажлын хүснэгт
Ажил
1
Ажил
2
Ажил
3
Ажил
4
Нийт
Нийт цаг
Дундаж
цаг
Хамгийн
их
цаг(max)
Хамгийн
бага
цаг(min)
42. Бүтээгдэхүүний төлөвлөлтийн
бүрэлдэхүүн хэсгүүд
• Бүтээгдэхүүний ойролцоо хэмжээ
• Бүтээгдэхүүний онцлог шинжүүд
• Шаардагдах ажил гүйцэтгэх хугацааг
тооцоолох
• Төлөвлөсөн цагийн хуваарь
Тэмдэглэл: Багахан ажил гүйцэтгэхэд
заавал иймэрхүү нарын төлөвлөлт хийх
шаардлагагүй
43. Ажил Тоо хэмжээ Бүртгэл
(Job Number Log)
• Хүснэгтийн мөрөнд төслийн ажлуудыг(tasks)
жагсааж бичнэ. (огноогоор эрэмблэхгүй)
• Баганууд
– Огноо
– Процесс
– Ойролцоогоор тооцоолох: Хугацаа болон Нэгжүүд
(өмнөх туршлага дээр үндэслэх)
– Бодит тооцоолол: Хугацаа, Нэгжүүд, Бүтээгдэхүүний
хэмжээ
– Хугацаагаар нь: Хугацаа, Нэгжүүд, Бүтээгдэхүүний тоо
хэмжээ, Бүтээгдэхүүний хэмжээ(Хамгийн бага),
Бүтээгдэүүний хэмжээ (Хамгийн их)
44. Цаг төлөвлөлтийн бүрэлдэхүүн
хэсгүүд
• Зарцуулахыг хүсэж буй хугацааг
тодорхойлох
• Цагийн тооцоо хийх
• Зарцуулахаар тооцоолсон хугацааг мөрдөх
• Цагийн төлөвлөгөөнд ямар нэгэн байдлаар
өөрчлөлт гарч байвал, ямар шалтгаанаар
өөрчлөгдөж байгааг шийдвэрлэх
• Өөрийн хийж буй ажил болон цагийн
төсөвөө гаргах
45. Хувьсах хугацааг удирдах
Variable Time
• Өөрийн нэн тэргүүнд шийдэх
асуудлуудыг тодорхойлох
• Тусгайлан хийгдэх ажлуудын эцсийн
хугацааг тодорхойлох
• Ямар нэг сул зогсох хугацаа гарсан
тохиолдолд хийгдэх ажлуудыг тогтоох
46. Амлалтуудаа удирдах
• Хувь хүний амлалтууд нь сайн дураар
хийгддэг байх ёстой
• Гэрээгээр хүлээсэн амлалтууд нь үйл
ажиллагаа ба цагийн төлөвлөгөө гэсэн 2
зүйлийг хамардаг.
• Бодит амлалтууд нь нээлттэй ба сайн
дурын гэсэн 2 үндэслэл байдаг
47. Тохиролцоонд тавигдах
шаардлага
• Ямар бүтээгдэхүүн хийсэн байх ёстой
• Хэн үүнийг хийх
• Хэзээ хийж дуусгах
• Төслийг дуусгах хугацаанд нөхөн
төлбөр, эсвэл бусад бодолцож үзэх
асуудлууд
• Нөхөн төлбөрийг хэн гаргах
48. Амлалтуудаа удирдах
• Тухайн ажилд амлалт өгөхөөс урьдаар
дахин шинжилж үзэх
• Амлалтуудаа төлөвлөгөөтэй уялдуулах
• Тохиролцоог бичгээр хийх
• Хэрэв өгсөн амлалтаа биелүүлж
чадахгүйд хүрвэл алдаатай хэсгүүдийг
шуурхай мэдэгдэх ба өөрийн хийх ёстой
үүргээ хамгийн багаар ч болов гүйцэтгэх
хэрэгтэй
49. Хоцорсон амлалтуудыг
гүйцэтгэх
• Зүгээр л бууж өгөхгүй байх
• Өөрийн гаргасан амлалтуудыг төслөөс
гадуур мэргэжлийн хүнээр шалгуулж,
зөвлөгөө авах
• Төсөлд гарч болзошгүй нэмэлт нөөцийн
асуудлыг авч үзэх
• Загвар боловсруулах илүү үр дүнтэй,
ухаалаг замуудыг хайж олох
• Сүүлчийн нэг минут хүртэл бууж өгөлгүй
гарсан алдааг засварлах
50. Амлалтуудыг удирдахад гарч буй
алдаанаас гарах үр дагавар
• Ажиллах явцад цаг хэтрүүлдэг болох
• Таарамжгүй зорилтууд гаргах
• Чанар муутай төсөл болох
• Үйлчлүүлэгчийн итгэлийг алдах
• Хүндлэл алдах
51. Төслийн менежмент
• Хэрэв нэг төслийг бүрэн сүйрүүлсний дараа
таны ажиллах цагийн хуваарь хэвээр байх юм
бол дахиад л алдаа гарах болно. Учир нь цагийн
хуваарь алдаатай байсан учир төсөл сүйрсэн
гэсэн үг.
• Төслийн явц хэр их байгаа болон хийх ажил хэр
их үлдсэнийг мэдэхгүй байвал төсөл
хэрэгжүүлэгчийн санаа зовж эхэлдэг.
52. Төслийн менежмент
• Хэрэв төсөл биелүүлэхэд шаардлагатай
гүйцэтгэх амлалтуудыг хийхэд ямар нэг
АЗ хүлээж байгаа бол төслийг орхих
хэрэгтэй
• Хэрэв таны хийсэн тооцооллууд буруу
байвал, захиалагч тал тооцоолуудыг
хамгийн багаар буюу өөрт ашигтай
нөхцөлөөр үнэлэх болно.
53. “Хувийн” цагийн хуваариа
удирдах
• Gantt-ийн график нь төслийг шалгах
цэгэн аргад үндэслэдэг. (ж/нь: Бүрэн
дууссан үйл ажиллагаанууд)
• Гарч буй утгуудыг ажиглах (ж/нь.
Төлөвлөсөн болон бодит хугацааг
шугаман графикаар ойролцоо
тооцоолох)
Editor's Notes A project post-mortem, also called a project retrospective, is a process for evaluating the success (or failure) of a project's ability to meet business goals. A typical post-mortem meeting begins with a restatement of the project's scope.
A project post-mortem, also called a project retrospective, is a process for evaluating the success (or failure) of a project's ability to meet business goals. A typical post-mortem meeting begins with a restatement of the project's scope.
Product delivery – Бүтээгдэхүүний гаралт
LOC - lines of code
Some papers concerning peer code review say that it should be somewhere between 100 and 400 lines of code per hour.
Goal-Question-Metric
Зорилго - асуулт - хэмжих