หลักการเขียนโปรแกรม

 
Home

การเขียนโปรแกรม (programming)
การเขียนโปรแกรม (programming) หรือ การเขียนโค้ด (coding) เป็นขั้นตอนการเขียน ทดสอบ และดูแลซอร์สโค้ดของโปรแกรมคอมพิวเตอร์
ซึ่งซอร์สโค้ดนั้นจะเขียนด้วยภาษาโปรแกรม] ขั้นตอนการเขียนโปรแกรมต้องการความรู้ในหลายด้านด้วยกัน เกี่ยวกับโปรแกรมที่ต้องการจะเขียน
และอัลกอริทึมที่จะใช้ ซึ่งในวิศวกรรมซอฟต์แวร์นั้น การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งในวงจรชีวิตของการพัฒนาซอฟแวร์
การเขียนโปรแกรมจะได้มาซึ่งซอร์สโค้ดของโปรแกรมนั้นๆ โดยปกติแล้วจะอยู่ในรูปแบบของ plain text ซึ่งไม่สามารถนำไปใช้งานได้
จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
การเขียนโปรแกรมถือว่าเป็นการผสมผสานกันระหว่างศาสตร์ของ ศิลปะ วิทยาศาสตร์ คณิตศาสตร์ และ วิศวกรรม เข้าด้วยกัน

Go to Top

ขั้นตอนการเขียนโปรแกรมหรือพัฒนาโปรแกรม มีขั้นตอนโดยสังเขปดังนี้ วิเคราะห์ปัญหาและความต้องการ (Problem Analysis and Requirement Analysis)
การออกแบบ (Design)
การเขียนโปรแกรม(Programming)
การทดสอบ (Testing)
การจัดทำเอกสาร (Documentation)
การบำรุงรักษา (Maintenance)

Go to Top

การแก้ปัญหาด้วยคอมพิวเตอร์
ในการแก้ปัญหาโดยอาศัยวิธีการเขียนโปรแกรม ประกอบด้วยขั้นตอนต่าง ๆ ดังนี้
1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา
2. การออกแบบโปรแกรม
3. การเขียนโปรแกรม
4. การตรวจสอบการทำงาน
5. การบำรุงรักษาโปรแกรม
6. การทำเอกสารประกอบโปรแกรม

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

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

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

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

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

การทำเอกสารประกอบโปรแกรม
การทำเอกสารประกอบโปรแกรมเป็นงานที่สำคัญของการพัฒนาโปรแกรม เอกสารประกอบโปรแกรมช่วยให้ผู้ใช้โปรแกรมเข้าใจวัตถุประสงค์ ข้อมูลที่จะต้องใช้กับโปรแกรม
ตลอดจนผลลัพธ์ที่จะได้จากโปรแกรม การทำโปรแกรมทุกโปรแกรมจึงควรต้องทำเอกสารกำกับ โดยรวบรวมรายละเอียดตั้งแต่การพัฒนาโปรแกรมจนถึงการทดสอบโปรแกรม เพื่อใช้สำหรับการอ้างอิงเมื่อจะใช้งานโปรแกรมและเมื่อต้องการแก้ไขปรับปรุงโปรแกรม
เอกสารที่จัดทำขึ้นควรประกอบด้วย
1. วัตถุประสงค์
2. ประเภทและชนิดคอมพิวเตอร์และอุปกรณ์ที่ใช้ในโปรแกรม
3. วิธีการใช้โปรแกรม
4. แนวคิดเกี่ยวกับการออกแบบโปรแกรม
5. รายละเอียดโปรแกรม
6. ข้อมูลตัวแทนที่ใช้ทดสอบ
7. ผลลัพธ์ของการทดสอบ
จะเห็นได้ว่า แม้ผู้เขียนโปรแกรมจะดำเนินการนับจากขั้นตอนการวิเคราะห์และกำหนดรายละเอียดของปัญหา การออกแบบโปรแกรม การเขียนโปรแกรม ตลอดจนการตรวจสอบการทำงานในเวลาเพียงน้อยนิด แต่ในขั้นตอนการบำรุงรักษาโปรแกรมจะมีช่วงเวลานานไปตลอดอายุการใช้งานของโปรแกรม ซึ่งนับเป็นสัดส่วนที่มากกว่า 4 ขั้นตอนแรกอย่างมาก

Go to Top