การพัฒนาโปรแกรม

การเขียนโปรแกรมเบื้องต้น

ตัวอย่างโปรแกรม

  • 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) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรม เป็นหลัก ตัวอย่างเช่น

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

        5.2 เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น

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

6. ขั้นบำรุงรักษาโปรแกรม (Program Maintenance)

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

ประโยชน์ของวงจรการพัฒนาโปรแกรม

สำหรับประโยชน์ของวงจรการพัฒนาโปรแกรม (Program Development Life Cycle : PDLC) นั้นหากเรานำมาใช้ในการทำงานเกี่ยวกับเขียนโปรแกรมสามารถสรุปได้ดังนี้

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