ตัวอย่างโปรแกรม
Microsoft office 2010 2012 2013 2016
Windows Xp, Vista, 7, 8, 8.1, 10
Android M, 5.0 Lollipop, 4.4 KitKat, Nougat
1. การวิเคราะห์ปัญหา (Requirement Analysis)
1. กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง
2. พิจารณาข้อมูลนำเข้า (Input) เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติ
เป็นอย่างไร ตลอดจนลักษณะและรูปแบบของข้อมูลที่จะนำเข้า
3. พิจารณาการประมวลผล (Process) เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไข
การประมวลผลอะไรบ้าง
4. พิจารณาข้อสนเทศนำออก (Output) เพื่อให้ทราบว่ามีข้อสนเทศอะไรที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะ
ใช้ใน การแสดงผล เช่นการแสดงออกทางจอภาพ การแสดงออกทางเครื่องพิมพ์
2. การออกแบบโปรแกรม (Algorithm Design)
ขั้นตอนการวางแผนแก้ไขปัญหา เป็นขั้นที่มีการใช้เครื่องมือมา ช่วยในการแก้ไขปัญหา จะทำให้ขั้นตอนการเขียนโปรแกรมมีความผิดพลาด น้อยลง ซึ่งเครื่องมือที่ใช้ในการตรวจสอบการทำงานของโปรแกรม นั้นจะ ทำให้ ทราบขั้นตอน การทำงานของโปรแกรมได้อย่างรวดเร็ว
ถ้าเราจะเปรียบเทียบการเขียนโปรแกรมเป็นการสร้างบ้านแล้ว ขั้นตอนการวางแผนแก้ไขปัญหานี้ เป็นเหมือนการออกแบบแปลนบ้าน ลงใน กระดาษ เพื่อจะได้นำไปสร้างบ้าน ในลำดับไป ซึ่งขั้นตอนการวางแผนแก้ไขปัญหานี้ ผู้ออกแบบการแก้ไขปัญหา สามารถนำเครื่องมือมาช่วยในการแก้ไขปัญหาได้ โดยมีอยู่หลายตัว ตามความถนัด หรือความชอบ ซึ่งเครื่องมือเหล่านี้ได้แก่
1. อัลกอริทึม (Algorithm) คือรูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้
2. ผังงาน (Flowchart) คือแผนภาพที่ใช้แสดงลำดับขั้นตอนการทำงานของโปรแกรม ซึ่งจะใช้ภาพสัญลักษณ์สื่อความหมาย แต่ละขั้นตอนของการทำงาน และจะใช้ลูกศรสื่อถึงทิศทางการเดินทางของลำดับการทำงาน ซึ่งจะทำให้ทราบขั้นตอนและลำดับการทำงานของโปรแกรมได้อย่างถูกต้อง
2. รหัสจำลอง หรือรหัสเทียม (Pseudo-code)คือ การเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด และมองดูคล้ายภาษาระดับสูงที่ใช้กับเครื่องคอมพิวเตอร์ ซึ่งรหัสเทียมนั้นจะไม่เจาะจงสำหรับภาษาใดภาษาหนึ่งโครงสร้างของรหัสเทียม จึงมีส่วนที่คล้ายคลึงกันกับการเขีย
3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ (Programming) Coding
การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้ นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่างๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดและง่ายต่อการตรวจสอบและโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ
4. ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
เป็นการนำเอาโปรแกรมที่เขียนแล้วเข้าเครื่องคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษา และผลการทำงานของโปรแกรมนั้น ถ้าพบข้อผิดพลาดก็แก้ไขให้ถูกต้อง ข้อผิดพลาดที่มักพบบ่อยๆ ในการสั่งให้โปรแกรมทำงานมีอยู่ 3 แบบคือ
4.1 ข้อผิดพลาดทางไวยากรณ์ภาษา (Syntax Error) เกิดจากการเขียนชุดคำสั่งไม่ถูกต้องตามไวยากรณ์ของภาษาคอมพิวเตอร์นั้นๆ
4.2 ข้อผิดพลาดระหว่างการประมวลผล (Runtime Error) เกิดขณะที่โปรแกรมกำลังประมวลผลหรือกำลังทำงานอยู่ โดยอาจจะเป็นความผิดพลาดจากการป้อนข้อมูลเข้าสู่ระบบ แล้วไม่สามารถประมวลผลได้
4.3 ข้อผิดพลาดทางวิธีการคิด (Logical Error) เกิดจากเขียนคำสั่งในภาษานั้นๆ ได้ถูกต้องตามหลังไวยากรณ์ แต่เมื่อสั่งให้โปรแกรมทำงาน ผลลัพธ์ที่ได้อาจจะเป็นการคำนวณผิดพลาด ไม่ตรงกับความต้องการของผู้ใช้ เป็นข้อที่แก้ไขได้ยากที่สุด จึงจำเป็นต้องมีการทดสอบหลายๆ ครั้ง เพื่อพิจารณาว่าได้ผลลัพธ์ถูกต้องตามขั้นตอนการประมวลผลที่ออกแบบไว้ หรือเป็นไปตามความต้องการของผู้ใช้งานหรือไม่
โปรแกรมที่เขียนถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษา อาจจะให้ผลลัพธ์ของการประมวลผลไม่ถูกต้อง ดังนั้น ผู้เขียนโปรแกรมจำเป็นต้องทดสอบและตรวจสอบว่าโปรแกรมประมวลผลถูกต้องหรือไม่ วิธีที่นิยมใช้คือ สมมติข้อมูลตัวแทน (Data Test) เพื่อตรวจสอบเงื่อนไขต่างๆ และวิธีการคำนวณว่าโปรแกรมที่เขียนขึ้นมานั้นถูกต้องหรือไม่
5. ขั้นการเขียนเอกสารประกอบ (Documentation)
การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร ฯลฯ เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือ รหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้ ซึ่งเอกสารประกอบโปรแกรมโดยทั่วไปจะมีอยู่ ด้วยกัน 2 แบบคือ
5.1 เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรม เป็นหลัก ตัวอย่างเช่น
- โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
- ข้อมูลเข้ามีลักษณะอย่างไร
- ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
- การเรียกใช้โปรแกรมทำอย่างไร
- คำสั่ง หรือข้อมูล ที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
- อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
5.2 เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
- ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรมหรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
- ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจาก โปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ อะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับ วัตถุประสงค์ของโปรแกรม เป็นต้น
6. ขั้นบำรุงรักษาโปรแกรม (Program Maintenance)
ขั้นตอนนี้คือขั้นตอนสุดท้ายเมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรม ต้องคอยเฝ้าดู และหาข้อผิดพลาด ของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้นหรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการ เปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะสมกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูล หรือลบข้อมูลเดิมนักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น
ประโยชน์ของวงจรการพัฒนาโปรแกรม
สำหรับประโยชน์ของวงจรการพัฒนาโปรแกรม (Program Development Life Cycle : PDLC) นั้นหากเรานำมาใช้ในการทำงานเกี่ยวกับเขียนโปรแกรมสามารถสรุปได้ดังนี้
- ช่วยให้การทำงานเป็นขั้นตอนตามลำดับ
- สามารถเข้าใจถึงความต้องการนำไปสู่การแก้ไขที่ตรงจุดได้
- ช่วยลดข้อผิดพลาดและสามารถตรวจสอบข้อผิดพลาดได้ง่าย
- ลดปัญหาการเขียนโปรแกรมไป…และแก้ไขไปได้
- สร้างกิจนิสัยในที่ดีในการวางแผน วิเคราะห์ปัญหาในการทำงานให้บรรลุผล