ข้ามไปยังเนื้อหา
การออกแบบการเขียนโปรแกรม การออกแบบโปรแกรม เป็นการแสดงลำดับของการทำงานของโปรแกรม เพื่อให้เห็นภาพรวมของการทำงานของขั้นตอนทั้งหมด และเป็นการวางแผนการทำงานไว้ล่วงหน้า สามารถใช้วิธีการต่างๆได้ดังนี้ โดยทั่วไปผู้เขียนโปรแกรมจะแสดงการทำงานของโปรแกรมโดยการใช้ผังงาน (Flowchart) ซึ่งสามารถอ่านและเข้าใจการทำงานได้ง่าย ช่วยให้เขียนโปรแกรม การตรวจสอบ และแก้ไขโปรแกรมสะดวกรวดเร็วขึ้น ผังงาน ( Flowchart) คือ รูปภาพหรือสัญลักษณ์ ที่ใช้เขียนแทนคำอธิบาย ข้อความ หรือคำพูดที่ใช้ในอัลกอริทึม เพราะการที่จะเข้าใจขั้นตอนได้ง่ายและตรงกันนั้น การใช้คำพูดหรือข้อความอาจทำได้ยากกว่าการใช้รูปภาพหรือสัญลักษณ์ ผังงานสามารถแบ่งได้เป็น 2 ประเภทใหญ่ ๆ คือ
ตัวอย่างเช่น ผังงานระบบบริหารโรงเรียนแห่งหนึ่ง ข้อมูลทะเบียนประวัติของนักเรียนจะเริ่มขึ้นครั้งแรกเมื่อมีการับสมัครนักศึกษาใหม่ จากแผนกรับสมัคร และถือว่าเป็นข้อมูลพื้นฐานไปยังแผนกต่าง ๆ ในโรงเรียน เช่น แผนกปกครอง แผนกวัดผล หรือแผนกทะเบียน ซึ่งในส่วนของแผนกทะเบียนอาจจะมีการแก้ไขข้อมูลบางอย่าง เช่น มีการแก้ไขชื่อ ที่อยู่ของนักศึกษา ก็ได้
- ผังงานโปรแกรม ( Program Flowchart) เป็นผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ซึ่งจะแสดงการทำงานตั้งแต่เริ่มต้น ในส่วนของการรับข้อมูล การคำนวณหรือการประมวลผล จนถึงการแสดงผลลัพธ์ ผังงานนี้อาจสร้างจากผังงานระบบ โดยผู้เขียนผังงานอาจดึงเอาแต่ละจุดที่เกี่ยวข้องกับการทำงานของคอมพิวเตอร์เพื่อนำมาวิเคราะห์ว่า ถ้าใช้คอมพิวเตอร์ทำงานตรงจุดนั้นเพื่อให้ได้ผลลัพธ์ตามต้องการ ควรจะมีขั้นตอนในการเขียนผังงานอย่างไร เพื่อให้คอมพิวเตอร์ทำงาน ซึ่งการเขียนผังงานนี้จะช่วยเพิ่มความสะดวกในการเขียนโปรแกรมของผู้เขียนโปรแกรมได้มาก เพราะสามารถดูได้ง่ายว่าในแต่ละขั้นตอนการทำงานควรใช้คำสั่งอย่างไร
ประโยชน์ของผังงานโปรแกรม
• ทำให้เข้าใจและแยกแยะปัญหาต่าง ๆ ได้ง่ายขึ้น
• ผู้เขียนโปรแกรมมองเห็นลำดับการทำงาน รู้ว่าสิ่งใดควรทำก่อน สิ่งใดควรทำหลัง
• สามารถหาข้อผิดพลาดของโปรแกรมได้ง่าย
• ทำให้ผู้อื่นเข้าใจการทำงานได้ง่ายกว่าการดูจาก source code
• ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
ผู้อื่นสามารถเรียนรู้และเข้าใจได้ง่าย
อ่านเพิ่มเติม : //www.elearning.msu.ac.th/opencourse/1201104/Unit_2/Unit_1_01_3.htm
1.3 ขั้นตอนของวงจรการพัฒนาโปรแกรม
- ขั้นวิเคราะห์ความต้องการ (Requirement Analysis and Feasibility Study)
- ขั้นวางแผนแก้ไขปัญหา (Algorithm Design)
- ขั้นดำเนินการเขียนโปรแกรม (Program Coding)
- ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
- ขั้นการเขียนเอกสารประกอบ (Documentation)
- ขั้นบำรุงรักษาโปรแกรม (Program maintenance)
ขั้นตอนของวงจรการพัฒนาโปรแกรมจะประกอบไปด้วยทั้งหมด 6 ขั้นตอน ดังนี้
1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis and Feasibility Study)
ขั้นตอนนี้เป็นขั้นตอนแรกสุดที่นักเขียนโปรแกรม จะต้องทำก่อน ลงมือเขียนโปรแกรม เพื่อทำความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหา จุดมุ่งหมาย หรือสิ่งที่ต้องการ ขั้นตอนนี้ถือว่าเป็นขั้นตอนที่สำคัญที่สุด ก่อนถึงขั้นตอนการวางแผนแก้ไขปัญหา และดำเนินการเขียนโปรแกรม โดยในขั้นวิเคราะห์ความต้องการจะใช้เทคนิค "การวิเคราะห์งาน" มาตรวจสอบและวิเคราะห์ความต้องการ ดังนี้
2. ขั้นวางแผนแก้ไขปัญหา หรือการออกแบบโปรแกรม (Algorithm Design)
ขั้นตอนการวางแผนแก้ไขปัญหา เป็นขั้นที่มีการใช้เครื่องมือมา ช่วยในการแก้ไขปัญหา จะทำให้ขั้นตอนการเขียนโปรแกรมมีความผิดพลาด น้อยลง ซึ่งเครื่องมือที่ใช้ในการตรวจสอบการทำงานของโปรแกรม นั้นจะ ทำให้ ทราบขั้นตอน การทำงานของโปรแกรมได้อย่างรวดเร็ว
ถ้าเราจะเปรียบเทียบการเขียนโปรแกรมเป็นการสร้างบ้านแล้ว ขั้นตอนการวางแผนแก้ไขปัญหานี้ เป็นเหมือนการออกแบบแปลนบ้าน ลงใน กระดาษ เพื่อจะได้นำไปสร้างบ้าน ในลำดับไป ซึ่งขั้นตอนการวางแผนแก้ไขปัญหานี้ ผู้ออกแบบการแก้ไขปัญหา สามารถนำเครื่องมือมาช่วยในการแก้ไขปัญหาได้ โดยมีอยู่หลายตัว ตามความถนัด หรือความชอบ ซึ่งเครื่องมือเหล่านี้ได้แก่
2.1 อัลกอริทึม (Algorithm) คือรูปแบบของการกำหนดการทำงานอย่างเป็นขั้นตอน ซึ่งผ่านการวิเคราะห์และแยกแยะ เพื่อการแก้ปัญหาต่าง ๆ ตามลำดับขั้น อาจเลือกใช้ภาษาไทยหรือภาษาอังกฤษตามความถนัด เพื่อนำเสนอขั้นตอนของกิจกรรมก็ได้
2.2 ผังงาน (Flowchart) คือแผนภาพที่ใช้แสดงลำดับขั้นตอนการทำงานของโปรแกรม ซึ่งจะใช้ภาพสัญลักษณ์สื่อความหมาย แต่ละขั้นตอนของการทำงาน และจะใช้ลูกศรสื่อถึงทิศทางการเดินทางของลำดับการทำงาน ซึ่งจะทำให้ทราบขั้นตอนและลำดับการทำงานของโปรแกรมได้อย่างถูกต้อง
2.3 รหัสจำลอง หรือรหัสเทียม (Pseudo-code)คือ การเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัด และมองดูคล้ายภาษาระดับสูงที่ใช้กับเครื่องคอมพิวเตอร์ ซึ่งรหัสเทียมนั้นจะไม่เจาะจงสำหรับภาษาใดภาษาหนึ่งโครงสร้างของรหัสเทียม จึงมีส่วนที่คล้ายคลึงกันกับการเขียนโปรแกรมมาก
3. ขั้นดำเนินการเขียนโปรแกรม (Program Coding)
ขั้นตอนนี้เป็นการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ภาษาใดภาษาหนึ่งขึ้นมา โดยเลือกใช้ภาษาที่เหมาะสมกับลักษณะ ประเภทของงาน และความถนัดของผู้เขียน เช่นถ้าเป็นงานทางด้าน ธุรกิจ ก็เลือกภาษาโคบอล ถ้าเป็นการพิมพ์รายงาน ก็เลือกภาษา อาร์พีจี หรือถ้าจะเขียนโปรแกรมบนเว็บก็จะใช้ภาษา ASP , PHP เป็นต้น
4. ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
ขั้นตอนนี้เป็นการตรวจสอบจุดผิดพลาดของโปรแกรม (Bugs) ที่เขียนขึ้น และดำเนินการแก้ไขข้อผิดพลาดนั้น เรียกกระบวนการนี้การ Debugs
โปรแกรมที่ทำงานไม่ได้ตามวัตถุประสงค์ เรียกว่าโปรแกรมมี Error เกิดขึ้น Error ของโปรแกรมมักมีมาจาก 3 สาเหตุใหญ่ ๆ คือ
4.1 ข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error)
4.2 ข้อผิดพลาดที่เกิดจากตรรกะโปรแกรมผิด (Logical Error)
4.3 ข้อผิดพลาดในระหว่างการรันโปรแกรม (Run-time Error)
5. ขั้นการเขียนเอกสารประกอบ (Documentation)
การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร ฯลฯ เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือ รหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้ ซึ่งเอกสารประกอบโปรแกรมโดยทั่วไปจะมีอยู่ ด้วยกัน 2 แบบคือ
5.1 เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรม เป็นหลัก ตัวอย่างเช่น
- โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
- ข้อมูลเข้ามีลักษณะอย่างไร
- ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
- การเรียกใช้โปรแกรมทำอย่างไร
- คำสั่ง หรือข้อมูล ที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
- อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
5.2 เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
- ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรมหรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
- ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจาก โปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ อะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับ วัตถุประสงค์ของโปรแกรม เป็นต้น
6. ขั้นบำรุงรักษาโปรแกรม (Program Maintenance)
ขั้นตอนนี้คือขั้นตอนสุดท้ายเมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรม ต้องคอยเฝ้าดู และหาข้อผิดพลาด ของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น
หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการ เปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะสมกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูล หรือลบข้อมูลเดิมนักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น