03 using psp0

48
03 การใช้งาน PSP0 สงวนลิขสิทธิ์ 2551 – 2555 โดยสุรเดช จิตประไพกุลศาล

Upload: suradet-jitprapaikulsarn

Post on 03-Jul-2015

578 views

Category:

Technology


0 download

DESCRIPTION

Lecture 3

TRANSCRIPT

Page 1: 03 using psp0

03 การใชงาน PSP0

สงวนลขสทธ 2551 – 2555โดยสรเดช จตประไพกลศาล

Page 2: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 2

หวขอ

• การใชกระบวนการ• กระบวนการ PSP0• การบนทกขอมล• ตวอยางขอมล• ขอควรระวงในการบนทกขอมล• สรป

Page 3: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 3

การปฏบตตามกระบวนการ

• ตรวจเกณฑการเรมตนกอนเรมตนเฟส• บนทกเวลาเรมตน• ทำางานและบนทกขอบกพรองทพบและแกไข• ตรวจเกณฑการสนสดกอนจะจบเฟส• บนทกเวลาสนสด

บนทกเวลาเรมตน

ทำางาน

บนทกขอบกพรอง

บนทกเวลาสนสด

ตรวจเกณฑการ

เรมตน

ตรวจเกณฑการ

สนสด

Page 4: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 4

กระบวนการ PSP

• PSP ไม ใช กระบวนการสำาหรบการเขยนโปรแกรม แตเปนกระบวนการสำาหรบเร ยนร เร องกระบวนการ

• PSP เปนเพยงตวอยางของกระบวนการ• หลงศกษา PSP แลวเราควรทจะ

– สำารวจตรวจสอบขอมล PSP ของเราเอง– ทบทวนสงทเรยนรแลวนำามาปรบใชกบตนเอง– สรางกระบวนการใหสอดคลองกบบรบทของตนเอง

Page 5: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 5

กระบวนการ PSP0

• PSP0 เปนกระบวนการอยางงายๆ ประกอบดวย– วางแผน– พฒนาโปรแกรมดวยวธการทใชในปจจบน– รวบรวมขอมลเกยวกบเวลาและขอบกพรองจากงาน– จดทำารายงานสรป

Page 6: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 6

วตถประสงคของ PSP0

• แสดงใหเหนถงการใชกระบวนการในการเขยนโปรแกรมขนาดเลก

• เกบขอมลเกยวกบกระบวนการพฒนาซอฟตแวรของเราสำาหรบใชอางอง (baseline)

• เปลยนแปลงวธปฏบตนอยทสด (แคเพมการเกบขอมล)

Page 7: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 7

กระบวนการ PSP0

ใน PSP0 เราจะเรยนร• การปฏบตตามกระบวนการ• การบนทกเวลา• การบนทกขอบกพรอง (defect)• ประสทธภาพการทำางานเบองตน (productivity)• สมรรถนะในการทำางาน (performance)

Page 8: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 8

กระบวนการ

ขนตอนของ PSP0

วางแผนออกแบบเขยนโคดคอมไพลทดสอบ

สรปจบ

แบบฟอรม

สรปโครงการ

(ตววดตางๆ)

ความตองการ

ซอฟตแวร

คมอการปฏบตงาน

ใชเปนแนวทาง

มาตรฐาน ใชเปนแนวทาง

พฒ

นา

ดดแปลงมาจาก Introduction to PSP and TSP, Software Engineering Institute, 2006

Page 9: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 9

องคประกอบของกระบวนการ PSP0

• คมอการปฏบต (4 กระบวนการ)– เพอเปนแนวทางในการปฏบตตามกระบวนการ

• แบบฟอรม (3 แบบฟอรม)– เพอชวยเกบรวบรวมขอมล

• มาตรฐาน (1 มาตรฐาน)– เพอเปนแนวทางในการปฏบตงาน

• ตววดพนฐาน (2 ตว)– เวลา และ ขอบกพรอง

