บทที่ 8...

19
ผผผผผผ 9819 บบบบบ 9 บบบบบบ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ เเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ เเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเ (Computer Algorithms) เเเเเเเเเเเเเเเเเเเเเเ เเเ 5 เเเเเ เเเเเเ 1. เเเเเเเเเเเเเเเ (Job Analization) 2. เเเเเเเเเเเเเเ (Flowcharting) เเเเเเเ เเเเ (Pseudo coding) 3. เเเเเเเเเเเเเเเ (Programming) 4. เเเเเเเเเเเเเเเเเเเเเเเ (Program Testing and Debugging) 5. เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ (Program Documentation and Maintenance) เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ 9.1 บบบบบบบบบบบบบบบ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเ เเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเ เเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเ

Transcript of บทที่ 8...

Page 1: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 9816

บทท 9 ผงงาน

เมอคดจะเขยนโปรแกรมคอมพวเตอร หรอทเรยกวา พฒนาซอฟแวรเพอใชงานอยางใดอยางจะตองเตรยมงานเกยวกบการเขยนโปรแกรมอยางเปนขนตอน ซงเรยกวา วธการทางคอมพวเตอร (Computer Algorithms) วธดงกลาวประกอบดวยงาน 5 อยาง ไดแก

1. การวเคราะหงาน (Job Analization) 2. การเขยนผงงาน (Flowcharting) และซโดโคด (Pseudo

coding)3. การเขยนโปรแกรม (Programming)4. การทดสอบและแกไขโปรแกรม (Program Testing and

Debugging)5. การจดท ำา เอกสารและบ ำาร งรกษาโปรแกรม (Program

Documentation and Maintenance)วธการทางคอมพวเตอรเปนขนตอนในการจดทำาโปรแกรม ซงควรกระทำาเพอใหการเขยนโปรแกรม

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

9.1 การวเคราะหงาน เปนขนตอนแรกทตองการะทำาเมอเรมทจะเขยนโปรแกรมและถอวาเปนขนตอนทสำาคญทสดการ

วเคราะหงานเรมตนจากการกำาหนดขอบขาย หรอปญหาของงาน รวบรวมรายละเอยดของงาน ศกษาวเคราะหโดยละเอยดวาตองการใหคอมพวเตอรทำาอะไร มรปแบบของผลลพธเปนอยางไร ตองการขอมลอะไรเพอใหไดผลลพธตามตองการและการประมวลผลจะมขนตอนและใชสตรอะไรบาง การวเคราะหจงเปนงานขนวางแผนเพอเตรยมการใหพรอมทจะเขยนโปรแกรม

Page 2: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 99

สรปไดวา การวเคราะหงานเปนการศกษา ผลลพธ (Output) ขอมลทนำาเขา (Input) และวธการประมวลผล (Process) ทจะใชในการเขยนโปรแกรมนนเอง โดยทวไปนยมแบงวธการวเคราะหงานเปน 5 ขอ ดงน

1.สงทตองการ : เปนการบอกใหทราบวางานทตองการใหทำามอะไรบาง

2. รปแบบผลลพธ : เปนการบอกลกษณะหรอรปแบบทตองการใหคอมพวเตอรทำาให

3.ขอมลนำาเขา : ขอมลทใชในการประมวลผลมอะไรบาง4. ตวแปรทใช : บอกวาใชตวแปรอะไรแทนขอมลนำาเขา หรอ

แทนคาทอยระหวางการประมวลผล ตลอดจนตวแปรทใชแสดงผล

5.วธการประมวลผล : คอขนตอนของคำาสงหรอวธการทใชในโปรกแกรม ซงขนตอนบางอยางจะตองเรยงลำาดบกอนหลง สลบลำาดบไมได เพราะจะทำาใหไมสามารถประมวลผลหรอทำาใหไดผลลพธไมตรงตามทตองการ

ตวอยางการวเคราะหงาน บรษทแหงหนงตองการทำาบญชเงนเดอนของพนกงาน โดยหก

