ขั้นตอนการวิเคราะห์งาน 5 ขั้นตอน


            ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่าง ๆ จำเป็นต้องมีการวางแผนและออกแบบโปรแกรม
ไว้ล่วงหน้า โดยกำหนดขั้นตอนวิธีการทำงานให้ชัดเจน กระบวนการวิเคราะห์และออกแบบ
โปรแกรมเรียกว่า วัฏจักรการพัฒนาระบบงาน System Development Lift Cycle ( SDLC) ซึ่งมีกระบวนการทำงานเริ่มต้นจากการวิเคราะห์ปัญหาไปจนถึงการนำโปรแกรมไปใช้งานและปรับปรุงพัฒนา
ระบบให้ดีขึ้น มีขั้นตอนของวัฏจักรการพัฒนาระบบงาน ดังต่อไปนี้

                    

ขั้นตอนที่ 1 การวิเคราะห์งาน (Job Analysis)
                    ขั้นตอนที่ 2 การออกแบบโปรแกรม (Program Design)
                    ขั้นตอนที่ 3 การเขียนโปรแกรม (Program Coding)
                    ขั้นตอนที่ 4 การทดสอบและแก้ไขโปรแกรม ( Program Testing & Verification)
                    ขั้นตอนที่ 5 การจัดทำเอกสารและคู่มือการใช้งาน (Program Documentation)
                    ขั้นตอนที่ 6 การใช้งานจริง (Program Implement)
                    ขั้นตอนที่ 7 การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance)

ขั้นตอนที่ 1 : การวิเคราะห์งาน (Job Analysis)

            

เป็นขั้นตอนในการเก็บรวบรวมข้อมูลของระบบงานที่จะพัฒนา และเป็นข้อมูลที่จะนำไปใช้
ในการออกแบบโปรแกรมโดยใช้เครื่องมือออกแบบในขั้นตอนที่ 2 การออกแบบโปรแกรม (Design
Program) ในการวิเคราะห์งานนั้น มีขั้นตอนย่อยอยู่ด้วยกัน 5 ขั้นตอน ดังนี้

            1. กำหนดสิ่งที่ต้องการหรือวัตถุประสงค์  เพื่อให้ทราบขั้นตอนการทำงานต่าง ๆ ดังนี้
                    •  กำหนดจุดประสงค์การทำงาน เพื่อให้ทราบว่าเขียนโปรแกรมเพื่อต้องการแก้ปัญหา
อะไร เช่น ปัญหาเกี่ยวกับการคำนวณพื้นที่ของสามเหลี่ยม เป็นต้น
                    •  กำหนดเป้าหมายให้ชัดเจน เพื่อให้ได้ผลลัพธ์ที่ต้องการ เช่น โปรแกรมคำนวณพื้นที
่ของสามเหลี่ยม ต้องการคำนวณพื้นที่รูปสามเหลี่ยมได้หลายขนาดและแสดงผลเป็นตัวเลข
                    •  ศึกษาวิธีการแก้ปัญหา เพื่อออกแบบขั้นตอนการทำงานได้อย่างเหมาะสม เช่น
การใช้สูตรคำนวณทางคณิตศาสตร์ต่างๆ
                    •  กำหนดข้อจำกัดและศึกษาความเป็นไปได้เพื่อใช้ในการแก้ปัญหาตามวัตถุประสงค์
เช่น โปรแกรมคำนวณพื้นที่ของสามเหลี่ยม ต้องการคำนวณพื้นที่ได้เฉพาะรูปสามเหลี่ยม

            2. กำหนดผลลัพธ์ที่ต้องการแสดง (Output)


                    •  กำหนดรูปแบบการแสดงผล เช่น แสดงผลลัพธ์เป็นภาพกราฟฟิกส์ทางจอภาพ
หรือพิมพ์ข้อมูลออกทางเครื่องพิมพ์ เป็นต้น
                    •  ตรวจสอบข้อผิดพลาดและความถูกต้องของผลลัพธ์ เช่น ตรวจสอบข้อผิดพลาด
จากการคำนวณ ตรวจสอบผลลัพธ์ว่าถูกต้องตรงตามที่ต้องการหรือไม 

            