Page 10: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 10

ลำาด บ

ก จกรรม รายละเอ ยด1 วางแผน จดทำาหรอจดหารายการความตองการ

ประมาณเวลาทจะใชในการพฒนาแลวบนทกในแบบฟอรมสรปแผนโครงการ บนทกเวลาในแบบฟอรมบนทกเวลา

2 พฒนา ออกแบบโปรแกรมเขยนโปรแกรมคอมไพลโปรแกรม และแกไขขอบกพรองทพบทดสอบโปรแกรม และแกไขขอบกพรองทพบบนทกเวลาในแบบฟอรมบนทกเวลา

3 สรปจบ บนทกสรปขอมลเวลาและขอบกพรองในแบบฟอรมสรปแผนโครงการใหสมบรณเกณฑการส นส ด โปรแกรมผานการทดสอบอยางถถวน

แบบฟอรมสรปแผนโครงการมขอมลครบถวนสมบรณแบบฟอรมบนทกเวลาและแบบฟอรมบนทกขอบกพรองมขอมลครบถวนสมบรณ

โจทยหรอความตองการแบบฟอรมสรปแผนโครงการ PSP0แบบฟอรมบนทกเวลาและแบบฟอรมบนทกขอบกพรองมาตรฐานขอบกพรองนาฬกาจบเวลา (ถาจำาเปน)

เกณฑการเร มต น

เพอเปนแนวทางการพฒนาโปรแกรมระดบโมดลจ ดประสงค

คมอการปฏบตงาน PSP0

ทมา: Watts S. Humphrey, PSP: A Self-Improvement Process for Engineers, Addison-Wesley 2005

Page 11: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 11

กระบวนการ PSP0

วางแผน

พฒนา

สรปจบ

PSP0 Process Script

รวบรวมความตองการ

ประมาณทรพยากร

PSP0 Planning Script

ออกแบบ

เขยนโคด

คอมไพล

ทดสอบ

PSP0 Development Script

ตรวจขอมลขอบกพรอง

ตรวจความคงเสนคงวาของขอมล

ตรวจสอบขอมลเวลา

PSP0 Postmortem Script

Page 12: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 12

เฟสใน PSP0

• PSP0 ประกอบดวย 6 เฟส:– วางแผน– ออกแบบ– เขยนโคด– คอมไพล– ทดสอบ– สรป

ออกแบบ

เขยนโคด

คอมไพล

ทดสอบ

วางแผน

สรป

Page 13: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 13

เฟสใน PSP0

• วางแผน– วางแผนสำาหรบการพฒนาโปรแกรมตามความ

ตองการ• ออกแบบ

– จดทำาแบบตามความตองการ• เขยนโปรแกรม

– แปลงแบบใหเปนชดคำาสง

Page 14: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 14

เฟสใน PSP0

• คอมไพล– แปลงชดคำาสงใหเปนโปรแกรมพรอมใชงาน

• ทดสอบ– ตรวจดวาโปรแกรมทำางานสอดคลองกบความ

ตองการหรอไม• สรป

– สรปและวเคราะหขอมล

Page 15: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 15

ลำาดบของเฟส

• สาเหตทเฟสมลำาดบดงนเพราะ– เราไมสามารถทดสอบโคดกอนคอม

ไพล– เราไมสามารถคอมไพลกอนเขยน

โคด– ออกแบบหลงเขยนโคดกเปลา

ประโยชน

Design

Code

Compile

Test

Page 16: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 16

เกณฑการเรมตนและสนสดเฟส เกณฑการเร มต นและส นส ด

วางแผน เรมเมอ เร มการวางแผนสนสดเมอ แผนสมบรณ

ออกแบบ เรมเมอ เร มการออกแบบสนสดเมอ แบบสมบรณ

เขยนโคด เรมเมอ เร มการเข ยนโค ดสนสดเมอ โค ดเข ยนเสร จสมบ รณ