ภาษไวดวย และมเงอนไขในการคำานวณภาษดงน รายไดนอยกวา หรอเทากบ 2,000 บาท ยกเวนไมตองเสยภาษรายไดตงแต 2,000 ขนไปเสยภาษ 4 % ของรายได

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

1.สงทตองการ คำานวณเงนทพนกงานแตละคนจะไดรบหลงจากหกภาษแลวคำานวณเงนรวมทบรษทจะตองจายทงหมด

2. รปแบบผลลพธชอบรษท

Page 3: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 10016

ชอพนกงาน เงนเดอน ภาษ สทธทไดรบ………………. xx,xxx.xx xx.xx xx,xxx.xx………………. xx,xxx.xx xx.xx xx,xxx.xx

รวม xxx,xxx.xx

3.ขอมลนำาเขาชอและเงนเดอนของพนกงานแตละคนสญลกษณหรอตวแปรทใชทดสอบวาขอมลหมด ตวแปรทใช

ชอตวแปร ความหมาย

Name ชอพนกงานแตละคน

Salary เงนเดอนพนกงานแตละคน

TAX ภาษทหกจากเงนเดอนของพนกงานแตละคน

NET เงนเดอนสทธทพนกงานแตละคนไดรบ

LC ตวแปรทใชทดสอบวาขอมลหมด

Total เงนรวมทบรษทจะตองจายทงหมด

5. วธการประมวลผลแสดงหวตารางTotal = 0รบคาจากตวแปร Name , Salary , LC ทละรายการเปรยบเทยบคา Salary กบ 2,000

Page 4: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 101

- ถาให Salary < = 2,000 ให TAX = 0- ถาให Salary > 2,000 ให TAX = 0.4 *

SalaryNET = Salary – TAXTotal = Total + NETพมพผลลพธ Name , Salary , TAX , NET ทละรายการเปรยบเทยบ LC กบ 1

- ถา LC < > 1 ใหยอนกลบไปทำาขอ 3 - ถา LC = 1 ใหทำาขอถดไป

พมพคา Total หยดทำางาน

9.2 การเขยนผงงานผงงาน (Flowchart) คอ รปภาพหรอสญลกษณทใชแทนลำาดบ หรอขนตอนในโปรแกรม โดยแตละ

ขนตอนจะถกแสดงโดยใชสญลกษณซงมความหมายบงบอกขนตอนนนๆ มลกษณะการทำางานแบบใด และแตละขนตอนจะถกเชอมโยงกนดวยลกศรเพอแสดงลำาดบการทำางาน ทำาใหงายตอการทำาความเขาใจวาในการทำางานนนๆ มขนตอนอะไรบาง และมลำาดบอยางไร

9.2.1 ประโยชนและขอจำากดของผงงานประโยชนของผงงาน1. คนสามารถเรยนรและเขาใจผงงานไดงาย 2. ผงงานเปนการสอความหมายดวยภาพ ซงทำาใหงายและสะดวก

ตอการพจารณาถงลำาดบขนตอนในการทำางาน3. ในงานโปรแกรมทไมสลบซบซอน สามารถใชผงงานตรวจสอบ

ความถกตองของลำาดบขนตอนได4. การเขยนโปรแกรมโดยพจารณาจากผงงาน สามารถทำาได

รวดเรวและงาย5. ในการบำารงรกษาโปรแกรมหรอมการเปลยนแปลงแกไข

โปรแกรมใหมประสทธภาพ ถาดจากผงงานจะชวยใหสามารถทบทวนในโปรแกรมกอนปรบปรงไดงายขน

Page 5: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 10216

ขอจำากดของผงงาน1. ผงงานเปนการสอความหมายระหวางบคคลตอบคคลมากกวาท

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

2. ในบางครงเมอพจารณาจากผงงาน จะไมสามรถทราบไดวา ขนตอนการทำางานใดสำาคญกวากนเพราะทกๆ ขนตอนจะใชรปภาพ หรอสญลกษณในลกษณะเดยวกน

