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