คอมไพล เรมเมอ เร มคอมไพลคร งแรกสนสดเมอ คอมไพลผ าน

ทดสอบ เรมเมอ เร มทดสอบคร งแรกสนสดเมอ ผ านการทดสอบท งหมดโดยไมม ข อผ ดพลาด

สรป เรมเมอ เร มสร ปการท ำางานสนสดเมอ การสร ปเสร จส น

จาก Dan Burton, Introduction to the TSP and the PSP, SEI, 2005

Page 17: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 17

ตวอยางท 1 ใช PSP0 กบการทำางานตามลำาดบ

• สำาหรบโปรแกรมขนาดเลกเรากอาจจะใชวธทำางานตามลำาดบจนเสรจ (Waterfall)

วางแผน

พฒนา

สรป

ออกแบบ

เขยนโคด

คอมไพล

ทดสอบ

Page 18: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 18

ตวอยางท 2 ใช PSP0 กบการเขยนและคอมไพลทละสวน

• ถาโปรแกรมขนาดใหญขน เราอาจจะออกแบบกอน

• จากนนแยกเขยนโคดและคอมไพล ทละโมดล

• แลวทดสอบหลงจากคอมไพลทกโมดล

วางแผน

พฒนา

สรป

ออกแบบ

เขยนโคด

คอมไพล

เขยนโคด

คอมไพล

ทดสอบ

Page 19: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 19

ตวอยางท 3 ใช PSP0 กบการเขยนคอมไพลและทดสอบทละสวน

• หรอ เราอาจจะออกแบบแลว

• คอยเขยนโคด คอมไพล และทดสอบ ทละโมดล จนครบทกโมดล

วางแผน

พฒนา

สรป

ออกแบบ

เขยนโคด

คอมไพล

เขยนโคด

คอมไพล

ทดสอบทดสอบ

Page 20: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 20

ตวอยางท 4 ใช PSP0 กบการพฒนาแบบทยอยเพมทละสวน (Incremental)

ถาโปรแกรมขนาดใหญมาก

เราอาจจะแยกทยอยพฒนาทละโมดล (Incremental) โดย ออกแบบ เขยนโคด คอมไพล และทดสอบ ทละโมดลจนครบทกโมดล

วางแผน

พฒนา

สรป

ออกแบบ

เขยนโคด

คอมไพล

เขยนโคด

คอมไพล

ทดสอบทดสอบ

ออกแบบ

Page 21: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 21

แบบฟอรม PSP0

• ใน PSP0 เราใชแบบฟอรมตอไปนในการรวบรวมขอมล– แบบฟอรมสรปแผนโครงการ PSP0

• สรปผลการทำางาน– แบบฟอรมบนทกเวลาการทำางาน

• บนทกเวลาในการทำางาน– แบบฟอรมบนทกขอบกพรอง

• บนทกรายละเอยดขอบกพรองทเกดขน

Page 22: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 22

แบบฟอรมสรปแผนโครงการ PSP0Student DateProgram Program #Instructor Language

Time in Phase (min.) Plan Actual To Date To Date %

Planning

Design

Code

Compile

Test

Postmortem

Total

Page 23: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 23

แบบฟอรมสรปแผนโครงการ PSP0Defects Injected Actual To Date To Date %

Planning

Design

Code

Compile

Test

Total Development

Page 24: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 24

แบบฟอรมสรปแผนโครงการ PSP0Defects Removed Actual To Date To Date %

Planning

Design

Code

Compile

Test

Total Development

After Development

Page 25: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 25

แบบฟอรมบนทกเวลาการทำางานStudent DateProgram Program #Instructor Language

Project Phase

Start Date and

TimeInt.

TimeStop Date and

Time

Delta

Time Comments

Page 26: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 26

แบบฟอรมบนทกขอบกพรองStudent DateProgram 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:

Page 27: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 27