3. การเขยนผงงานจะเปนการสนเปลอง4. ผงงานจะมขนาดใหญ ถาโปรแกรมทพฒนาเปนงานขนาดใหญ

ทำาใหผงงานดเทอะทะไมคลองตวและถามการปรบเปลยนงานการแกไข หรอปรบเปลยนผงงานกระทำาไดยาก บางครงตองเขยนขนใหม

5. ในผงงานจะบอกขนตอนการปฏบต งานเปนล ำาดบอยางไร ปฏบตอยางไร แตจะไมระบวาใหทราบวาทำาไมจงตองเปนลำาดบและปฏบตงานอยางนน

9.2.2 ประเภทของผงงานโดยทวไปผงงานทางคอมพวเตอรแบงเปน 2 ประเภทใหญ คอ1. ผงงานระบบ (System Flowchart)2. ผงงานโปรแกรม (Program Flowchart)

ผ ง ง า น ร ะ บ บ (System Flowchart) เปนผงงานทแสดงถงขนตอนการทำางานภายใน

ระบบงานหนง ๆ โดยจะแสดงถงความเกยวของของสวนทส ำาคญตางๆ ในระบบนน เชน เอกสารเบองตน หรอสอบนทกขอมลทใชอยเปนอะไร และผานไปยงหนวยงานใด มกจกรรมอะไรในหนวยงานนนๆ แลวจะสงตอไปหนวยงานใด เปนตน ดงนนผงงานระบบอาจจะเกยวของกบคน วสด และเครองจกร ซงแตละจดอาจจะประกอบไปดวยการนำาขอมลเขา วธการ

Page 6: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 103

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

ผงงานโปรแกรม (หรอเรยกสนๆ วา ผ ง ง า น Program Flowchart) ผงงานประเภท

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

Page 7: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 10416

ตวอยางผงระบบและผงงานโปรแกรมของการคำานวณพนทสามเหลยม 100 รป

ผงงานระบบ ผงงานโปรแกรม

9.2.3 สญลกษณทใชในการเขยนผงงาน (Flowcharting Symbols)

การเขยนผงงาน เปนการเขยนแผนภาพเพอแสดงขนตอนการทำางาน โดยนำาภาพสญลกษณตางๆ มาเรยงตอกน สญลกษณทนยมใชในการเขยนผงงานนนหนวยงานทชอวา American National Standards Institute (ANSI) และ International Standard Organization (ISO) ไดรวมกนกำาหนดสญลกษณมาตรฐานเพอใชในการเขยนผงงานดงแสดงในตาราง

สญลกษณ ชอ คำาอธบายTerminal Symbol แสดงจดเรมตนและหยด

การทำางาน

Page 8: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 105

Input /Output Symbol

แสดงการรบเขา และแสดงผลลพธขอมล

manual input symbol

แสดงการนำาเขาขอมลโดยมนษย เชนแปนพมพ เมาส เปนตน

บตรเจาะร (punched card symbol)

แสดงการรบขอมลเขา หรอแสดงผลโดยใชบตรเจาะรเปนสอ

สญลกษณ ชอ คำาอธบายเทปกระดาษเจาะร (punch tape symbol)

แสดงการรบขอมลเขาหรอแสดงผลโดยใชเทปกระดาษเจาะรเปนสอ

เทปแมเหลก (magnetic tape symbol)

แสดงการรบขอมลเขาหรอแสดงผลโดยใชเทปแมเหลกเปนสอ

จานแมเหลก (magnetic disk symbol)

แสดงการรบขอมลเขาหรอแสดงผลโดยใชจานแมเหลกเปนสอ

ดรมแมเหลก (magnetic drum symbol)

แสดงการรบขอมลเขาหรอแสดงผลโดยใชดรมแมเหลกเปนสอ

แกนแมเหลก (Core symbol)

แสดงการรบขอมลเขาหรอแสดงผลโดยใชแกนแมเหลกเปนสอ