3. การกำหนดข้อมูลนำเข้า (input)  ซึ่งประกอบหัวข้อพิจารณาดังนี้
                    •  กำหนดลักษณะการรับข้อมูล เช่น รับข้อมูลจากแป้นพิมพ์ หรือ อ่านข้อมูลจากไฟล์
                    •  รูปแบบข้อมูลที่รับเข้ามาเป็นอย่างไร เช่น ข้อมูลชื่อนักเรียนเก็บเป็นตัวอักษรหรือ
สตริง ข้อมูลเงินเดือนพนักงานเก็บเป็นจำนวนทศนิยม เป็นต้น
                    •  ขอบเขตของข้อมูลมีช่วงค่าของข้อมูลได้เท่าไหร่ เช่น รับข้อมูลเงินเดือนมีค่า
อยู่ระหว่าง 0.00 ถึง 100,000.00 บาท เก็บข้อมูลเป็นจำนวนทศนิยม เป็นต้น
                    •  ข้อจำกัดในการรับข้อมูลอย่างไรบ้าง เช่น รับข้อมูลได้เฉพาะค่าตัวเลขที่มากกว่า 0
เป็นต้น

            4. กำหนดโครงสร้างข้อมูลที่ใช้ ประกอบด้วย
                    •  ภาษาที่ใช้ในการเขียนโปรแกรม ซึ่งขึ้นอยู่กับความถนัด ประเภทของงานและ
คุณสมบัติเฉพาะของเครื่องคอมพิวเตอร์
                    •  วิธีการเก็บข้อมูลและเรียกใช้ตัวแปร เช่นการประกาศตัวแปรอาเรย์ให้สามารถเก็บ
ข้อมูลได้หลายตัว หรือเก็บข้อมูลเป็นคลาส หรือตามโครงสร้างข้อมูลแบบต่างๆ เป็นต้น

            5. วิธีการประมวลผล เป็นขั้นตอนที่สำคัญในการแก้ปัญหา ประกอบด้วยข้อกำหนดดังนี้
                    •  กำหนดวิธีการ หรือเทคนิคที่ใช้แก้ปัญหา ปัญหาต่าง ๆ จะมีวิธีการปัญหาแตกต่างกัน
ไปขึ้นอยู่กับสภาพของปัญหา และผู้แก้ปัญหา และปัญหาหนึ่ง ๆ สามารถแก้ปัญหาได้ด้วยหลาย ๆ
วิธีการ ดังนั้นให้เลือกวิธีการแก้ปัญหาที่เหมาะสมกับปัญหานั้น ๆ
                    •  กำหนดขั้นตอนทำงานให้ชัดเจน เพื่อแก้ปัญหาตามลำดับการทำงานของวิธีการที่
ได้เลือกใช้ และประมวลผลให้ได้ผลลัพธ์ที่ต้องการ

ขั้นตอนที่ 2 : การออกแบบโปรแกรม (Program Design)

          ประกอบด้วยวิธีการดังนี้ คือ

         

 1. การออกแบบโปรแกรมโดยใช้ อัลกอริธึม (Algorithm)เป็น การอธิบายถึงลำดับขั้นตอน
การทำงานของการแก้ปัญหาโดยใช้ประโยคข้อความที่ ชัดเจนไม่คลุมเครือ สามารถบอกลำดับ
การทำงานได้ ซึ่งมีประโยชน์ดังนี้
                    •  ทำให้เห็นลำดับของการทำงานและวิธีการทำงานแต่ละขั้นตอนได้อย่างละเอียด
                    •  ทำให้เห็นภาพรวมของการทำงานของขั้นตอนทั้งหมด
                    •  เป็นการวางแผนการทำงานไว้ล่วงหน้า ทำให้สามารถนำไปเขียนเป็นโปรแกรมได้
อย่างถูกต้องและรวดเร็ว

          2. การออกแบบโปรแกรมโดยใช้รหัสจำลอง (Pseudo Code)เป็น การออกแบบขั้นตอนการ
ทำงานของโปรแกรมโดยการใช้ข้อความภาษาอังกฤษที่ใกล้เคียง กับภาษาคอมพิวเตอร์ ซึ่งมี
หลักการทำงานและประโยชน์เหมือนกับการใช้อัลกอริธึ่ม แต่มีข้อดี ดังนี้คือ
                    •  สามารถนำรหัสจำลองไปใช้เขียนโปรแกรมได้ง่ายกว่าการใช้อัลกอริธึ่ม เพราะ