มาตรฐานใน PSP0ใน PSP0 มเพยงมาตรฐานเดยวคอ• มาตรฐานชนดขอบกพรอง (Defect Type Standard)

ใชเพอจำาแนกชนดของขอบกพรอง เพอสะดวกในการปรบปรงแกไข

Page 28: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 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 ทใชในการพฒนาโปรแกรม

Page 29: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 29

ตววดใน PSP0

• ขอมลปฐมภมทเรารวบรวมใน PSP0 ไดแก– เวลาทใชในแตละเฟส

• เรมและสนสดเมอไร• ถกขดจงหวะไปเทาไร

– ขอบกพรอง• ชนดไหน• เกดทเฟสไหน• ขจดในเฟสไหน• เวลาทใชในการคนหาและขจดขอบกพรอง• รายละเอยดของสาเหต

Page 30: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 30

ตววดอนๆ• จากขอมลพนฐานทเกบรวบรวมใน PSP0 เราสามารถ

คำานวณตววดอนๆทเปนประโยชนไดเชน– เปอรเซนตของเวลาในแตละเฟส (% Time-in-phase)– เปอรเซนตของขอบกพรองทเกด (% Defect injected)– เปอรเซนตของขอบกพรองทขจด (% Defect removed)– ตนทนคณภาพ (Cost of Quality หรอ COQ)– อตราการเกดขอบกพรอง (Defect Injection Rate)– อตราการขจดขอบกพรอง (Defect Removal Rate)– ตนทนในการดำาเนนธรกจ (Overhead)

Page 31: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 31

ตววดทไดจากการคำานวณใน PSP0 โดยจะใชเปนจดอางองในอนาคต

• เปอรเซนของเวลาในแตละเฟส (% Time-in-phase)– แสดงถงสดสวนการใชเวลาในแตละเฟส

• เปอรเซนของขอบกพรองทเกด (% Defect injected)– แสดงถงสดสวนของการเกดขอบกพรองในแตละเฟส

• เปอรเซนของขอบกพรองทขจด (% Defect removed)– แสดงถงสดสวนของการขจดขอบกพรองในแตละเฟส

Page 32: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 32

ตวอยางตววดอนทสามารถคำานวณไดใน PSP0 แตยงไมใชใน PSP0

• ตนทนคณภาพ (Cost of Quality หรอ COQ)– สดสวนตนทนของความผดพลาด (Percent Failure COQ)

• แสดงถงคาใชจายทเกดขนเมอมความบกพรองเกดขนทำาใหจะตองเสยเวลา และคาใชจายในการแกไข

• อตราการเกดขอบกพรอง (Defect Injection Rate)– แสดงถงอตราการเกดขอบกพรองตอหนวยเวลา

• อตราการขจดขอบกพรอง (Defect Removal Rate)– แสดงถงอตราในการขจดขอบกพรองตอหนวยเวลา

• ตนทนในการดำาเนนธรกจ (Overhead)– แสดงถงคาใชจายในการวางแผนและสรปโครงากร

Page 33: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 33

ตวอยางการบนทกขอมล• มานะ ต งใจเร ยนเปนนกศกษาวชา SE514 ใช PSP0 ใน

การเขยนโปรแกรมเพอสงอาจารยสะอาด สอนด • มานะเรมการวางแผนโดยบนทกเวลาเรมตนในแบบฟอรมบนทก

เวลา• หลงอานโจทยซงจะใหเขยนโปรแกรมเพอคำานวณคาเฉลย

มานะประมาณวาจะใชเวลา 120 นาทถาเขยนดวยภาษา Java มานะจงบนทก 120 ลงในชองเวลาทงหมดทวางแผนวาจะใชของแบบฟอรมสรปแผนโครงการ

• ระหวางททำาการวางแผนอยนน มาลไดโทรศพทมา มานะไดสนทนากบมาลรวม 2 นาทแลวกลบมาทำางานตอ

• จากนนกบนทกเวลาสนสดการวางแผนในแบบฟอรมบนทกเวลา