การประมวลผล (process symbol)

แสดงการประมวลผล ไดแกการคำานวณ การกำาหนดคา

เอกสาร (document symbol)

แสดงการแสดงผลลพธบนเอกสาร

Page 9: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 10616

การแสดงผล (display symbol)

แสดงการแสดงผลลพธในขณะทยงมการประมวลผลอย เชนแสดงผลทางหนาจอ

สญลกษณ ชอ คำาอธบายการตดสนใจ (decision symbol)

แสดงการตดสนใจหรอการเปรยบเทยบ

การเตรยม (preparation symbol)

แสดงการกำาหนดคาตางๆ ลวงหนาในการทำางานหนงๆ ทมการทำางานซำาๆ

จดตอภายในหนา (on-page connector symbol)

แสดงจดตอเนองของผงงานทอยในหนาเดยวกน แตไมสะดวกทใชเสนโยงหากนภายในสญลกษณนจะมหมายเลขหรออกษรกำากบเพอไมใหสบสน

จดตอเนองทคนละหนา (off-page connector symbol)

แสดงจดตอเนองของงานเดยวกนซงอยคนละหนาจะมหมายเลขหรออกษรกำากบ

สญลกษณ ชอสญลกษณ คำาอธบายลกศรแสดงลำาดบการทำางาน (Flow Line)

แสดงลำาดบการทำางานใชแสดงลำาดบขนตอนการทำางาน โดยหวลกศรจะชไปยงขนตอนลำาดบตอไป

การเชอมโยงสอสาร (Communication

แสดงถงการสงขอมลผานระบบโทรคมนาคม

Page 10: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 107

link symbol) ไดแก โทรศพท ไมโครเวฟ เปนตน

การอธบาย (comment)

อธบายสวนใดๆ ของผงงานเพมเตมเพอใหเกดความเขาใจ

การรวม (merge symbol)

การนำาขอมลตงแต 2 ชดขนไปมารวมเปนชดเดยวกน

การแยก (extract symbol)

การแยกขอมล 1 ชด ออกเปนขอมลหลายๆ ชด

การรวมและการแยก (collate symbol)

แสดงใหเหนถงการไดมาของขอมลตงแต 2 ชดขนไป จากขอมลตงแต 2 ชดขนไป

การเรยง (sort symbol)

แสดงการเรยงลำาดบขอมลใหเปนไปตามลำาดบทตองการ

9.2.4 หลกเกณฑทวไปของการเขยนผงงานการเขยนผงงานจะใชรายละเอยดจากวธการประมวลผลจากการ

วเคราะหงาน ซงประกอบดวยขนตอนทสำาคญ ๆ คอ การรบขอมล การประมวลผลและการแสดงผลลพธ นอกจากนตองใชรปหรอสญลกษณทตรงตามความหมาย นนคอ

1. การกำาหนดคาเรมแรก (Initialization) เปนการกำาหนดคาเรมตนใหตวแปรบางตว เชน ตวแปรทใชเปนตวนบ ตวแปรทมคาเปนผลการคำานวณสะสม 2. ก า รรบขอมล (Input) เปนการรบคาของตวแปรทระบไวในขนตอนการนำาขอมลเขาของการวเคราะหงาน ซงการรบขอมลจะตองท ำากอนทจะนำา

Page 11: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 10816

ขอมลนนไปใช สญลกษณทใชจะมความหมายตามแตละประเภทของสอขอมล เชน บตรเจาะร

3. การประมวลผล (Process) เปนการแสดงวธการประมวลผลหรอการคำานวณซงจะตองทำาทละขนตอนตามลำาดบถาผลการคำานวณตองนำามาใชในขนตอนถดไปจะตองแยกรปใหชดเจน

4. การแสดงคาขอมลหรอผลลพธ (Output) เปนการแสดงผลลพธหรอคาของตวแปรทระบไวในหวขอผลลพธทตองแสดง การแสดงคาของขอมลหรอผลลพธ ตองกระทำาหลงการประมวลผล หรอภายหลงรบขอมลไวในหนวยวามจำาแลว