มีความใกล้เคียงกับคำสั่งคอมพิวเตอร์
                    •  ผู้ออกแบบโปรแกรมต้องมีความรู้ทางด้านภาษาคอมพิวเตอร์บ้าง เพื่อให้สามารถ
นำไปประยุกต์ใช้และเขียนโปรแกรมเป็นภาษาอื่นๆได้หลายภาษา

 3. การออกแบบโปรแกรมโดยใช้ผังงาน (Flowchart) คือ การใช้สัญลักษณ์รูปภาพ หรือกล่อง
ข้อความบรรยายรายละเอียดการทำงาน และใช้ลูกศรบอกทิศทางลำดับ ของการทำงาน ซึ่งมีข้อดี
ดังนี้ คือ
                    •  สามารถอ่านและเข้าใจการทำงานได้ง่าย เพราะมองเห็นภาพรวมขั้นตอนการ
ทำงานทั้งหมดได้ชัดเจน
                    •  สามารถออกแบบโครงสร้างการทำงานได้หลากหลายโดยใช้ลูกศรแสดงทิศทาง
การทำงาน ทำให้แก้ปัญหาที่มีหลายเลือกและซับซ้อนได้
                    •  คำสั่งหรือคำบรรยายรายละเอียดในกล่องข้อความสามารถนำไปเขียนเป็นคำสั่ง
ของโปรแกรมได้

ขั้นตอนที่ 3 : การเขียนโปรแกรม (Program Coding)

          เป็นขั้นตอนสำคัญ หลังจากได้ผ่านการออกแบบโปรแกรมแล้ว โดยการนำแนวคิดจาก
อัลกอริธึ่ม หรือผังงานมาแปลงให้อยู่ในรูปคำสั่งคอมพิวเตอร์ โดยอาศัยความรู้และทักษะการเขียน
โปรแกรมและใช้ภาษาคอมพิวเตอร์รวมทั้ง เครื่องมือช่วยในการเขียนโปรแกรมต่าง ๆ เพื่อให้เกิด
ผลลัพธ์ถุกต้อง และทำงานตามที่เราต้องการ สรุปการเขียนโปรแกรม ต้องพิจารณาองค์ประกอบ
ดังนี้
                    •  เลือกภาษาที่เหมาะสม
                    •  ลงมือเขียนโปรแกรม โดยการแปลงขั้นตอนการทำงาน (ประมวลผล) ที่ได้จากการ
ออกแบบ ให้อยู่ในรูปของคำสั่งที่ถูกต้อง ตรงตามรูปแบบของภาษาที่เลือกนั้น

ขั้นตอนที่ 4 : การทดสอบและแก้ไขโปรแกรม ( Program Testing & Verification)

          การทดสอบและแก้ไขโปรแกรม เป็นขั้นตอนการตรวจสอบโปรแกรมที่เขียนได้ ว่าทำงาน
ถูกต้องตรงตามความต้องการของผู้ใช้ หรือตรงตามลักษณะงานของโปรแกรมนั้นหรอไม่
          ความผิดพลาด ( Errors) ที่สามารถเกิดขึ้นได้จากการเขียนโปรแกรม มีดังนี้
                    •  Syntax Error ความผิดพลาดที่เกิดจากการใช้คำสั่งผิดรูปแบบที่ภาษานั้นกำหนด เช่น
การลืมประกาศตัวแปร การเขียนคำสั่งผิด เช่น คำสั่ง while( ) เป็น WHILE( )
                    •  Logic Error ความผิดพลาดที่เกิดจากการที่โปรแกรมทำงานผิดไปจากขั้นตอนที่ควร
จะเป็น เช่น การตรวจสอบเงื่อนไขผิดไม่ตรงตามวัตถุประสงค์ คำนวณค่าได้คำตอบไม่ถูกต้อง หรือ
ทำงานผิดลำดับขั้นตอน เป็นต้น
                    •  System Design Error ความผิดพลาดที่เกิดจากการที่โปรแกรมทำงานได้ไม่ตรงตาม
ความต้องการของลูกค้า

            ขั้นตอนการทดสอบและแก้ไขโปรแกรม

                    •

Desk-Checking ผู้เขียนโปรแกรมตรวจสอบโปรแกรมด้วยตนเอง ถ้าให้ผู้อื่นช่วยดู
จะเรียกว่า Structured-Walkthrough
                    •  Translating ตรวจสอบรูปแบบคำสั่งต่างๆที่ใช้ในโปรแกรมโดยตัวแปลภาษา
