การเขียนโปรแกรม (programming)
การเขียนโปรแกรม (programming) หรือ การเขียนโค้ด (coding) เป็นขั้นตอนการเขียน
ทดสอบและดูแลซอร์สโค้ดของโปรแกรมคอมพิวเตอร์ซึ่งซอร์สโค้ดนั้นจะเขียนด้วยภาษาโปรแกรม
ขั้นตอนการเขียนโปรแกรมต้องการความรู้ในหลายด้านด้วยกัน
เกี่ยวกับโปรแกรมที่ต้องการจะเขียนและอัลกอริทึมที่จะใช้
ซึ่งในวิศวกรรมซอฟต์แวร์นั้น การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งในวงจรชีวิตของการพัฒนาซอฟแวร์
การเขียนโปรแกรมจะได้มาซึ่งซอร์สโค้ดของโปรแกรมนั้นๆ
โดยปกติแล้วจะอยู่ในรูปแบบของ plaintextซึ่งไม่สามารถนำไปใช้งานได้จะต้องผ่านการคอมไพล์ตัวซอร์สโค้ดนั้นให้เป็นภาษาเครื่อง
(Machine Language) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
การเขียนโปรแกรมถือว่าเป็นการผสมผสานกันระหว่างศาสตร์ของ
ศิลปะ วิทยาศาสตร์ คณิตศาสตร์ และ วิศวกรรม เข้าด้วยกัน
ขั้นตอนการเขียนโปรแกรมหรือพัฒนาโปรแกรม
มีขั้นตอนโดยสังเขปดังนี้1.วิเคราะห์ปัญหาและความต้องการ
(Problem Analysis and Requirement Analysis)
2.การออกแบบ (Design)
3.การเขียนโปรแกรม(Programming)
4.การทดสอบ (Testing)
5.การจัดทำเอกสาร (Documentation)
6.การบำรุงรักษา (Maintenance)
7.การแก้ปัญหาด้วยคอมพิวเตอร์
โดยในการแก้ปัญหาโดยอาศัยวิธีการเขียนโปรแกรม
ประกอบด้วยขั้นตอนต่าง ๆ ดังนี้
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
ภาษาคอมพิวเตอร์สามารถแบ่งออกได้เป็น 5 ยุคคือ
1. ภาษาเครื่อง (Machine
language)
เป็นภาษาพื้นฐานที่คอมพิวเตอร์สามารถเข้าใจได้
แต่ละคำสั่งประกอบขึ้นจากกลุ่มตัวเลข0 และ 1 ซึ่งเป็นเลขฐานสอง
2. ภาษาแอสเซมบลี
(Assembly language)
เป็นภาษาที่ใช้สัญลักษณ์ข้อความ
แทนกลุ่มของตัวเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากขึ้น
การทำงานของโปรแกรมจะต้องทำการแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง
โดยใช้ตัวแปลที่เรียกว่า แอสเซมเบลอร์ (Assembler)
3. ภาษาชั้นสูง (High-level
language)หรือ ภาษารุ่นที่3 (3GL:Third Generation Language)
ถูกสร้างขึ้นมาเพื่อให้เขียนโปรแกรมได้ง่ายขึ้น
โดยมีลักษณะเหมือนกับภาษาอังกฤษทั่วไป
ผู้เขียนไม่จำเป็นต้องมีความรู้เกี่ยวกับฮาร์แวร์แต่อย่างใด
ภาษานี้จำเป็นต้องมีตัวแปลภาษาเครื่องเช่นกัน เรียกตัวแปลนี้ว่า คอมไพเลอร์ (compiler)หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่งตัวอย่างของภาษาชั้นสูง เช่น ภาษาปาสคาล ภาษาซี ภาษโคบอล
ภาษเบสิก ภาษาฟอร์แทรน
4. ภาษาชั้นสูงมาก
(Very high-level language) หรือภาษารุ่นที่ 4
(4GL)
เป็นภาษาที่มีลักษณะคล้ายภาษาพูดตามปกติของมนุษย์
ภาษานี้จะช่วยให้การเขียนโปรแกรมเร็วมากขึ้นกว่าภาษาในรุ่นที่ 3 เนื่องจากมีเครื่องมือที่ช่วยในการสร้างแบบฟอร์มหน้าจอ
เพื่อจัดการกับข้อมูลรวมไปถึงการออกรายงาน เมนูต่าง ๆ
ตัวอย่างของภาษาชั้นสูงมากได้แก่ informix-4GL, MAGIC , Delphi , Power Builder ฯลฯ
5. ภาษาธรรมชาติ (Natural
language) หรือภาษารุ่นที่ 5 (5GL)
เป็นภาษาที่สามารถสั่งงานคอมพิวเตอร์โดยใช้รูปแบบของภาษามนุษย์ได้เลย
คำสั่งอยู่ในรูปแบบที่ไม่แน่นอนตายตัว
แต่คอมพิวเตอร์จะทำการแปลให้ออกมาในรูปที่คอมพิวเตอร์เข้าใจได้
ภาษานี้ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชียวชาญ(Expert system)
ตัวอย่างภาษาในรุ่นที่ 5 ได้แก่ ภาษา PROLOGเป็นต้น
ไม่มีความคิดเห็น:
ไม่อนุญาตให้มีความคิดเห็นใหม่