หลักการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษาโปรแกรมและระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไร หลักเกณฑ์การเขียนโปรแกรมประกอบด้วย 5 ขั้นตอน คือ การวิเคราะห์ปัญหา การวางแผน การเขียนโปรแกรม ทดสอบโปรแกรม จัดทำคู่มือและบำรุงรักษาโปรแกรม โดยมีรายละเอียดดังนี้
-
วิเคราะห์ปัญหา ( problem analysis)
เป็นขั้นตอนที่สำคัญที่สุด ผู้เขียนโปรแกรมต้องกำหนดวัตถุประสงค์ของงาน วิเคราะห์รายละเอียดของข้อมูลที่นำเข้า รายละเอียดของผลลัพธ์ และวิธีการที่ได้มาซึ่งผลลัพธ์หรือการประมวลผล สิ่งเหล่านี้ผู้ที่ทำหน้าที่เขียนโปรแกรมจะต้องทำความเข้าใจให้ถูกต้อง เพราะถ้าผู้เขียนโปรแกรมวิเคราะห์ปัญหาไม่ถูกต้อง ผลลัพธ์ที่ได้อาจไม่ตรงกับความต้องการ
-
การวางแผนและการออกแบบ (Planning and Design)
การวางแผน คือ การนำปัญหาที่วิเคราะห์ได้ในขั้นตอนที่ 1 มาวางแผนอย่างเป็นขั้นตอนว่าต้องเขียนโปรแกรมเพื่อแก้ปัญหา
การวางแผนอย่างเป็นขั้นตอนนี้เรียกว่าอัลกอริทึม (Algorithm) ซึ่งมีคุณสมบัติดังนี้
2.1 เป็นกระบวนการที่สร้างขึ้นจากกฎเกณฑ์เพื่อใช้แก้ปัญหาต่าง ๆ เพื่อให้ได้มาซึ่งผลลัพธ์
2.2 กฎเกณฑ์ที่สร้างอัลกอริทึมต้องไม่คลุมเครือ อ่านแล้วไม่สับสน อ่านแล้วสามารถเข้าใจตรงกัน
2.3 การประมวลผลต้องเป็นลำดับขั้นตอนที่แน่นอน
2.4 กระบวนการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
2.5 อัลกอริทึมต้องมีจุดสิ้นสุดเป็นคุณสมบัติที่สำคัญ เพราะการประมวลผลของคอมพิวเตอร์จะต้องมีจุดสิ้นสุด
3. การเขียนโปรแกรม ( Coding) เป็นการนำอัลกอริทึมจากขั้นตอนที่ 2 เขียนโปรแกรม
ให้ถูกต้องตามหลักไวยากรณ์ (Syntax) ของภาษา ที่ผู้เขียนโปรแกรมเลือกมาใช้ในการแก้ปัญหา
4. ทดสอบโปรแกรม ( testing) เป็นการนำโปรแกรมที่ได้จากขั้นตอนที่ 3 มาทำการคอมไพล์(complie) เพื่อทดสอบว่า มีข้อผิดพลาดที่จุดใดบ้าง จุดผิดพลาดของโปรแกรมนี้ เรียกว่า บัก (Bug) ส่วนการแก้ไขข้อผิดพลาดให้ถูกต้องเรียกว่า ดีบัก (Debug)ข้อมูลที่นำเข้าและผลลัพธ์ที่ได้ออกมาถูกต้องตรงกับวัตถุประสงค์หรือไม่โดยทดสอบป้อนข้อมูลที่เป็นไปได้หลาย ๆ ครั้ง ถ้าหากผลลัพธ์ที่ได้มีถูกบ้างผิดบ้าง ทุกครั้งผู้เขียนโปรแกรมจะต้องกลับไปตรวจสอบและแก้ไขโปรแกรมใหม่อีกครั้ง
โดยทั่วไปแล้วข้อผิดพลาดจากการเขียนโปรแกรมจะมีสองประเภท คือ
4.1 การเขียนคำสั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมภาษานั้น ๆ ซึ่งเรียกว่า Syntax Error หรือ Coding Error ข้อผิดพลาดประเภทนี้เรามักพบตอนแปลภาษาโปรแกรมเป็นรหัสภาษาเครื่อง
4.2 ข้อผิดพลาดทางตรรกะ หรือ Logic Error เป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง
5. ขั้นการเขียนเอกสารประกอบ (Documentation)
การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร ฯลฯ เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือ รหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้ ซึ่งเอกสารประกอบโปรแกรมโดยทั่วไปจะมีอยู่ ด้วยกัน 2 แบบคือ
5.1 เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรม เป็นหลัก ตัวอย่างเช่น
- โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
- ข้อมูลเข้ามีลักษณะอย่างไร
- ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
- การเรียกใช้โปรแกรมทำอย่างไร
- คำสั่ง หรือข้อมูล ที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
- อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
5.2 เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
- ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรมหรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
- ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจาก โปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ อะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับ วัตถุประสงค์ของโปรแกรม เป็นต้น
6. ขั้นบำรุงรักษาโปรแกรม (Program Maintenance)
ขั้นตอนนี้คือขั้นตอนสุดท้ายเมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรม ต้องคอยเฝ้าดู และหาข้อผิดพลาด ของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น
หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการ เปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะสมกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูล หรือลบข้อมูลเดิมนักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น