ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่าง ๆ จำเป็นต้องมีการวางแผนและออกแบบโปรแกรม
ไว้ล่วงหน้า โดยกำหนดขั้นตอนวิธีการทำงานให้ชัดเจน กระบวนการวิเคราะห์และออกแบบ
โปรแกรมเรียกว่า วัฏจักรการพัฒนาระบบงาน 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 เป็นต้นการพัฒนาโปรแกรมให้ดีขึ้นมีประโยชน์ต่อผู้ใช้งาน และผู้เขียนโ
ปรแกรมต้องอาศัยคู่มือการใช้งาน และเอกสารประกอบของโปรแกรม เพื่อเป็นแนวทางในการ
แก้ไข และให้ผู้อื่นๆสามารถพัฒนาต่อได้