5. การทดสอบ (Testing) เปนการทดสอบตวแปรกบคาใดคาหนง

หลกเกณฑในการเขยนผงงาน1. สญลกษณทใชอาจมขนาดตางๆ กนได แตจะตองมรปรางเปน

สดสวนตามมาตรฐาน2. ทศทางของลกศรในผงงาน ควรมทศทางจากบนลงลาง หรอ

จากซายไปขวาเสมอ3. ผงงานควรมความเรยบรอย สะอาด พยายามหลกเลยงการ

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

9.2.5 ลกษณะโครงสรางของผงงาน ผงงานโดยทวไปประกอบดวยโครงสรางพนฐาน 3 รปแบบตอ

ไปน คอ1. โครงสรางแบบเปนลำาดบ (Sequence structure)2. โครงสรางแบบมการเลอกตามเงอนไข (Selection

structure)3. โครงสรางแบบทำาซำา ( Repetition structure)

โครงสรางแบบเปนลำาดบ (Sequence Structure) เปนโครงสรางพนฐานของผงงาน

Page 12: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 109

และเปนลกษณะขนตอนการทำางานทพบมากทสด คอการทำางานทละขนตอนตามลำาดบ ดงรปตวอยาง ใหหาคาพนทสเหลยม โดยรบคา ความสง และความยาว

โครงสรางแบบลำาดบ ตวอยาง

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

สองหรอสามทางจะมรปแบบดงน IF – THEN – ELSE และ IF – THEN

ตวอยาง สำาหรบผงงานทมโครงสรางแบบมการเลอกตามเงอนไข ผงงานการคำานวณดอกเบยซงมดอกเบย 2 อตรา คอถาเงนตนนอยกวา 1

Condition

Yes No

รบคา ความสง และ

ความยาว

จบ

เรมตน

แสดงคาพนท สเหลยม

พนทสเหลยม = ความยาว * ความสง

Page 13: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 11016

ลานจะคดดอกเบยดวยอตรา รอยละ 4 แตถามเงนตนมากกวา 1 ลานบาทจะคดดอกเบยอตรา รอยละ 5

เรมตน

รบคาเงนตน

เงนตน > 1 ลานคำานวณดอกเบย

ดอกเบย = เงนตน * 0.04

คำานวณดอกเบยดอกเบย = เงนตน

* 0.05

แสดงคาดอกเบย

จบ

TF

Page 14: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 111

โครงสรางแบบทำาซำา จะเปนการทำางานอยางเดยวกบซำากนไปเรอยๆ ในขณะท

ยงเปนไปตามเงอนไขหรอเงอนไขเปนจรง จนกระทงเงอนไขเปนเทจจงทำางานอนตอไป

ตวอยางผงงานทมโครงสรางแบบทำาซำา : ผงงานการคำานวณยอดบญช

9.3 การเขยนโปรแกรม

เงอนไขเทจ

จรง

เรมตน

รบคาเงนตน อตราดอกเบย และจำานวนปท

ฝากเงนกำาหนดให N

= 0

ยอดบญช = เงนตน

N< จำานวนปทฝาก

ยอดบญช = ยอดบญช +

(ยอดบญช * อตราดอกเบย)N = N+1

แสดงยอดบญช

จบ

T

N

Page 15: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

ผงงาน 11216