Page 34: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 34

ตวอยางการบนทกขอมลTime Recording Log

Student มานะ ตงใจเรยน Date 9 ม.ค. 2553Program คำานวณคาเฉลย Program # 1Instructor อาจารยสะอาด สอนด Language Java

Project Phase

Start Date and

TimeInt.

TimeStop Date and

Time

Delta

Time Comments

1 Plan 9 ม.ค. 5313:00:04

Page 35: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 35

ตวอยางการบนทกขอมลPSP0 Project Plan Summary

Student มานะ ตงใจเรยน Date 9 ม.ค. 2553Program คำานวณคาเฉลย Program # 1Instructor อาจารยสะอาด สอนด Language Java

Time in Phase (min.) Plan Actual To Date To Date %

Planning

Design

Code

Compile

Test

Postmortem

Total 120

Page 36: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 36

ตวอยางการบนทกขอมลTime Recording Log

Student มานะ ตงใจเรยน Date 9 ม.ค. 2553Program คำานวณคาเฉลย Program # 1Instructor อาจารยสะอาด สอนด Language Java

Project Phase

Start Date and

TimeInt.

TimeStop Date and

Time

Delta

Time Comments

1 Plan 9 ม.ค. 5313:00:04

2 9 ม.ค. 5313:04:28

2:24 พดโทรศพทกบมาล

Page 37: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 37

ตวอยางการบนทกขอบกพรอง• หลงจากเขยนโปรแกรมเสรจแลว มานะเรมคอมไพล

โปรแกรม• คอมไพเลอรแสดงขอผดพลาดวาไมพบสญลกษณ

Systemout• สาเหตกคอ ตก . ระหวาง System กบ out• มานะแกไข แลวคอมไพลอกครง คราวนแสดงขอผด

พลาดวาไมม package Syste• สาเหตกคอ ระหวางการแกไขขอบกพรองท 1 มานะได

ทำาสรางขอบกพรองท 2 คอ พมพ . ทบไปทตวอกษร m

Page 38: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 38

ตวอยางการบนทกขอมลDefect Recording Log

Student มานะ ตงใจเรยน Date 9 ม.ค. 2553Program คำานวณคาเฉลย Program # 1Instructor อาจารยสะอาด สอนด 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.

Page 39: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 39

ความสำาคญของการบนทกขอมล

• ขอมลทถกตอง เทยงตรง แมนยำา คงเสนคงวา และสมบรณจะชวยใหสามารถใชประโยชนจาก PSP ไดอยางเตมท

• ถาขาดขอมลทดเราจะไมสามารถ– วเคราะหกระบวนการไดอยางถกตอง– รไดวาเราทำางานเปนอยางไร– ปรบปรงกระบวนการพฒนาของเราอยางเหมาะสม

Page 40: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 40

ความแมนยำากบความเทยงตรง

• ความแมนยำา– เกยวของกบการใชตววดทเหมาะสม– เชน เราวดเวลาในการทำางานจากเวลาทใชจรง แต

ไมวดจากระยะเวลาทถกขดจงหวะ• ความเทยงตรง

– เกยวของกบการรวบรวมขอมลทระดบความละเอยดทเหมาะสม

– เชน เราจะวดระยะเวลาในหนวยนาทสำาหรบงานทคาดวาจะใชเวลาไมเกน 1 สปดาห แตจะไมใชหนวยนาทสำาหรบงานทคาดวาจะใชเวลา 1 ป

Page 41: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 41

ความแมนยำากบความเทยงตรง

แมนย ำาและเท ยงตรง

ไม แม นย ำาแต เท ยงตรง

แม นย ำาแต ไม เท ยงตรง

ไม แม นย ำาและไม เท ยงตรง

Page 42: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 42

วธการบนทกขอมล

• บนทกขอมลขณะทำางาน• พยายามบนทกขอมลใหเทยงตรงแมนยำา• บนทกเฟสท โปรแกรมอย ไมใชกจกรรมททำา

