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

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

1. ทำความเข้าใจกับปัญหา

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

2. พัฒนาวิธีแก้ไขปัญหา

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

3. เขียนโปรแกรม

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

4. ทดสอบโปรแกรม

หลังจากโปรแกรมถูกเขียนขึ้นจนเสร็จเรียบร้อยแล้ว ก็จะต้องมีการทดสอบโปรแกรม เพื่อค้นหาข้อผิดพลาดหรือบั๊ก (Bug) ที่เกิดจากโปรแกรม ซึ่งการทดสอบโปรแกรมอาจจำเป็นต้องใช้เวลามาก โดยเฉพาะโปรแกรมที่มีความซับซ้อนสูงหรือโปรแกรมขนาดใหญ่ มีวิธีการทดสอบอยู่ 2 ชนิดคือ การทดสอบแบบกล่องดำ และการทดสอบแบบกล่องขาว โดยที่

– การทดสอบแบบกล่องดำ (Black box Testing) เป็นแนวคิดของการทดสอบโปรแกรมที่ไม่ต้องการรู้ว่ามีอะไรอยู่ภายใน และไม่ต้องการรู้ว่าภายในโปรแกรมทำงานอย่างไร เปรียบเสมือนโปรแกรมที่นำมาทดสอบนั้นเหมือนกล่องดำชิ้นหนึ่ง ที่เราไม่สามารถเห็นหรือรู้ว่าอะไรอยู่ภายในนั่นเอง การทดสอบแบบกล่องดำจึงต้องการทราบเพียงว่า “เมื่อมีการนำข้อมูลเข้าระบบแล้ว จะได้ผลลัพธ์ออกมาถูกต้อง ตามความต้องการหรือไม่”

– การทดสอบแบบกล่องขาว (White box Testing) เป็นวิธีทดสอบโปรแกรมที่ผู้นำมาทดสอบนั้น เหมือนกล่องใสๆ ใบหนึ่งที่เราสามารถมองเห็นรายละเอียดทุกอย่างที่อยู่ภายใน ดังนั้น การทดสอบแบบกล่องขาวจึงเป็นการตรวจสอบลึกลงในรายละเอียดถึงชุดคำสั่งภายในโปรแกรมว่า มีวิธีการเขียนอย่างไร มีฟังก์ชั่นการทำงานที่ถูกต้องครบถ้วนหรือไม่ สูตรคำนวณที่นำมาใช้มีข้อผิดพลาดทางรูปแบบ (Syntax Error) หรือข้อผิดพลาดทางตรรกะ (Logic Error) หรือไม่ซึ่งจะต้องแก้ไขให้ถูกต้องเมื่อพบข้อผิดพลาด

5. จัดทำเอกสารและบำรุงรักษาโปรแกรม

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