More Related Content Similar to 03 using psp0 (20) 03 using psp02. หัวข้อ
• การใช้กระบวนการ
• กระบวนการ PSP0
• การบันทึกข้อมูล
• ตัวอย่างข้อมูล
• ข้อควรระวังในการบันทึกข้อมูล
• สรุป
Revision 2.2 03 การใช้งาน PSP0 2
3. การปฏิบัติตามกระบวนการ
ตรวจ
ทำางาน เกณฑ์การ
สิ้นสุด
บันทึกเวลา บันทึกเวลา
เริ่มต้น สิ้นสุด
ตรวจ บันทึกข้อ
เกณฑ์การ บกพร่อง
เริ่มต้น
• ตรวจเกณฑ์การเริ่มต้นก่อนเริ่มต้นเฟส
• บันทึกเวลาเริ่มต้น
• ทำางานและบันทึกข้อบกพร่องทีพบและแก้ไข
่
• ตรวจเกณฑ์การสิ้นสุดก่อนจะจบเฟส
• บันทึกเวลาสินสุด
้
Revision 2.2 03 การใช้งาน PSP0 3
4. กระบวนการ PSP
• PSP ไม่ ใ ช่ กระบวนการสำาหรับการเขียน
โปรแกรม แต่เป็นกระบวนการสำาหรับเรี ย นรู ้
เรื ่ อ งกระบวนการ
• PSP เป็นเพียงตัวอย่างของกระบวนการ
• หลังศึกษา PSP แล้วเราควรที่จะ
– สำารวจตรวจสอบข้อมูล PSP ของเราเอง
– ทบทวนสิ่งทีเรียนรู้แล้วนำามาปรับใช้กับตนเอง
่
– สร้างกระบวนการให้สอดคล้องกับบริบทของตนเอง
Revision 2.2 03 การใช้งาน PSP0 4
5. กระบวนการ PSP0
• PSP0 เป็นกระบวนการอย่างง่ายๆ ประกอบด้วย
– วางแผน
– พัฒนาโปรแกรมด้วยวิธีการทีใช้ในปัจจุบัน
่
– รวบรวมข้อมูลเกียวกับเวลาและข้อบกพร่องจากงาน
่
– จัดทำารายงานสรุป
Revision 2.2 03 การใช้งาน PSP0 5
7. กระบวนการ PSP0
ใน PSP0 เราจะเรียนรู้
• การปฏิบัติตามกระบวนการ
• การบันทึกเวลา
• การบันทึกข้อบกพร่อง (defect)
• ประสิทธิภาพการทำางานเบืองต้น (productivity)
้
• สมรรถนะในการทำางาน (performance)
Revision 2.2 03 การใช้งาน PSP0 7
8. ขั้นตอนของ PSP0
ความต้องการ
วางแผน
คู่มือการ ใช้เป็น
ปฏิบัติงาน แนวทาง ออกแบบ
เขียนโค้ด
พัฒนา
กระบวนการ แบบฟอร์ม
คอมไพล์
ใช้เป็น
มาตรฐาน
แนวทาง ทดสอบ
สรุปจบ สรุป
โครงการ
(ตัววัดต่างๆ)
ซอฟต์แวร์
ดัดแปลงมาจาก Introduction to PSP
Revision 2.2 03 การใช้งาน PSP0 8
and TSP, Software Engineering
Institute, 2006
9. องค์ประกอบของกระบวนการ PSP0
• คูมือการปฏิบติ (4 กระบวนการ)
่ ั
– เพือเป็นแนวทางในการปฏิบัติตามกระบวนการ
่
• แบบฟอร์ม (3 แบบฟอร์ม)
– เพือช่วยเก็บรวบรวมข้อมูล
่
• มาตรฐาน (1 มาตรฐาน)
– เพือเป็นแนวทางในการปฏิบัติงาน
่
• ตัววัดพื้นฐาน (2 ตัว)
– เวลา และ ข้อบกพร่อง
Revision 2.2 03 การใช้งาน PSP0 9
10. คูมือการปฏิบัตงาน PSP0
่ ิ
จุ ด ประสงค์ เพื่อเป็นแนวทางการพัฒนาโปรแกรมระดับโมดูล
เกณฑ์ ก ารเริ ่ ม โจทย์หรือความต้องการ
ต้ น แบบฟอร์มสรุปแผนโครงการ PSP0
แบบฟอร์มบันทึกเวลาและแบบฟอร์มบันทึกข้อบกพร่อง
มาตรฐานข้อบกพร่อง
นาฬิกาจับเวลา (ถ้าจำาเป็น)
ลำ า ดั กิ จ กรรม รายละเอี ย ด
1
บ วางแผน จัดทำาหรือจัดหารายการความต้องการ
ประมาณเวลาทีจะใช้ในการพัฒนาแล้วบันทึกในแบบฟอร์มสรุปแผนโครงการ
่
บันทึกเวลาในแบบฟอร์มบันทึกเวลา
2 พัฒนา ออกแบบโปรแกรม
เขียนโปรแกรม
คอมไพล์โปรแกรม และแก้ไขข้อบกพร่องทีพบ่
ทดสอบโปรแกรม และแก้ไขข้อบกพร่องที่พบ
บันทึกเวลาในแบบฟอร์มบันทึกเวลา
3 สรุปจบ บันทึกสรุปข้อมูลเวลาและข้อบกพร่องในแบบฟอร์มสรุปแผนโครงการให้สมบูรณ์
เกณฑ์ ก ารสิ ้ น สุ ด โปรแกรมผ่านการทดสอบอย่างถี่ถ้วน
แบบฟอร์มสรุปแผนโครงการมีขอมูลครบถ้วนสมบูรณ์
้
แบบฟอร์มบันทึกเวลาและแบบฟอร์มบันทึกข้อบกพร่องมีขอมูลครบถ้วนสมบูรณ์
้
Revision 2.2 03 การใช้งาน PSP0 ที่มา: Watts S. Humphrey, PSP: A 10
Self-Improvement Process for
Engineers , Addison-Wesley 2005
11. กระบวนการ PSP0
PSP0 Planning
Script
รวบรวมความ
PSP0 Process
ต้องการ
Script PSP0 Development
ประมาณ วางแผน Script
ทรัพยากร ออกแบบ
PSP0 Postmortem
Script
ตรวจข้อมูลข้อ พัฒนา เขียนโค้ด
บกพร่อง
ตรวจความคงเส้น คอมไพล์
คงวาของข้อมูล สรุปจบ
ตรวจสอบข้อมูล ทดสอบ
เวลา
Revision 2.2 03 การใช้งาน PSP0 11
12. เฟสใน PSP0
วางแผน
• PSP0 ประกอบด้วย 6 เฟส:
– วางแผน ออกแบบ
– ออกแบบ
– เขียนโค้ด เขียนโค้ด
– คอมไพล์ คอมไพล์
– ทดสอบ
– สรุป ทดสอบ
สรุป
Revision 2.2 03 การใช้งาน PSP0 12
13. เฟสใน PSP0
• วางแผน
– วางแผนสำาหรับการพัฒนาโปรแกรมตามความ
ต้องการ
• ออกแบบ
– จัดทำาแบบตามความต้องการ
• เขียนโปรแกรม
– แปลงแบบให้เป็นชุดคำาสั่ง
Revision 2.2 03 การใช้งาน PSP0 13
14. เฟสใน PSP0
• คอมไพล์
– แปลงชุดคำาสังให้เป็นโปรแกรมพร้อมใช้งาน
่
• ทดสอบ
– ตรวจดูว่าโปรแกรมทำางานสอดคล้องกับความ
ต้องการหรือไม่
• สรุป
– สรุปและวิเคราะห์ข้อมูล
Revision 2.2 03 การใช้งาน PSP0 14
16. เกณฑ์การเริ่มต้นและสิ้นสุด
เฟส เกณฑ์ ก ารเริ ่ ม ต้ น และสิ ้ น สุ ด
เริ่มเมื่อ เริ ่ ม การวางแผน
วางแผน
สิ้นสุดเมื่อ แผนสมบู ร ณ์
เริ่มเมื่อ เริ ่ ม การออกแบบ
ออกแบบ
สิ้นสุดเมื่อ แบบสมบู ร ณ์
เริ่มเมื่อ เริ ่ ม การเขี ย นโค้ ด
เขียนโค้ด
สิ้นสุดเมื่อ โค้ ด เขี ย นเสร็ จ สมบู ร ณ์
เริ่มเมื่อ เริ ่ ม คอมไพล์ ค รั ้ ง แรก
คอมไพล์
สิ้นสุดเมื่อ คอมไพล์ ผ ่ า น
เริ่มเมื่อ เริ ่ ม ทดสอบครั ้ ง แรก
ทดสอบ
สิ้นสุดเมื่อ ผ่ า นการทดสอบทั ้ ง หมดโดยไม่ ม ี ข ้ อ ผิ ด
พลาด เริ ่ ม สรุ ป การทำ า งาน
เริ่มเมื่อ
สรุป
สิ้นสุดเมื่อ การสรุ ป เสร็ จ สิ ้ น
Revision 2.2 03 การใช้งาน PSP0 จาก Dan Burton, Introduction to the 16
TSP and the PSP , SEI, 2005
17. ตัวอย่างที่ 1 ใช้ PSP0 กับการทำางาน
ตามลำาดับ
• สำาหรับโปรแกรมขนาด ออกแบบ
เล็กเราก็อาจจะใช้วิธี วางแผน
ทำางานตามลำาดับจนเสร็จ
(Waterfall) เขียนโค้ด
พัฒนา
คอมไพล์
สรุป
ทดสอบ
Revision 2.2 03 การใช้งาน PSP0 17
18. ตัวอย่างที่ 2 ใช้ PSP0 กับการเขียน
และคอมไพล์ทละส่วน
ี
• ถ้าโปรแกรมขนาด
ออกแบบ
ใหญ่ขึ้น เราอาจจะ วางแผน
ออกแบบก่อน
• จากนันแยกเขียน
้ เขียนโค้ด เขียนโค้ด
โค้ดและคอมไพล์ พัฒนา
ทีละโมดูล คอมไพล์ คอมไพล์
• แล้วทดสอบหลัง
จากคอมไพล์ทุก สรุป
โมดูล ทดสอบ
Revision 2.2 03 การใช้งาน PSP0 18
19. ตัวอย่างที่ 3 ใช้ PSP0 กับการเขียน
คอมไพล์และทดสอบทีละส่วน
• หรือ เราอาจจะ
วางแผน ออกแบบ
ออกแบบแล้ว
• ค่อยเขียนโค้ด
คอมไพล์ และ เขียนโค้ด เขียนโค้ด
ทดสอบ ทีละโมดูล พัฒนา
จนครบทุกโมดูล คอมไพล์ คอมไพล์
สรุป ทดสอบ ทดสอบ
Revision 2.2 03 การใช้งาน PSP0 19
20. ตัวอย่างที่ 4 ใช้ PSP0 กับการพัฒนา
แบบทยอยเพิ่มทีละส่วน (Incremental)
ถ้าโปรแกรมขนาด
ใหญ่มาก วางแผน ออกแบบ ออกแบบ
เราอาจจะแยกทยอย เขียนโค้ด เขียนโค้ด
พัฒนาทีละโมดูล พัฒนา
(Incremental) โดย คอมไพล์ คอมไพล์
ออกแบบ เขียนโค้ด
คอมไพล์ และทดสอบ
ทีละโมดูลจนครบทุก สรุป ทดสอบ ทดสอบ
โมดูล
Revision 2.2 03 การใช้งาน PSP0 20
21. แบบฟอร์ม PSP0
• ใน PSP0 เราใช้แบบฟอร์มต่อไปนี้ในการ
รวบรวมข้อมูล
– แบบฟอร์มสรุปแผนโครงการ PSP0
• สรุปผลการทำางาน
– แบบฟอร์มบันทึกเวลาการทำางาน
• บันทึกเวลาในการทำางาน
– แบบฟอร์มบันทึกข้อบกพร่อง
• บันทึกรายละเอียดข้อบกพร่องที่เกิดขึ้น
Revision 2.2 03 การใช้งาน PSP0 21
22. แบบฟอร์มสรุปแผนโครงการ PSP0
Student Date
Program Program #
Instructor Language
Time in Phase (min.) Plan Actual To Date To Date
%
Planning
Design
Code
Compile
Test
Postmortem
Total
Revision 2.2 03 การใช้งาน PSP0 22
25. แบบฟอร์มบันทึกเวลาการทำางาน
Student Date
Program Program #
Instructor Start Language
Date Delt
Projec and Int. Stop a
Phase Comments
t Time Time Date Time
and
Time
Revision 2.2 03 การใช้งาน PSP0 25
26. แบบฟอร์มบันทึกข้อบกพร่อง
Student Date
Program Program #
Instructor Language
Project Date Number Type Inject Remove Fix Time Fix Ref.
Description:
Project Date Number Type Inject Remove Fix Time Fix Ref.
Description:
Revision 2.2 03 การใช้งาน PSP0 26
27. มาตรฐานใน PSP0
ใน PSP0 มีเพียงมาตรฐานเดียวคือ
• มาตรฐานชนิดข้อบกพร่อง (Defect Type Standard)
ใช้เพือจำาแนกชนิดของข้อบกพร่อง เพื่อสะดวกในการ
่
ปรับปรุงแก้ไข
Revision 2.2 03 การใช้งาน PSP0 27
28. รหั
ชนิ ด สิ ่ ง ที ่ ผ ิ ด พลาด
ส
10 Documentation เอกสาร (Document) หมายเหตุ (Comment) ข้อความต่างๆ
(Message) คู่มือ (Manual)
20 Syntax ตัวสะกด (Spelling) เครื่องหมายวรรคตอนเช่น comma หรือ
semicolon พิมพ์ผิด (typos) รูปแบบคำาสั่ง (instruction formats)
30 Build, Package การจัดการความเปลี่ยนแปลง (Change management) ไลบรารี
(library) การควบคุมเวอร์ชั่น (version control) โปรเจคไฟล์ (project
file, make file, etc)
40 Assignment การประกาศตัวแปร (Declaration) การตั้งชื่อ (duplicate name)
ขอบเขต (scope) การกำาหนดค่าเริ่มต้น (initialization) การดำาเนินการ
เมื่อเสร็จสิ้นการใช้งาน (finalization) ช่วงค่า (range)
50 Interface การเรียกใช้ฟังก์ชั่น (Procedure calls) การติดต่อกับ input/output (I/
O) รูปแบบการแสดงผล (User format)
60 Checking ข้อความแสดงความผิดพลาด (Error messages) การตรวจทีไม่เพียง ่
พอ (inadequate checks)
70 Data โครงสร้าง (Structure) เนื้อหา (content)
80 Function ตรรกะ (Logic) พ้อยเตอร์ (pointers) การวนรอบ (loops) การเรียกใช้
ตัวเอง (recursion) การคำานวณ (computation) หน้าที่การทำางาน
(function)
90 System ปัญหาของระบบซึงอยู่นอกเหนือจากโปรแกรม เช่น Configuration ของ
่
ระบบปฏิบัติการ ฮาร์ดแวร์ หน่วยความจำา
100 Environment ปัญหาของ compiler, editor, IDE, test tool หรือสิ่งอื่นๆ ที่เกี่ยวข้องกับ
environment ที่ใช้ในการพัฒนาโปรแกรม
Revision 2.2 03 การใช้งาน PSP0 28
29. ตัววัดใน PSP0
• ข้อมูลปฐมภูมิที่เรารวบรวมใน PSP0 ได้แก่
– เวลาทีใช้ในแต่ละเฟส
่
• เริ่มและสิ้นสุดเมื่อไร
• ถูกขัดจังหวะไปเท่าไร
– ข้อบกพร่อง
• ชนิดไหน
• เกิดที่เฟสไหน
• ขจัดในเฟสไหน
• เวลาที่ใช้ในการค้นหาและขจัดข้อบกพร่อง
• รายละเอียดของสาเหตุ
Revision 2.2 03 การใช้งาน PSP0 29
30. ตัววัดอื่นๆ
• จากข้อมูลพืนฐานทีเก็บรวบรวมใน PSP0 เราสามารถ
้ ่
คำานวณตัววัดอื่นๆทีเป็นประโยชน์ได้เช่น
่
– เปอร์เซ็นต์ของเวลาในแต่ละเฟส (% Time-in-phase)
– เปอร์เซ็นต์ของข้อบกพร่องที่เกิด (% Defect injected)
– เปอร์เซ็นต์ของข้อบกพร่องที่ขจัด (% Defect removed)
– ต้นทุนคุณภาพ (Cost of Quality หรือ COQ)
– อัตราการเกิดข้อบกพร่อง (Defect Injection Rate)
– อัตราการขจัดข้อบกพร่อง (Defect Removal Rate)
– ต้นทุนในการดำาเนินธุรกิจ (Overhead)
Revision 2.2 03 การใช้งาน PSP0 30
31. ตัววัดที่ได้จากการคำานวณใน PSP0
โดยจะใช้เป็นจุดอ้างอิงในอนาคต
• เปอร์เซ็นของเวลาในแต่ละเฟส (% Time-in-phase)
– แสดงถึงสัดส่วนการใช้เวลาในแต่ละเฟส
• เปอร์เซ็นของข้อบกพร่องทีเกิด (% Defect injected)
่
– แสดงถึงสัดส่วนของการเกิดข้อบกพร่องในแต่ละเฟส
• เปอร์เซ็นของข้อบกพร่องทีขจัด (% Defect removed)
่
– แสดงถึงสัดส่วนของการขจัดข้อบกพร่องในแต่ละเฟส
Revision 2.2 03 การใช้งาน PSP0 31
32. ตัวอย่างตัววัดอื่นทีสามารถคำานวณได้
่
ใน PSP0 แต่ยังไม่ใช้ใน PSP0
• ต้นทุนคุณภาพ (Cost of Quality หรือ COQ)
– สัดส่วนต้นทุนของความผิดพลาด (Percent Failure COQ)
• แสดงถึงค่าใช้จ่ายที่เกิดขึ้นเมื่อมีความบกพร่องเกิดขึ้นทำาให้จะต้อง
เสียเวลา และค่าใช้จ่ายในการแก้ไข
• อัตราการเกิดข้อบกพร่อง (Defect Injection Rate)
– แสดงถึงอัตราการเกิดข้อบกพร่องต่อหน่วยเวลา
• อัตราการขจัดข้อบกพร่อง (Defect Removal Rate)
– แสดงถึงอัตราในการขจัดข้อบกพร่องต่อหน่วยเวลา
• ต้นทุนในการดำาเนินธุรกิจ (Overhead)
– แสดงถึงค่าใช้จ่ายในการวางแผนและสรุปโครงากร
Revision 2.2 03 การใช้งาน PSP0 32
33. ตัวอย่างการบันทึกข้อมูล
• มานะ ตั ้ ง ใจเรี ย นเป็นนักศึกษาวิชา SE514 ใช้ PSP0 ใน
การเขียนโปรแกรมเพื่อส่งอาจารย์ส ะอาด สอนดี
• มานะเริ่มการวางแผนโดยบันทึกเวลาเริ่มต้นในแบบฟอร์มบันทึก
เวลา
• หลังอ่านโจทย์ซึ่งจะให้เขียนโปรแกรมเพื่อคำานวณค่าเฉลี่ย
มานะประมาณว่าจะใช้เวลา 120 นาทีถ้าเขียนด้วยภาษา Java
มานะจึงบันทึก 120 ลงในช่องเวลาทั้งหมดที่วางแผนว่าจะใช้
ของแบบฟอร์มสรุปแผนโครงการ
• ระหว่างที่ทำาการวางแผนอยู่นั้น มาลีได้โทรศัพท์มา มานะได้
สนทนากับมาลีรวม 2 นาทีแล้วกลับมาทำางานต่อ
่
• จากนันก็บันทึกเวลาสิ้นสุดการวางแผนในแบบฟอร์มบันทึกเวลา
้
Revision 2.2 03 การใช้งาน PSP0 33
34. ตัวอย่างการบันทึกข้อมูล
Time Recording Log
Student มานะ ตั้งใจเรียน Date 9 ม.ค. 2553
Program คำานวณค่าเฉลี่ย Program # 1
Instructor Start
อาจารย์สะอาด สอนดี Language Java
Date Delt
Projec and Int. Stop a
Phase Comments
t Time Time Date Time
1 Plan 9 ม.ค. 53 and
13:00:04 Time
Revision 2.2 03 การใช้งาน PSP0 34
35. ตัวอย่างการบันทึกข้อมูล
PSP0 Project Plan Summary
Student มานะ ตั้งใจเรียน Date 9 ม.ค. 2553
Program คำานวณค่าเฉลี่ย Program # 1
Instructor อาจารย์สะอาด สอนดี Language Java
Time in Phase (min.) Plan Actual To Date To Date
%
Planning
Design
Code
Compile
Test
Postmortem
Total 120
Revision 2.2 03 การใช้งาน PSP0 35
36. ตัวอย่างการบันทึกข้อมูล
Time Recording Log
Student มานะ ตั้งใจเรียน Date 9 ม.ค. 2553
Program คำานวณค่าเฉลี่ย Program # 1
Instructor Start
อาจารย์สะอาด สอนดี Language Java
Date Delt
Projec and Int. Stop a
Phase Comments
t Time Time Date Time
1 Plan 9 ม.ค. 53 2 and
9 ม.ค. 53 2:24 พูดโทรศัพท์กบมาลี
ั
13:00:04 Time
13:04:28
Revision 2.2 03 การใช้งาน PSP0 36
37. ตัวอย่างการบันทึกข้อบกพร่อง
• หลังจากเขียนโปรแกรมเสร็จแล้ว มานะเริ่มคอมไพล์
โปรแกรม
• คอมไพเลอร์แสดงข้อผิดพลาดว่าไม่พบสัญลักษณ์
Systemout
• สาเหตุก็คือ ตก . ระหว่าง System กับ out
• มานะแก้ไข แล้วคอมไพล์อีกครั้ง คราวนี้แสดงข้อผิด
พลาดว่าไม่มี package Syste
• สาเหตุก็คือ ระหว่างการแก้ไขข้อบกพร่องที่ 1 มานะได้
ทำาสร้างข้อบกพร่องที่ 2 คือ พิมพ์ . ทับไปทีตัวอักษร m
่
Revision 2.2 03 การใช้งาน PSP0 37
38. ตัวอย่างการบันทึกข้อมูล
Defect Recording Log
Student มานะ ตั้งใจเรียน Date 9 ม.ค. 2553
Program คำานวณค่าเฉลี่ย Program # 1
Instructor อาจารย์สะอาด สอนดี Language Java
Project Date Number Type Inject Remove Fix Time Fix Ref.
1 9 ม.ค. 53 1 20 Code Compile 1
Description: ตก . ระหว่าง System และ out บรรทัดที่ 10.
Project Date Number Type Inject Remove Fix Time Fix Ref.
1 9 ม.ค. 53 2 20 Compile Compile 1 1
Description: พิมพ์ . ทับตัวอักษร m ระหว่างแก้ไข Systemout บรรทัดที่ 10.
Revision 2.2 03 การใช้งาน PSP0 38
39. ความสำาคัญของการบันทึกข้อมูล
• ข้อมูลที่ถูกต้อง เที่ยงตรง แม่นยำา คงเส้นคงวา
และสมบูรณ์จะช่วยให้สามารถใช้ประโยชน์จาก
PSP ได้อย่างเต็มที่
• ถ้าขาดข้อมูลที่ดีเราจะไม่สามารถ
– วิเคราะห์กระบวนการได้อย่างถูกต้อง
– รู้ได้ว่าเราทำางานเป็นอย่างไร
– ปรับปรุงกระบวนการพัฒนาของเราอย่างเหมาะสม
Revision 2.2 03 การใช้งาน PSP0 39
40. ความแม่นยำากับความเที่ยงตรง
• ความแม่นยำา
– เกี่ยวข้องกับการใช้ตัววัดทีเหมาะสม
่
– เช่น เราวัดเวลาในการทำางานจากเวลาที่ใช้จริง แต่
ไม่วัดจากระยะเวลาที่ถูกขัดจังหวะ
• ความเที่ยงตรง
– เกี่ยวข้องกับการรวบรวมข้อมูลทีระดับความละเอียด
่
ทีเหมาะสม
่
– เช่น เราจะวัดระยะเวลาในหน่วยนาทีสำาหรับงานที่
คาดว่าจะใช้เวลาไม่เกิน 1 สัปดาห์ แต่จะไม่ใช้
หน่วยนาทีสำาหรับงานทีคาดว่าจะใช้เวลา 1 ปี
่
Revision 2.2 03 การใช้งาน PSP0 40
41. ความแม่นยำากับความเที่ยงตรง
แม่ น ยำ า
และเที ่ ย ง ไม่ แ ม่ น ยำ า
ตรง แต่ เ ที ่ ย งตรง
แม่ น ยำ า แต่ ไม่ แ ม่ น ยำ า
ไม่ เ ที ่ ย ง และไม่ เ ที ่ ย ง
ตรง ตรง
Revision 2.2 03 การใช้งาน PSP0 41
43. เฟส และ กิจกรรม
ตั ว อย่ า ง:
ระหว่างคอมไพล์โปรแกรม ปรีชาพบว่าเขาต้อง
ออกแบบและเขียนโปรแกรมบางส่วนใหม่
คำ า ถาม: ปรีชาทำากิจกรรมใด?
คำ า ตอบ: แก้ไขข้อบกพร่อง ออกแบบและเขียนโปรแกรม
คำ า ถาม: โปรแกรมของปรีชาอยู่ในเฟสไหน?
คำ า ตอบ: คอมไพล์
Revision 2.2 03 การใช้งาน PSP0 43
44. เวลาในการแก้ไขข้อผิดพลาด
• เวลาในการแก้ไขข้อผิดพลาด = เวลาทีใช้ในการ
่
ค้นหาและแก้ไขข้อบกพร่อง
• ตัวอย่าง
10:00 พบข้อบกพร่องระหว่างคอมไพล์โปรแกรม
… หยุ ด พั ก
10:20 เปิดโปรแกรมมาแก้ไข
10:30 แก้ไขข้อผิดพลาด
10:31 คอมไพล์ผ่าน
คำ า ถาม: เวลาในการแก้ไขข้อผิดพลาดเป็นเท่าไร?
คำ า ตอบ: 11 นาที (10:31 – 10:20 = 11 นาที)
Revision 2.2 03 การใช้งาน PSP0 44
45. การบันทึกเมือพัฒนาโปรแกรม
่
แบบทำาทีละส่วน
• ปิติแบ่งการพัฒนาโปรแกรม
เป็น 2 ส่วนคือ โมดูล A และ ออกแบบ
B
• ปิติเขียน คอมไพล์ และ โมดูล A โมดูล B
ทดสอบโมดูลจนผ่าน
เขียนโค้ด เขียนโค้ด
• ต่อมาขณะกำาลังเขียนโค้ด
ของโมดูล B ปิติพบและ
แก้ไขข้อบกพร่องในโมดูล A
คอมไพล์ คอมไพล์
คำ า ถาม: ข้อบกพร่องถูกขจัดใน
เฟสไหน
คำ า ตอบ: Test (ของโมดูล A) ทดสอบ ทดสอบ
Revision 2.2 03 การใช้งาน PSP0 45
46. การบันทึกข้อบกพร่องทีเกิดจากการ
่
แก้ไขข้อบกพร่องก่อนหน้า
• ระหว่างการทดสอบโปรแกรม กนกพบว่าเขาเขียนตรรกะบาง
ส่วนของโปรแกรมไม่ถูกต้อง เขาจึงออกแบบ และเขียน
โปรแกรมส่วนดังกล่าวใหม่
• ระหว่างการคอมไพล์โปรแกรมที่แก้ไขใหม่ คอมไพเลอร์แสดง
ข้อผิดพลาด ซึ่งเขาก็แก้ไขแล้วคอมไพล์ใหม่อกครั้ง ปรากฏว่า
ี
คอมไพล์ผ่าน
คำ า ถาม: ข้อผิดพลาดใหม่นเ กิ ด (inject) ในเฟสไหน
ี้
คำ า ตอบ: ทดสอบ (เนืองจากเกิดขณะที่โปรแกรมอยู่ในเฟสทดสอบ)
่
คำ า ถาม: ข้อผิดพลาดใหม่นข จั ด (remove) ในเฟสไหน
ี้
คำ า ตอบ: ทดสอบ (เนืองจากขจัดขณะที่โปรแกรมอยู่ในเฟส
่
ทดสอบ)
Revision 2.2 03 การใช้งาน PSP0 46
47. ความผิดพลาดที่พบบ่อย
• ไม่ได้บนทึกเวลาทันที
ั
• ไม่ได้หยุดเวลาเมื่อถูกขัดจังหวะ
• ข้ามเฟสหรือสลับลำาดับเฟสการทำางาน
• ไม่ได้บนทึกข้อบกพร่อง
ั
• เข้าใจผิดเรื่องเวลาในการแก้ไขข้อบกพร่อง
• สับสนระหว่างเฟสกับกิจกรรม
• บันทึกเฟสผิดเมื่อพัฒนาแบบทำาจนเสร็จทีละส่วน
• บันทึกข้อบกพร่องไม่ชัดเจน
Revision 2.2 03 การใช้งาน PSP0 47
48. สรุป
• เราเรียนรู้สิ่งต่อไปนีใน PSP0
้
– หลักการของกระบวนการ
– ตัววัดขั้นพืนฐาน: เวลา และ ข้อบกพร่อง
้
– การเก็บข้อมูลการทำางาน
• ข้อมูลมีคณค่าก็ต่อเมื่อข้อมูลนัน
ุ ้
– ถูกต้อง
– แม่นยำา
– คงเส้นคงวา
– ครบถ้วนสมบูรณ์
Revision 2.2 03 การใช้งาน PSP0 48
Editor's Notes Revision History ----------------------- Revision 1.0 (2006-12-15) Initial Version Revision 1.1 (2007-12-22) Update to reflect recent data Revision 2.0 (2008-12-17) Major update Revision 2.1 (2010-01-08) Minor update, add some slides Revision 2.2 (2012-05-16) Revise the explanation Revision 2.2 Rearrange topics to match the new slide sequence Revision 2.2 Update steps Revision 2.2 Revise some explanation Revision 2.2 Revise explanation Revision 2.2 Update contents and add animation Revision 2.2 Add parentheses to make the context clearer. Revision 2.2 Change from iterative to incremental Revision 2.2 Remove To-Date from all percentage measures Revision 2.2 Remove To-Date from all percentage measures A precise measure is one that specifies a value to a suitable level of precision, as with a specific number of digits after the decimal point. An accurate measure is one that correctly measures the property being measured. Measures can be precise and accurate, precise but inaccurate, imprecise but accurate, or both imprecise and inaccurate. For process management purposes, measures should be as precise and accurate as possible. A precise measure is one that specifies a value to a suitable level of precision, as with a specific number of digits after the decimal point. An accurate measure is one that correctly measures the property being measured. Measures can be precise and accurate, precise but inaccurate, imprecise but accurate, or both imprecise and inaccurate. For process management purposes, measures should be as precise and accurate as possible. Revision 2.2 Reorder slides and highlight Q&A Revision 2.2 Add how 11 minutes is calculated, highlight Q&A and reorder slide Revision 2.2 Highlight Q&A and reorder slide Revision 2.2 Revise explanation, highlight Q&A and reorder slide Revision 2.2 Add more frequent mistakes and revise explanation Revision 2.2 Revise the explanation