Page 43: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 43

เฟส และ กจกรรมตวอย าง:

ระหวางคอมไพลโปรแกรม ปรชาพบวาเขาตองออกแบบและเขยนโปรแกรมบางสวนใหม

ค ำาถาม: ปรชาทำากจกรรมใด?คำาตอบ: แกไขขอบกพรอง ออกแบบและเขยนโปรแกรม

คำาถาม: โปรแกรมของปรชาอยในเฟสไหน?คำาตอบ: คอมไพล

Page 44: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 44

เวลาในการแกไขขอผดพลาด• เวลาในการแกไขขอผดพลาด = เวลาทใชในการ

คนหาและแกไขขอบกพรอง• ตวอยาง

10:00 พบขอบกพรองระหวางคอมไพลโปรแกรม … หย ดพก10:20 เปดโปรแกรมมาแกไข10:30 แกไขขอผดพลาด10:31 คอมไพลผาน

คำาถาม: เวลาในการแกไขขอผดพลาดเปนเทาไร?คำาตอบ: 11 นาท (10:31 – 10:20 = 11 นาท)

Page 45: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 45

การบนทกเมอพฒนาโปรแกรมแบบทำาทละสวน

• ปตแบงการพฒนาโปรแกรมเปน 2 สวนคอ โมดล A และ B

• ปตเขยน คอมไพล และทดสอบโมดลจนผาน

• ตอมาขณะกำาลงเขยนโคดของโมดล B ปตพบและแกไขขอบกพรองในโมดล A

ค ำาถาม: ขอบกพรองถกขจดในเฟสไหน

คำาตอบ: Test (ของโมดล A)

ออกแบบ

เขยนโคด

คอมไพล

ทดสอบ

เขยนโคด

คอมไพล

ทดสอบ

โมดล A โมดล B

Page 46: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 46

การบนทกขอบกพรองทเกดจากการแกไขขอบกพรองกอนหนา

• ระหวางการทดสอบโปรแกรม กนกพบวาเขาเขยนตรรกะบางสวนของโปรแกรมไมถกตอง เขาจงออกแบบ และเขยนโปรแกรมสวนดงกลาวใหม

• ระหวางการคอมไพลโปรแกรมทแกไขใหม คอมไพเลอรแสดงขอผดพลาด ซงเขากแกไขแลวคอมไพลใหมอกครง ปรากฏวาคอมไพลผาน

ค ำาถาม: ขอผดพลาดใหมนเก ด ( inject) ในเฟสไหนคำาตอบ: ทดสอบ (เนองจากเกดขณะทโปรแกรมอยในเฟสทดสอบ)ค ำาถาม: ขอผดพลาดใหมนขจ ด (remove) ในเฟสไหนคำาตอบ: ทดสอบ (เนองจากขจดขณะทโปรแกรมอยในเฟส

ทดสอบ)

Page 47: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 47

ความผดพลาดทพบบอย

• ไมไดบนทกเวลาทนท• ไมไดหยดเวลาเมอถกขดจงหวะ• ขามเฟสหรอสลบลำาดบเฟสการทำางาน• ไมไดบนทกขอบกพรอง• เขาใจผดเรองเวลาในการแกไขขอบกพรอง• สบสนระหวางเฟสกบกจกรรม• บนทกเฟสผดเมอพฒนาแบบทำาจนเสรจทละสวน• บนทกขอบกพรองไมชดเจน

Page 48: 03 using psp0

Revision 2.2 03 การใชงาน PSP0 48

สรป

• เราเรยนรสงตอไปนใน PSP0– หลกการของกระบวนการ– ตววดขนพนฐาน: เวลา และ ขอบกพรอง– การเกบขอมลการทำางาน

• ขอมลมคณคากตอเมอขอมลนน– ถกตอง– แมนยำา– คงเสนคงวา– ครบถวนสมบรณ