( Translator) เป็นผู้ตรวจ
                    •  Debugging เป็นการทดลองใช้โปรแกรมจริง เพื่อค้นหาข้อบกพร่อง เช่น ผลลัพธ์ที่
ไม่ตรงตามความต้องการ ซึ่งอาจมีสาเหตุจาก Logic Errors และถ้าได้ทดสอบกับผู้ใช้จริงก็จะ
สามารถตรวจสอบ System Design Errors ได้

ขั้นตอนที่ 5 : การจัดทำเอกสารและคู่มือการใช้งาน (Program Documentation)

          การจัดทำเอกสารและคู่มือการใช้งานจัดทำเอกสารต่าง ๆ ที่เกี่ยวข้องกับระบบหรือการเขียน
โปรแกรม ได้แก่
                    •  คู่มือสำหรับผู้ใช้โปรแกรม (User's Manual or User's Guide) คือเอกสารที่อธิบาย
วิธีการใช้ระบบหรือโปรแกรม เรียกว่า User Manual ใช้สำหรับผู้ใช้งานโปรแกรม แนะนำวิธีการใช้
งานโปรแกรม แนะนำคุณสมบัติ และองค์ประกอบของโปรแกรมต่าง ๆ วิธีการติดตั้งโปรแกรม
สามารถทำควบคู่ไปกับการเขียนโปรแกรม อาจทำเป็นคู่มือเอกสารที่อยู่ในรูปแบบโปรแกรม
ออนไลน์ก็ได้ (Online Manual)
                    •  คู่มือสำหรับผู้เขียนโปรแกรม (Programmer's Manual or Programmer's Guide) เป็น
คู่มือที่จัดทำขึ้น เพื่อให้ผู้พัฒนาโปรแกรม รวมทั้งเทคนิคพิเศษต่างๆ ของโปรแกรม เพื่อให้สะดวก
ต่อการปรับปรุงแก้ไขโปรแกรมที่มีอยู่เดิม โดยทั่วไปจะเป็นเอกสารแสดงการวิเคราะห์และออกแบบ
ระบบ เรียกว่า System Manual ใช้สำหรับผู้พัฒนาระบบหรือโปรแกรม เท่านั้น

ขั้นตอนที่ 6 : การใช้งานจริง (Program Implement)

          การใช้งานจริง เป็นขั้นตอนสำคัญหลังจากทำการทดสอบและแก้ไขโปรแกรมให้มีความ
ถูกต้องเรียบ ร้อยแล้ว โดยการนำโปรแกรมไปใช้งานจริงด้วยการป้อนข้อมูลต่างๆ สภาวะแวดล้อม
และสถานการณ์ต่างๆโดยผู้ใช้งานโปรแกรมสามารถทำงานตามฟังก์ชั่น และทำตามจุดประสงค์
ของโปรแกรมที่เขียนไว้ ขั้นตอนการใช้งานจริงของโปรแกรมหากพบข้อผิดพลาด ก็สามารถ
ปรับปรุง แก้ไข โปรแกรมให้ถูกต้องได้

ขั้นตอนที่ 7 : การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance)

          การเขียนโปรแกรมที่ ดีต้องมีขั้นตอนการปรับปรุงและพัฒนาโปรแกรมให้มีความถูกต้อง
ทันสมัย และตรงกับความต้องการของผู้ใช้มากที่สุด โดยทั่วไปโปรแกรมที่ใช้งานจะประกอบด้วย
หลาย ๆ รุ่น เช่นรุ่นทดสอบ (Beta Version) และ รุ่นที่ใช้งานจริง (Release Version) และต้องมีการ
ปรับเปลี่ยนโปรแกรมให้ดีขึ้น ดังตัวอย่างเช่นโปรแกรมเวอร์ชัน 1 มีการเพิ่มเติม ปรับปรุง แก้ไข
โปรแกรมเป็นเวอร์ชัน 1.2 เป็นต้นการพัฒนาโปรแกรมให้ดีขึ้นมีประโยชน์ต่อผู้ใช้งาน และผู้เขียนโ
ปรแกรมต้องอาศัยคู่มือการใช้งาน และเอกสารประกอบของโปรแกรม เพื่อเป็นแนวทางในการ
แก้ไข และให้ผู้อื่นๆสามารถพัฒนาต่อได้