การพัฒนาและบริหารโครงการ...
DESCRIPTION
การพัฒนาและบริหารโครงการ (ซอฟต์แวร์). 1. วิศวกรรมระบบ (System Engineering) การบริหารโครงการผลิตซอฟต์แวร์ การประมาณการซอฟต์แวร์ ( Software Estimation ). วิศวกรรมระบบ (System Engineering). 2. วิศวกรรมระบบ ไม่ได้มุ่งเน้นในเรื่องของซอฟต์แวร์อย่างเดียว แต่ให้ความสำคัญกับส่วนประกอบอื่นๆ ด้วย - PowerPoint PPT PresentationTRANSCRIPT
1
วิ�ศวิกรรมระบบ (System Engineering)
การบร�หารโครงการผลิ�ตซอฟต�แวิร�การประมาณการซอฟต�แวิร� (Software
Estimation )
การพั�ฒนาและบร�หารโครงการ(ซอฟต์�แวร�)1
2
วิ�ศวิกรรมระบบ (System Engineering) ว�ศวกรรมระบบ ไม�ได้�ม��งเน�นในเร !องของซอฟต์�แวร�อย่�าง
เด้$ย่ว แต์�ให�ความสำ&าค�ญก�บสำ�วนประกอบอ !นๆ ด้�วย่ ว�ศวกรรมระบบ หมาย่ถึ+ง กระบวนการศ+กษาและว�เคราะห�
ของระบบที่$!ม$ความสำล�บซ�บซ�อน เพั !อสำน�บสำน�นการที่&างาน ในสำ�วนของว�ศวกรรมซอฟต์�แวร� ก�จกรรมของว�ศวกรรม
ระบบ จะถึ/กด้&าเน�นการไปพัร�อมๆ ก�บก�จกรรมของ ว�ศวกรรมซอฟต์�แวร�
2
3
วิ�ศวิกรรมระบบ (System Engineering)
ก�จกรรมของว�ศวกรรมระบบ ม$ด้�งน$0 ก&าหนด้ว�ต์ถึ�ประสำงค�ของระบบ ก&าหนด้ขอบเขต์ของระบบ แบ�งระบบออกเป1นสำ�วนๆ ต์ามฟ2งก�ชั�นงานหร อค�ณสำมบ�ต์�ระบบ พั�จารณาความสำ�มพั�นธ์�ของสำ�วนประกอบต์�างๆ ที่$!เก$!ย่วข�องที่�0งหมด้ ก&าหนด้ความสำ�มพั�นธ์�ของป2จจ�ย่น&าเข�า ประมวลผล และผลล�พัธ์�
3
4
วิ�ศวิกรรมระบบ (System Engineering) พั�จารณาป2จจ�ย่ที่$!ม$สำ�วนเก$!ย่วข�องในระบบ ก&าหนด้ความต์�องการในสำ�วนของการด้&าเน�นการและ
ฟ2งก�ชั�นงานที่�0งระบบ สำร�างแบบจ&าลอง เพั !อใชั�ว�เคราะห�และพั�ฒนาให�
สำอด้คล�องก�บแบบจ&าลองซอฟต์�แวร�ที่$!สำร�างข+0น น&าเสำนอและแลกเปล$!ย่นข�อค�ด้เห7นก�บผ/�ใชั�ระบบ
4
5
วิ�ศวิกรรมระบบ (System Engineering)กระบวินการวิ�ศวิกรรระบบ ประกอบไปด้�วิยขั้� นตอน 7 เฟส ด้�งน# การก&าหนด้ความต์�องการ (Requirement Definition) การออกแบบระบบ (System Design) การพั�ฒนาระบบย่�อย่ (Sub-system Development) การผนวกรวมระบบ (System Integration) การต์�ด้ต์�0งระบบ (System Installation) การเปล$!ย่นแปลงระบบ (System Evolution) การปลด้ระวางระบบ (System Decommission)
5
6
วิ�ศวิกรรมระบบ (System Engineering)
6
7
วิ�ศวิกรรมระบบ (System Engineering)
การก&าหนด้ความต์�องการ (Requirement Definition) เพั !อก&าหนด้น�ย่ามความต์�องการของระบบให�ชั�ด้เจน ก&าหนด้หน�าที่$!ว�า
ระบบควรจะที่&าอะไรได้�บ�าง เป1นเพั$ย่งข�อก&าหนด้เบ 0องต์�น การออกแบบระบบ (System Design)
เป1นการก&าหนด้ราย่ละเอ$ย่ด้ของฟ2งก�ชั�นในแต์�ละสำ�วนประกอบของระบบ ม$ด้�งน$0 แบ�งสำ�วนความต์�องการ ก&าหนด้ระบบย่�อย่ ก&าหนด้ความต์�องการในแต์�ละระบบย่�อย่ ก&าหนด้ฟ2งก�ชั�นของแต์�ละระบบย่�อย่ ก&าหนด้สำ�วนประสำานของระบบย่�อย่
7
8
วิ�ศวิกรรมระบบ (System Engineering)การออกแบบระบบ (System Design)
8
9
วิ�ศวิกรรมระบบ (System Engineering) การพั�ฒนาระบบย่�อย่ (Sub-system Development)
เป1นการน&าเอาระบบย่�อย่ที่$!ถึ/กก&าหนด้ราย่ละเอ$ย่ด้ไว�ในระย่ะออกแบบ มาสำร�างด้�วย่กระบวนการที่$!เหมาะสำม
การผนวกรวมระบบ (System Integration) ระบบย่�อย่ที่$!พั�ฒนาเสำร7จแล�ว จะน&ามาผนวกรวมเข�าด้�วย่ก�นจน
เป1นระบบที่$!สำมบ/รณ� หล�งจากรวมระบบแล�ว ที่$มงานต์�องที่&าการที่ด้สำอบการที่&างานของระบบอ$กคร�0ง
9
10
วิ�ศวิกรรมระบบ (System Engineering) การต์�ด้ต์�0งระบบ (System Installation)
น&าระบบที่$!พั�ฒนาเร$ย่บร�อย่แล�วมาต์�ด้ต์�0ง เพั !อใชั�งาน การเปล$!ย่นแปลงระบบ (System Evolution)
ในชั�วงการใชั�งานระบบ อาจเก�ด้การเปล$!ย่นแปลงต์�างๆ อาจต์�องการการแก�ไขข�อผ�ด้พัลาด้ต์�างๆ
การปลด้ระวางระบบ (System Decommission) หมาย่ถึ+ง การเล�กใชั�งานหล�งจากพับว�าระบบไม�สำามารถึใชั�
ประโย่ชัน�ได้�อ$กต์�อไป
10
11
การบร�หารโครงการผลิ�ตซอฟต�แวิร�
การบร�หารโครงการ (Project management) การประย$กต�ใช้�องค�ควิามร'� ทั�กษะ เคร*+องม*อ แลิะเทัคน�ค เพื่*+อ
ด้-าเน�นก�จกรรมตามควิามต�องการขั้องโครงการให�บรรลิ$วิ�ตถุ$ประสงค�ทั#+ก-าหนด้ไวิ�
วิงจรช้#วิ�ตขั้องโครงการโครงการทั$กประเภทั จะม#ทั� งหมด้ 4 ระยะ ได้�แก1 ระยะเร�+มต�นโครงการ (Project Initiation) ระยะวิางแผนโครงการ (Project Planning) ระยะด้-าเน�นโครงการ (Project Execution) ระยะป2ด้โครงการ (Project Closing)
11
12
การบร�หารโครงการผลิ�ตซอฟต�แวิร� การจ�ด้ต์ารางงานโครงการ
Gantt Chart PERT/CPM
12
13
Gantt Chart13
14
PERT/CPM ม$การแสำด้งงานในล�กษณะของ Node และความเก$!ย่วเน !อง
(Dependency) ของงานแต์�ละอ�นที่$!เก�ด้ข+0นอย่�างชั�ด้เจน จ�ด้เด้�นของ PERT/CRM ค อ การค&านวณหาเสำ�นที่างว�กฤต์�
ในการด้&าเน�นก�จกรรม ที่&าให�ผ/�บร�หารโครงการค&านวณหาเวลาได้�
14
15
PERT/CPM PERT = Program Evaluation and
Review Technique CPM = Critical Path Method เป3นเทัคน�คการวิ�เคราะห�เช้�งปร�มาณสองประเภทัทั#+
ได้�ร�บควิามน�ยมอย1างมาก ในการช้1วิยผ'�บร�หารการวิางแผน จ�ด้ทั-าตารางตรวิจสอบ ต�ด้ตาม แลิะควิบค$มโครงการขั้นาด้ใหญ่1 แลิะซ�บซ�อน
15
16
PERT ได้�ร�บการพื่�ฒนาขั้6 นมาในป7ค.ศ .1958 โด้ยกองทั�พื่เร*อสหร�ฐอเมร�กาเพื่*+อใช้�ในการวิางแผนแลิะควิบค$มโครงการสร�างขั้#ปนาวิ$ธโปลิาร#ส เพื่ราะโครงการน# เก#+ยวิขั้�องก�บการประสานงานก�บผ'�ร�บเหมาตามส�ญ่ญ่าต1างๆจ-านวินมาก
CPM ได้�ร�บการพื่�ฒนาขั้6 นมาในเวิลิาใกลิ�เค#ยงก�น ประมาณป7ค.ศ .1957 โด้ย J.E. Kelly ขั้อง บร�ษ�ทั Remington Rand จ-าก�ด้แลิะ M.R.Walker ขั้อง บร�ษ�ทั du Pont จ-าก�ด้ เพื่*+อช้1วิยในการก1อสร�างแลิะงานบ-าร$งร�กษาโรงงานเคม#ขั้อง du Pont
16
17
โครงสร�างขั้อง PERT & CPM PERT & CPM ขั้� นตอนการสร�างเหม*อนก�นค*อ
ขั้� นทั#+1.ก-าหนด้โครงการ แลิะก�จกรรมหร*องานทั#+ม#ระด้�บน�ยส-าค�ญ่มากขั้องโครงการน� น
ขั้� นทั#+2.สร�างควิามส�มพื่�นธ�ระหวิ1างก�จกรรมแลิ�วิต�ด้ส�นใจวิ1าก�จกรรมใด้ต�องทั-าก1อนแลิะทั-าต1อจากก�จกรรมอ*+น
ขั้� นทั#+3.เขั้#ยนขั้1ายงาน(network)เช้*+อมต1อก�จกรรมเหลิ1าน� นทั� งหมด้
17
18
โครงสร�างขั้อง PERT & CPM (ต1อ)
ขั้� นทั#+4.ก-าหนด้เวิลิาแลิะ/หร*อประมาณค1าต�นทั$น ขั้องแต1ลิะก�จกรรม
ขั้� นทั#+5.ค-านวิณหาเส�นทัางทั#+ใช้�เวิลิานานทั#+ส$ด้ ในการผ1านขั้1ายงานน� น แลิะเร#ยกเส�นทัางน� นวิ1า เส�นทัางวิ�กฤต (Critical Path)
ขั้� นทั#+6.ใช้�ขั้1ายงานช้1วิยในการวิางแผนจ�ด้ทั-าตาราง ต�ด้ตามตรวิจสอบ แลิะควิบค$มโครงการน� น
18
19
การหาเส�นทัางวิ�กฤตเป3นส1วินทั#+ส-าค�ญ่มากขั้องการควิบค$มโครงการ ก�จกรรมบนเส�นทัางวิ�กฤตน� นเป3นงานทั#+จะทั-าช้�ากวิ1าก-าหนด้ไม1ได้� เพื่ราะจะทั-าให�เวิลิาโครงการน� นลิ1าช้�าตามไปด้�วิย ผ'�บร�หารจะม#ควิามย*ด้หย$1นได้�โด้ยการระบ$หาก�จกรรมไม1วิ�กฤตออกมา แลิ�วิทับทัวินการวิางแผน ทับทัวินตาราง แลิะทั-าการจ�ด้สรรทัร�พื่ยากรโครงการใหม1 เช้1น ทัางการเง�นหร*อบ$คลิากร
ถุ6งแม�วิ1า PERT & CPM จะคลิ�ายก�นในวิ�ธ#พื่* นฐานก<ตาม แต1จะม#ควิามแตกต1างก�นในวิ�ธ#การประมาณค1าเวิลิาก�จกรรม
19
20
ส-าหร�บทั$กก�จกรรมขั้อง PERT น� น จะม#ประมาณค1าเวิลิาสามค1า ค*อ เวิลิามองโลิกแง1ด้# เวิลิาน1าจะเป3นมากทั#+ส$ด้ แลิะเวิลิามองโลิกแง1ร�าย จากน� นจ6งหาเวิลิาคาด้คะเนขั้องก�จกรรมแลิะควิามแปรปรวินเวิลิาก�จกรรม ด้�งน� น PERT จ6งเป3นเทัคน�คเช้�งควิามน1าจะเป3นทั#+(probabilistic approach) จะยอมให�ค-านวิณหาควิามน1าจะเป3นทั#+โครงการจะส-าเร<จตามเวิลิาทั#+ก-าหนด้ไวิ�ได้�
20
21
ส-าหร�บ CPM เป3นเทัคน�คเช้�งการก-าหนด้(deterministic approach) โด้ยม#ประมาณเวิลิาส-าหร�บแต1ลิะก�จกรรมสองค1าได้�แก1 เวิลิาปกต�(normal time) ค*อ เวิลิาทั#+จะทั-าก�จกรรม
น� นให�ส-าเร<จได้�ภายใต�สภาวิะปกต� เวิลิาเร1งร�ด้ (crash time) ค*อเวิลิาส� นทั#+ส$ด้ทั#+จะทั-าให�
ก�จกรรมน� นส-าเร<จได้�โด้ยการเพื่�+มทัร�พื่ยากรแลิะเง�นทั$น
21
22
ต�วิอย1างการใช้�งาน PERT&CPM การเขั้#ยนขั้1ายงาน(network)
ขั้1ายงานค*อห�วิใจส-าค�ญ่ขั้องการศ6กษาทั� ง PERT & CPM ขั้1ายงานใช้�ลิ'กศร แทัน ก�จกรรมทั#+ต�องการเวิลิาแลิะทัร�พื่ยากรแลิะใช้� วิงกลิม O แทันจ$ด้เร�+มต�นแลิะส� นส$ด้ขั้องก�จกรรมแลิะบนลิ'กศรเราจะเขั้#ยนช้*+อก�จกรรมแลิะเวิลิาก�จกรรมก-าก�บไวิ�
22
23
ในการเขั้#ยนขั้1ายงานบางคร� งเพื่*+อให�ขั้1ายงานเป3นจร�งได้�เราจะใช้� ก�จกรรมด้�มม#(dummy activity)ช้1วิยแลิะก-าหนด้ให�เวิลิาขั้องก�จกรรมด้�มม#เป3นศ'นย� ก�จกรรมด้�มม#แทันด้�วิยเส�นประ
23
24
ต�วิอย1างค-าแนะน-าการเขั้#ยนขั้1ายงาน ก�จกรรม A ใช้�เวิลิา 3 ส�ปด้าห�
24
25
ก�จกรรม B แลิะ C จะทั-าได้�ก<ต1อเม*+อ A ทั-าเสร<จแลิ�วิ25
26
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ C ทั-าเสร<จแลิ�วิแลิะ E จะทั-าได้�เม*+อ Dแลิะ B ทั-าเสร<จแลิ�วิ
26
27
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ B ทั-าเสร<จแลิ�วิแลิะ E จะทั-าได้�เม*+อ C แลิะ D ทั-าเสร<จแลิ�วิ
27
28
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ B แลิะ C ทั-าเสร<จแลิ�วิ แลิะ E จะทั-าได้�ก<ต1อเม*+อ C เสร<จแลิ�วิเทั1าน� น
28
29
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ Bทั-าเสร<จแลิ�วิ ส-าหร�บ E น� น B แลิะ C เสร<จแลิ�วิเทั1าน� น
29
30
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ B แลิะ C ทั-าเสร<จ แลิ�วิ แบบน# ผ�ด้ห�ามเขั้#ยน
30
31
ก�จกรรม D จะทั-าได้� ก<ต1อเม*+อ B แลิะ C ทั-าเสร<จแลิ�วิ เขั้#ยนแบบน# ถุ'กต�อง
31
32
ต�วิอย1างทั#+ 1 โครงการหน6+งประกอบด้�วิยก�จกรรม เวิลิาก�จกรรม ด้�งต์�อไปน$0 จงเข$ย่นข�าย่งาน
32
33
เร�+มทั#+ก�จกรรม A
ก�จกรรม B แลิะCทั-าต1อจาก A
33
34
DแลิะE ทั-าต1อจาก B34
35
F ทั-าต1อจาก C35
36
G ทั-าต1อจาก D36
37
ปร�บ EแลิะF ให�ส� นส$ด้ทั#+จ$ด้เด้#ยวิก�น เพื่*+อเร�+มต�น H37
38
ไม1ม#ก�จกรรมอ#ก ให�ปร�บ GแลิะHให�ส� นส$ด้ทั#+จ$ด้เด้#ยวิก�น เพื่*+อเป3นจ$ด้ส� นส$ด้โครงการ
38
39
การก-าหนด้หาเวิลิาโครงการแลิะเส�นทัางวิ�กฤต ขั้� นทั#+1.บนขั้1ายงานให�ค-านวิณหาเวิลิา ES แลิะ
EFขั้องแต1ลิะก�จกรรม ES ค*อ Earliest Start Time (เวิลิาเร�+มต�นเร<วิทั#+ส$ด้ )
หมายถุ6ง เวิลิาเร<วิทั#+ส$ด้ทั#+เราจะ ทั-าก�จกรรมน� นได้� เม*+อก�จกรรมทั-าก1อนทั-าส-าเร<จแลิ�วิ
EF ค*อ Earliest Finish Time (เวิลิาเสร<จเร<วิทั#+ส$ด้ )หมายถุ6ง เวิลิาเร<วิทั#+ส$ด้ทั#+ก�จกรรมน� นจะเสร<จเม*+อเร�+มต�นทั#+เวิลิา ES แลิะ ก�จกรรมน� นใช้�เวิลิา t
39
40
การก-าหนด้หาเวิลิาโครงการแลิะเส�น ทัางวิ�กฤต (ต1อ)
การค-านวิณเวิลิา ES แลิะ EF น� นค-านวิณจากซ�ายไปขั้วิา เร�+มจากจ$ด้เร�+มต�นขั้1ายงานไปส� นส$ด้ทั#+จ$ด้ส$ด้ทั�ายขั้องขั้1ายงาน โด้ยทั#+เวิลิาตรงห�วิลิ'กศรค*อ EF จากน� นให�บ�นทั6กเวิลิาทั#+ค-านวิณได้�ลิง ตารางค-านวิณในช้1อง ES แลิะ EF ตามลิ-าด้�บ เวิลิาโครงการค*อ เวิลิา EF ทั#+จ$ด้ปลิายโครงการ ถุ�าม#เวิลิา EF หลิายค1าให�ใช้�ค1าทั#+มากทั#+ส$ด้
40
41
ต�วิอย1างทั#+ 2 ต�วิอย1างทั#+ 2 จงค-านวิณเวิลิา ESแลิะEFขั้อง
ต�วิอย1างทั#+ 1
41
42
ต�วิอย1างทั#+ 2 จงค-านวิณเวิลิา ESแลิะEFขั้องต�วิอย1างทั#+ 1 ต1อ)
42
4343
4444
4545
4646
4747
48
ขั้� นทั#+ 2.บนขั้1ายงานให�ค-านวิณหาเวิลิา LS แลิะ LF ขั้องแต1ลิะก�จกรรม เม*+อ LS ค*อ Latest Start Time (เวิลิาเร�+มต�นช้�าทั#+ส$ด้ )
หมายถุ6ง เวิลิาช้�าทั#+ส$ด้ทั#+เราจะ ทั-าก�จกรรมน� นได้� โด้ยไม1ทั-าให�เวิลิาโครงการทั#+ได้�จาก (1) ลิ1าช้�าออกไป
LF ค*อ Latest Finish Time (เวิลิาเสร<จช้�าทั#+ส$ด้ )หมายถุ6ง เวิลิาช้�าทั#+ส$ด้ทั#+ก�จกรรมน� นจะเสร<จโด้ยไม1ทั-าให�โตรงการน� นลิ1าช้�าออกไปกวิ1าก-าหนด้
48
49
การค-านวิณเวิลิา LS แลิะ LF น� นค-านวิณจากขั้วิาไปซ�าย เร�+มจากจ$ด้ส$ด้ทั�ายต�นขั้1ายงาน ทั#+เวิลิาโครงการ แลิ�วิไปส� นส$ด้ทั#+จ$ด้เร�+มต�นขั้องขั้1ายงาน โด้ยทั#+เวิลิาตรงห�วิลิ'กศรค*อ LF จากน� น ให�บ�นทั6กเวิลิาทั#+ค-านวิณได้�ลิง ตารางค-านวิณในช้1อง LSแลิะ LF ตามลิ-าด้�บ
49
50
ต�วิอย1างทั#+ 3 ต�วิอย1างทั#+ 3 จงค-านวิณเวิลิา ESแลิะEFขั้อง
ต�วิอย1างทั#+ 1
50
51
ต�วิอย1างทั#+ 3 จงค-านวิณเวิลิา LSแลิะLFขั้องต�วิอย1างทั#+ 1
51
5252
5353
5454
5555
56
ขั้� นทั#+3 ค-านวิณเวิลิา slack หมายถุ6งเวิลิาวิ1างทั#+ก�จกรรมน� นลิ1าช้�าได้�โด้ยจะไม1ทั-าให�โครงการน� นลิ1าช้�ากวิ1าก-าหนด้ก�จกรรมทั#+ม#เวิลิา slack เป3นศ'นย�หมายถุ6ง ก�จกรรมวิ�กฤต (critical path)
56
57
จากน� นให�ระบ$ก�จกรรมวิ�กฤตทั� งหมด้ออกมาจะทั-าให�ได้�เส�นทัางวิ�กฤตขั้องโครงการ เวิลิาขั้องเส�นทัางวิ�กฤตจะเป3นเวิลิาทั#+ยาวิทั#+ส$ด้เม*+อเทั#ยบก�บเส�นทัางอ*+นบนโครงการน� น เวิลิาเส�นทัางวิ�กฤตเทั1าก�บเวิลิาโครงการ ถุ�าก�จกรรมใด้บน
เส�นทัางวิ�กฤตทั-าไม1เสร<จตามทั#+ระบ$ไวิ� จะม#ผลิทั-าให�โครงการน� นลิ1าช้�าออกไป
slack = LS – ES หร*อ slack = LF - EF
57
5858
5959
6060
61
การก-าหนด้หาเวิลิาคาด้คะเนแลิะควิามน1าจะเป3นทั#+โครงการจะส-าเร<จขั้อง PERT เวิลิาแต1ลิะก�จกรรมขั้อง PERT น� นม#สามค1า ค*อ
เวิลิามองโลิกแง1ด้#(Optimistic time, a) ค*อ เวิลิาน�อยส$ด้ทั#+จะทั-าก�จกรรมน� นส-าเสร<จได้� เม*+อทั$กส�+งทั$กอย1างไม1ม#ป=ญ่หาโอกาสทั#+จะเก�ด้เวิลิาน# ได้� ม#ค1าน�อยมาก ประมาณ 1100/
เวิลิาน1าจะเป3นมากทั#+ส$ด้(Most likely time, m) ค*อ เวิลิาทั#+น1าจะเป3นไปได้�ทั#+ก�จกรรมน� นจะเสร<จ เม*+อทั-าก�จกรรมแลิ�วิพื่บป=ญ่หาบ�างไม1พื่บบ�าง
เวิลิามองโลิกแง1ร�าย(Pessimistic time, b) ค*อ เวิลิาช้�าทั#+ส$ด้ทั#+ก�จกรรมน� นจะส-าเร<จได้� เม*+อทั$กส�+งทั$กอย1างม#ป=ญ่หาแต1ม#โอกาสเก�ด้น�อยมากเช้1นเด้#ยวิก�บเวิลิา a
61
6262
6363
6464
65
ต�วิอย1างทั#+ 4 โครงการต�ด้ต� ง
ระบบไฟฟ>าให�ก�บ อาคารขั้นาด้ส'ง 30
ช้� น ประกอบด้�วิยก�จกรรมแลิะเวิลิาก�จกรรมต1อไปน#
65
6666
6767
6868
6969
7070
7171
7272
73
การเร1งร�ด้โครงการด้�วิย CPM การประมาณค�าใชั�จ�าย่ของโครงการ โด้ย่ที่�!วไปจะประมาณการจาก
ที่ร�พัย่ากรที่$!ใชั�ในการที่&าก�จกรรมซ+!งประกอบด้�วย่ เวลา แรงงาน และเง�นที่�น
ในกรณ$ที่$!ต์�องการเร�งร�ด้โครงการให�เสำร7จเร7วข+0นกว�าที่$!คาด้หมาย่สำามารถึที่&าได้�โด้ย่การระด้มที่ร�พัย่ากรเพั�!มข+0น ค อ แรงงาน และเง�นที่�น
การเร�งร�ด้โครงการให�เสำร7จเร7วข+0นอาจต์�องที่&าเพั !อหล$กเล$!ย่งความเสำ$ย่หาย่ที่$!จะเก�ด้ข+0นเน !องจากการที่&าโครงการล�าชั�ากว�าที่$!ก&าหนด้ เชั�น ถึ/กปร�บ หร อเพั !อประโย่ชัน�ในการลด้ค�าใชั�จ�าย่ด้�านการด้&าเน�นการ
74
การเร1งร�ด้โครงการ ต์�องเร�งร�ด้ก�จกรรมว�กฤต์เที่�าน�0น เพัราะการเร�งร�ด้ก�จกรรมที่$!
ไม�ใชั�ก�จกรรมว�กฤต์จะไม�ม$ผลที่&าให�เวลาแล�วเสำร7จของโครงการเสำร7จเร7วข+0น
เล อกเร�งร�ด้ก�จกรรมว�กฤต์ที่$!ม$ต์�นที่�นเพั�!มข+0นอ�นเก�ด้จากการเร�งร�ด้ต์&!าที่$!สำ�ด้ก�อน
การเร�งร�ด้ก�จกรรมเพั !อที่&าให�โครงการแล�วเสำร7จเร7วข+0นควรที่&าเฉพัาะที่$!ที่&าแล�วผลประโย่ชัน�ที่$!ได้�ร�บจากการเร�งร�ด้โครงการ ม$ค�าสำ/งกว�าต์�นที่�นที่$!ต์�องจ�าย่เพั�!มข+0นเพั !อการเร�งร�ด้ก�จกรรม
75
กราฟแสด้งควิามส�มพื่�นธ�ระหวิ1างเวิลิาแลิะต�นทั$น
76
ขั้� นตอนการเร1งร�ด้ก�จกรรมเพื่*+อให�โครงการเสร<จเร<วิขั้6 น รวบรวมข�อม/ล หาความสำ�มพั�นธ์�ระหว�างเวลาแล�วเสำร7จ และ
ต์�นที่�นของการด้&าเน�นก�จกรรมของที่�กก�จกรรมในโครงการ ว�เคราะห�หาว�ถึ$ว�กฤต์ เร�งร�ด้ก�จกรรมว�กฤต์ โด้ย่เล อกเร�งร�ด้ก�จกรรมที่$!ม$ต์�นที่�น
การเร�งร�ด้งานต์&!าที่$!สำ�ด้ก�อน การเร�งร�ด้ให�ที่&าที่$ละหน�วย่เวลาและที่&าการเร�งร�ด้จนกว�าจะได้�เวลาแล�วเสำร7จของโครงการ
ต์ามที่$!ต์�องการ หร อจนกว�าต์�นที่�นการเร�งร�ด้ก�จกรรมจะม$ค�าสำ/งกว�าผลประโย่ชัน�ที่$!ได้�จากการเร�งร�ด้โครงการ
77
ต�วิอย1าง จงหาว�าควรเร�งร�ด้โครงการให�เสำร7จในเวลาก$!ว�นจ+งจะด้$
ที่$!สำ�ด้ ถึ�าการด้&าเน�นโครงการต์�องเสำ$ย่ค�าใชั�จ�าย่ว�นละ 1,150 บาที่
78
วิ�ธ#ทั-า ว�เคราะห�หาว�ถึ$ว�กฤต์ของข�าย่งานประกอบด้�วย่
ก�จกรรม C, D, E และ F โด้ย่ม$เวลาแล�วเสำร7จของโครงการเที่�าก�บ T=20 ว�น
พั�จารณาก�จกรรมว�กฤต์ โด้ย่น&ามาจ�ด้ล&าด้�บต์ามต์�นที่�นการเร�งร�ด้ก�จกรรม
79
วิ�ธ#ทั-า (ต1อ) เล อกเร�งร�ด้ก�จกรรมที่$!ม$ต์�นที่�นเร�งร�ด้ต์&!าสำ�ด้ ค อ ก�จกรรม C
เป1นล&าด้�บแรกซ+!งจะต์�องเสำ$ย่ต์�นที่�น 300 บาที่ต์�อว�น (น�อย่กว�าค�าด้&าเน�นการโครงการที่$!ม$ 1 , 150 บาที่ต์�อว�น )ที่&าให�โครงการเสำร7จเร7วข+0น 1 ว�น (T=19 ว�น)
ว�เคราะห�ว�ถึ$ว�กฤต์ของข�าย่งานหล�งจากเร�งร�ด้งาน C แล�ว พับว�าว�ถึ$ว�กฤต์ย่�งคงเป1นว�ถึ$เด้�ม ค อ C-D-E-F ด้�งน�0นเล อกเร�งร�ด้ก�จกรรมที่$!ม$ต์�นที่�นการเร�งร�ด้ก�จกรรมต์&!าสำ�ด้ถึ�ด้ไปค อ ก�จกรรม E ซ+!งม$ต์�นที่�นการเร�งร�ด้ก�จกรรม 600 บาที่ต์�อว�น
80
วิ�ธ#ทั-า (ต1อ) ว�เคราะห�หาว�ถึ$ว�กฤต์หล�งการเร�งร�ด้ก�จกรรม E ลง 1 ว�น
( T=18ว�น) จะได้�ว�าว�ถึ$ว�กฤต์จะม$ 2 ว�ถึ$ ค อ C-D-E-F และ A-B-F ด้�งแสำด้งในต์าราง
81
วิ�ธ#ทั-า (ต1อ) ก�จกรรม F เป1นก�จกรรมร�วมของว�ถึ$ว�กฤต์ที่�0งสำอง เล อกเร�งร�ด้
ก�จกรรมน$0โครงการเสำร7จเร7วข+0น 1 ว�น (T=17)โด้ย่ต์�นที่�นการเร�งร�ด้ค อ 800 บาที่ ถึ�าเร�งร�ด้ก�จกรรม B และ E ก7สำามารถึที่&าให�เวลาของโครงการเสำร7จเร7วข+0น 1 ว�นเชั�นเด้$ย่วก�น แต์�ต์�นที่�นการเร�งร�ด้จะสำ/งกว�าค อ1,100 บาที่ (500+600)
หล�งการเร�งร�ด้ก�จกรรม F จะได้�ว�าว�ถึ$ว�กฤต์ย่�งคงม$ 2 ว�ถึ$ ค อ A-B-F และ C-D-E-F ที่&าการเร�งร�ด้ B และ E อ$กคร�0ง จะได้� T=16 ว�น
82
วิ�ธ#ทั-า (ต1อ) หล�งการเร�งร�ด้ก�จกรรม B และ E พับว�า ว�ถึ$ว�กฤต์ย่�งคงเป1น A-B-F
และ C-D-E-F ซ+!งสำามารถึเร�งร�ด้ B และ D ได้�แต์�ผลรวมของต์�นที่�นการเร�งร�ด้งานเที่�าก�บ 1,200 บาที่ (500+700) ซ+!งม$ค�ามากกว�าค�าด้&าเน�นการปกต์� ด้�งน�0นจ+งไม�เร�งร�ด้งานต์�อไป โด้ย่ให�โครงการเสำร7จในเวลา T=16 ว�น
83
การประมาณการซอฟต�แวิร� (Software Estimation ) การประมาณการซอฟต์�แวร� เป1นสำ�วนที่$!สำ&าค�ญในการ
วางแผนงาน เน !องจากแผนงานน�0นจะอย่/�บนพั 0นฐานของสำ�!งที่$!ต์�องการที่&าการจ�ด้สำร�างหร อพั�ฒนา โด้ย่ในสำ�วนของซอฟต์�แวร�น� 0นม�มมองหล�กที่$!มองถึ+ง ค อเร !องของขนาด้ (Size) ค�าใชั�จ�าย่ (Cost) บ�คลากรที่$!ใชั�ในการพั�ฒนา (Effort)
83
84
Size Estimation สำ�!งแรกที่$!จะต์�องที่&าก�อนการ
เร�!มต์�นการประมาณการ ค อ การว�ด้ แย่กล�กษณะการว�ด้ออกเป1น 2 เชั�ง ค อ การว�ด้ในเชั�งปร�มาณ (Software Quantitative) และการว�ด้เชั�งค�ณภาพั (Software Qualitative)
84
85
Size Estimation กรรมว�ธ์$ที่$!ใชั�ในการว�ด้ขนาด้ของซอฟต์�แวร� ม$
2 ล�กษณะ ค อ Line of Code (LOC) Count Function Point (FP)
85
86
Line of Code (LOC) Count น�บเฉพัาะบรรที่�ด้ที่$!ม$การจ�ด้สำ�งเป1น Source Code ไม�น�บรวม
สำ�วนของการที่ด้สำอบ (Test Driver) หร อสำ�วนงานที่$!รองร�บการที่&างานอ !นๆ
น�บเฉพัาะบรรที่�ด้ที่$!พั�ฒนาโด้ย่บ�คลากร ไม�น�บรวมสำ�!งที่$!ระบบงานสำามารถึ Generate ได้�อ�ต์โนม�ต์�
ถึ อว�าหน+!งค&าสำ�!ง ค อ หน+!ง Line of Code <LOC> น�บสำ�วนของการประกาศค�า (Declaration) เป1นสำ�วนของ
Instruction ไม�น�บสำ�วนของการขย่าย่ความ หร อ Comment
86
87
Function Point (FP) ป2จจ�บ�นการน�บขนาด้ของโปรแกรมด้�วย่การน�บบรรที่�ด้น�0น ไม�
สำามารถึให�ผลการว�ด้ในเชั�งผลสำ�มฤที่ธ์�=ของโปรแกรมได้�อย่�างชั�ด้เจน การน&าว�ธ์$การน�บด้�วย่ฟ2งก�ชั� !นพัอย่ต์�เข�ามาใชั�น� 0น จ+งได้�ร�บความสำนใจ
การว�ด้ด้�วย่ฟ2งก�ชั�นพัอย่ต์� จะม��งเน�นที่$!การว�ด้ด้�วย่ฟ2งก�ชั�น หร อการว�ด้โด้ย่ผ�านม�มมองความต์�องการของซอฟต์�แวร�
Allan Albrecht [1] John Gaffney, Jr [2] ได้�ออกแบบ FPs ที่$!ใชั�ว�ด้ฟ2งก�ชั� !นพัอย่ต์� FPs เป1นผลรวมของขนาด้ ข�อม/ลเข�า , ข�อม/ลออก , ข�อม/ลความต์�องการ , แฟ>มข�อม/ล และสำ�วนของโปรแกรมที่$!ใชั�ในการต์�ด้ต์�อก�บล/กค�า
87
88
Function Point (FP) กระบวินการน�บฟ=งก�ช้�นพื่อยต� ม#ลิ�กษณะด้�งน# ขั้� นทั#+ 1 น-า Requirement ทั#+เก<บรวิบรวิมไวิ�มาทั-าการแบ1งฟ=งก�ช้�นพื่อยต�ขั้� นทั#+ 2 ประเม�นควิามซ�บซ�อนขั้องฟ=งก�ช้�นขั้� นทั#+ 3 เปร#ยบเทั#ยบควิามซ�บซ�อน เพื่*+อให�ได้�ระด้�บควิามซ�บซ�อน เพื่*+อค-านวิณ
ฟ=งก�ช้�นพื่อยต�ทั#+ย�งไม1ได้�ปร�บค1า (Unadjusted Function Point : UFP) ขั้� นทั#+ 4 ค-านวิณค1าต�วิแปรปร�บค1า (Value Adjustment Factor) ตาม
ลิ�กษณะขั้องโครงการขั้� นทั#+ 5 ค-านวิณจ-านวินฟ=งก�ช้�นพื่อยต�ทั#+ผ1านการปร�บค1า (Adjusted Function
Point : AFP)
ขั้� นทั#+ 6 ฟ=งก�ช้�นพื่อยต�ทั#+ผ1านการปร�บค1า สามารถุน-าไปค-านวิณเป3น LOC ได้�
88
89
Function Point (FP) ประเภที่ของฟ2งก�ชั�นพัอย่ต์� สำามารถึแบ�งได้� 5 ล�กษณะ
หล�ก ค อ External Input (EI) External Output (EO) External Inquiry (EQ) Internal Logical Files (ILF) External Interface Files (EIF)
89
90
Function Point (FP)90
91
Function Point (FP) แต์�ละฟ2งก�ชั�นพัอย่ต์�น�0น ม$องค�ประกอบต์�างๆ ใน
ฟ2งก�ชั�นแต์�ละประเภที่ซ+!งจะแต์กต์�างก�นได้� เชั�น การเก$!ย่วข�องก�บองค�ประกอบข�อม/ล (Data Element :
DET) เป1นข�อม/ล เปร$ย่บเสำม อนฟ?ลด้�ข�อม/ลที่$!สำนใจในแต์�ละฟ?ลด้�
เรคคอร�คข�อม/ล (Record Element : RET)กล��มของข�อม/ล หร อกล��มย่�อย่ของ DET หร อการน�บประเภที่
ของเรคคอร�ด้ข�อม/ลที่$!เก$!ย่วข�องสำ�มพั�นธ์�ก�บฟ2งก�ชั�นที่$!สำนใจ ประเภที่ไฟล� (File Type of Record : FTR)
91
92
ค&านวณ Function Point (FP)
จ&านวนของฟ2งก�ชั�น หาได้�จาก FP ที่$!ย่�งไม�ได้�ถึ/กปร�บแต์�ง (Unadjusted Function Point : UFP) ค/ณก�บค�าป2จจ�ย่ค�ณล�กษณะของระบบ (Value Adjustment Factor : VAF)
FP = UFP x VAF
VAF = 0.65 + [0.01 x Total DI]
DI : Degree of Influence
92
93
UAF จะเห7นว�าการก&าหนด้ฟ2งก�ชั�นโด้ย่แย่กออกเป1น 5
ประเภที่หล�ก ต์ามล�กษณะของการที่&างานน�0น จะชั�วย่ที่&าให�การประเม�นล�กษณะความต์�องการของซอฟต์�แวร� การพั�จารณาองค�ประกอบที่$!เก$!ย่วข�องก�บประเภที่ของแต์�ละฟ2งก�ชั�นพัอย่ต์�น�0น จะที่&าให�สำามารถึพั�จารณาความซ�บซ�อนของฟ2งก�ชั�นพัอย่ต์�ได้�อย่�างเป1นร/ปธ์รรมมากข+0น โด้ย่พั�จารณาจากต์าราง
93
94
UAF94
95
UAF จากต์ารางข�างบน จะได้�ระด้�บความซ�บซ�อนของการ
ที่&างาน จากน�0นน&าค�าความซ�บซ�อนที่$!เป1นค�าเฉล$!ย่มาที่&าการค&านวณค�า Complexity weight ต์ามต์ารางน$0
95
96
VAFการประเม�น VAF น�0นจะประเม�นค�าของ 14 ป2จจ�ย่ ด้�งน$01 . การต์�ด้ต์�อสำ !อสำารข�อม/ล (Data Communication)2. การประมวลผลข�อม/ลแบบกระจาย่ (Distributed Data
Processing)3. ประสำ�ที่ธ์�ภาพัของระบบ (Performance)4. การแก�ไขค�าของระบบ (Configuration)5. ปร�มาณราย่การข�อม/ล (Transaction)6. การป>อนข�อม/ลเข�าสำ/�ระบบแบบออนไลน� (Online Data
Entry)
96
97
VAF7 . ประสำ�ที่ธ์�ภาพัการใชั�งานของผ/�ใชั� (End user Efficiency)8. การปร�บปร�งข�อม/ลแบบออนไลน� (Online Update)9. ความซ�บซ�อนของการประมวลผล (Complex
Processing)10. การน&าไปใชั�ซ&0าได้� (Reusability)1 1 .ความง�าย่ในการต์�ด้ต์�0ง (Installation Ease)1 2 .ความง�าย่ในการด้&าเน�นงาน (Operational Ease)1 3 .การใชั�งานได้�หลาย่ไซต์� (Multiple Sites)
97
98
VAF1 4 .รองร�บการเปล$!ย่นแปลงความต์�องการของผ/�ใชั� (Change
Requirement)โด้ย่การประเม�นน�0น แบ�งออกเป1น 5 ระด้�บต์าม Degree of
Influence (DI) 0 Not Present ไม�ม$ผลเก$!ย่วข�องก�บต์�วแปรน�0นๆ
1 Incidental Influenceม$ความเก$!ย่วข�องก�บต์�วแปรน�0นๆ โด้ย่ม$เก�ด้ข+0นใน ระบบงาน ไม�กระที่บต์�อการที่&างาน
2 Moderate Influence ม$ความเก$!ย่วข�องก�บต์�วแปรน�0นๆ โด้ย่ม$เก�ด้ข+0นใน ระบบงาน กระที่บต์�อการที่&างาน โด้ย่ที่&าให�การ ที่&างานซ�บซ�อนข+0นบ�างเล7กน�อย่
98
99
VAF3 Average Influence ม#ควิามเก#+ยวิขั้�องก�บต�วิแปรน� นๆ
โด้ยม#เก�ด้ขั้6 นใน ระบบงาน กระทับต1อการทั-างาน โด้ยทั-าให�การ ทั-างานซ�บซ�อนขั้6 น
4 Significant Influence ม#ควิามเก#+ยวิขั้�องก�บต�วิแปรน� นๆ โด้ยม#เก�ด้ขั้6 นใน ระบบงาน กระทับต1อการทั-างาน โด้ยทั-าให�การ ทั-างานซ�บซ�อนค1อนขั้�างมาก
5 Strong Influence ม#ควิามเก#+ยวิขั้�องก�บต�วิแปรน� นๆ โด้ยม#เก�ด้ขั้6 นใน ระบบงาน กระทับต1อการทั-างาน โด้ยทั-าให�การ ทั-างานซ�บซ�อนมาก
99
100
ต์ารางเปร$ย่บเที่$ย่บค�า FP เพั !อแปลงไปเป1น LOC
100
101
ต์�วอย่�างการค&านวณค�าฟ2งก�ชั�นพัอย่ต์� จาก Use case
Diagram ด้�งร/ป จะที่&าการแย่กประเภที่ของ use case ต์ามฟ2งก�ชั�นพัอย่ต์�
101
102
ต์�วอย่�าง102
103
ต์�วอย่�าง ที่&าการเปร$ย่บเที่$ย่บค�าของ
Value Adjustment Factors : VAF
103
104
ต์�วอย่�างVAF = 0.65 + [0.01 x 17]
= 0.82FP = UFP x VAF
= 23 x 0.82= 18.86 FP
ถึ�าหากจ�ด้ที่&าซอฟต์�แวร�โด้ย่ใชั�ภาษาจาวา จะได้�ค�า LOC= 18.86 x 53 = 999.58 ~1000
LOC
104
105
การประมาณการบ�คลากร Productivity : ประสำ�ที่ธ์�ผลในการผล�ต์งาน
Productivity = Output Size (LOC or Function Point)
Effort (Man-Month)
105
106
COCOMO B oehm B.W. ได้�พั�ฒนา COCOMO Model
(Constructive Cost Model) เพั !อว�ด้ Effort ในการพั�ฒนาซอฟต์�แวร�ที่$!ค�ด้เป1นหน�วย่ คน-เด้ อน (person-month) ที่$!ประมาณจากขนาด้ของโปรแกรม โด้ย่น�บจ&านวนบรรที่�ด้ของโปรแกรมต์�นฉบ�บเป1นหล�ก
แบบจ&าลอง COCOMO ถึ/กพั�ฒนาเป1นเวอร�ชั� !น 2 ค อ COCOMO II แบ�งแบบจ&าลองออกเป1น 3 ชัน�ด้ เพั !อใชั�ประมาณการในระย่ะต์�างๆ ของกระบวนการพั�ฒนาซอฟต์�แวร�
106
107
COCOMO II Application Composition Model
เหมาะก�บการผลิ�ตซอฟต�แวิร�ด้�วิยแนวิทัางคอมโพื่เน�นทั� โด้ยแต1ลิะคอมโพื่เน�นทั�สามารถุอธ�บายแทันด้�วิย Object Point ได้� ขั้นาด้ขั้องซอฟต�แวิร�น�บเป3น Object Point
Early Design Model ใช้�ประมาณการในระยะก1อนการออกแบบซอฟต�แวิร� แต1หลิ�งจากการก-าหนด้
ควิามควิามต�องการแลิ�วิ ใช้�ค1า FP แทันขั้นาด้ขั้องซอฟต�แวิร� Post-Architecture Model
ใช้�ประมาณการในระยะหลิ�งการออกแบบซอฟต�แวิร� เป3นการประมาณการอ#กคร� งเพื่*+อควิามถุ'กต�องขั้องค1าประมาณการทั#+ได้�
107
108
COCOMO II โมเด้ลิการค-านวิณขั้อง COCOMO II
PM ค อ Effort ม$หน�วย่เป1น Person-Months (PM)A ค�าคงที่$!ที่$!ได้�จากการรวบรวมข�อม/ลใน 161 โครงการ โด้ย่ A = 2.94E ค อ Economics of Scale ซ+!งเป1นผลที่$!ขนาด้ของซอฟต์�แวร�สำ�มพั�นธ์�ก�บขนาด้ของโครงการ
โด้ย่ E = B + 0.01 * Scale FactorsB Scaling Base-exponent สำ&าหร�บค&านวณ EffortEM ค อ Effort Multipliers เป1นค�าที่$!ได้�จากการค&านวณ Cost Driver ที่$!เก$!ย่วก�บ
โครงการ ที่$!สำ�งผลต์�อ Effort ในการพั�ฒนาซอฟต์�แวร�PMauto ค�าของ Effort ที่$!ได้�จากการแปลงอ�ต์โนม�ต์� ซ+!งจะเก�ด้เม !อม$การ Reuse Code โด้ย่
ค�าน�0นจะไม�ม$ผลต์�อการพั�ฒนา แต์�เน !องจากม$ผลต์�อค�าใชั�จ�าย่ ถึ�าเป1นการพั�ฒนาซอฟต์�แวร�ใหม� ค�า PMauto จะเป1น 0
PM = A x SizeE x EM + PMauto
108
109
COCOMO II ระย่ะเวลาที่$!ใชั�ในการพั�ฒนาซอฟต์�แวร�ม$สำ/ต์รด้�งน$0
TDEV = [ C x (PM)F ] x SCED%
100
C ค อ Schedule Coefficient ที่$!ใชั�มาค&านวณ โด้ย่ C = 3.67F ค อ Scaling Exponent สำ&าหร�บระย่ะเวลา โด้ย่ F = [ D + 0.2 (E-B) ]D Scaling Base-exponent สำ&าหร�บ ระย่ะเวลา โด้ย่ D = 0.28SCED ค อ ความร$บเร�งของเวลาเม !อเปร$ย่บเที่$ย่บก�บการพั�ฒนาปกต์�
109