ผงงานโปรแกรมสามารถนำามาใชเขยนโปรแกรม โดยในการเขยนโปรแกรมสามารถเลอกใชภาษาไดหลายภาษา ไมวาจะเปนภาษาแอสแซมบล ภาษาเบสก ภาษาซ ภาษาปาสคาล ภาษาโคบอล ภาษาฟอรแทรน หรอภาษาอนๆ ซงแตละภาษากจะมรปแบบไวยากรณของภาษาทใชแตกตางกนออกไป แตโดยทวไปแลวจะมรปแบบหรอโครงสรางของคำาสงทคลายกน โดยทวไปทกภาษาจะมคำาสงพนฐานคอ คำาสงการรบคาขอมลเขา และแสดงผลลพธ คำาสงการกำาหนดคา คำาสงการเปรยบเทยบเงอนไข คำาสงการทำาซำาหรอการวนลป ซงคำาสงพนฐานเหลานกสามารถรองรบขนตอนการทำางานแตละขนตอนในผงงานโปรแกรมไดเปนอยางด ดงนนหลงจากออกแบบขนตอนการทำางานโปรแกรมโดยใชผงงานแลวสามารถนำาผงงานนนมาใชในการเขยนโปรแกรมได โดยเขยนโปรแกรมเปนลำาดบตามขนตอนตางๆ ตามทระบไวในผงงาน

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

9.4 การทดสอบและการแกไขโปรแกรม (Program Testing and Debugging) การทดสอบและการแกไขโปรแกรมนนจะหมายถง การตรวจสอบความถกตองของการทำางานในโปรแกรมทเขยนขนมา โดยการตรวจสอบในขนนจะตรวจสอบทางดานไวยากรณของคำาสงทใชและคนหาขอผดพลาดของการทำางานโปรแกรม ซงถาพบขอผดพลาดจะตองทำาการแกไขใหถกตอง สำาหรบขอผดพลาดทอาจจะเกดขนนนจะมอย 2 ประเภท คอ

1. Syntax Error เปนขอผดพลาดทเกดจากการเขยนคำาสงไมถกตามหลกไวยากรณของภาษาคอมพวเตอรทใชในการเขยน ซงอาจจะสะกดผด หรอใชคำาสงผดกได

2. Logical Error เปนขอผดพลาดทเกดจากทางดานตรรกะของคำาสง

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

Page 16: บทที่ 8 การวิเคราะห์งานlms.mju.ac.th/courses/302/locker/คพ 203/บท... · Web viewผ งงาน เม อค ดจะเข ยนโปรแกรมคอมพ

การวเคราะหงานและการเขยนผงงาน 113

1. การทดสอบในกระดาษทลงรหส (Coding Sheet) วธน เปนการทดสอบโปรแกรมทไดเขยนลงในกระดาษลงรหสเรยบรอยแลว จากนนนำามาตรวจสอบความถกตองของคำาสงตางๆ โดยดจากหลกการเขยนคำาสงเหลานน จากนนจะมการแทนคาขอมลในคำาสง เพอทดสอบการทำางานวาจะไดผลลพธตามทตองการหรอไม

2. การทดสอบความถกตองตามหลกไวยากรณของภาษา วธนจะทำาหลงจากทไดทำาการบนทกขอมลและคำาสงตางๆ ลงบนสอเกบขอมลเรยบรอยแลว จากนนจะตรวจสอบดวาคำาสงและขอมลทเกบในสอเกบขอมลกบในกระดาษลงรหสวาตรงกนหรอไม หลงจากนนกจะทำาการสงเขาเครองคอมพวเตอรเพอใหเคร องคอมพวเตอรตรวจสอบความถกตองของภาษา ถาพบขอผดพลาดกจะแจงขอความออกมาบนจอภาพวา Syntax Error

3. การทดสอบโปรแกรมกบขอมลทสมมตขนมา ขอมลทจะนำามาใชในการทดสอบนนอาจเปนขอมลตวอยางทนำามาใชในการทดสอบกบโปรแกรมทเขยนขนมา เมอพบขอผดพลาดกจะแจงออกมาบนจอภาพเชนเดยวกน แตการแจงขอผดพลาดนนอาจจะแจงออกมาในลกษณะของ Code ซงผเขยนจะตองไปเปดดความหมายของ Code เหลานนวาเกดขอผดพลาดมาจากอะไร และจะทำาการแกไขไดอยางไร

9.5 การตดตงโปรแกรมและการบำารงรกษา (Installation and Maintenance)

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