วันศุกร์ที่ 24 กรกฎาคม พ.ศ. 2558

ผังงานFlowchart


ผังงานFlowchart

          ในการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โดยทั่วไปจะมีหลักการหรือขั้นตอนที่สาคัญทั้งหมด 5 ขั้นตอนได้แก่

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

ประเภทของผังงาน โดยทั่วไปผังงานคอมพิวเตอร์แบ่งเป็น 2 ประเภทใหญ่

        1. ผังงานระบบ (System Flowchart)

                        เป็นผังงานที่แสดงถึงขั้นตอนการทางานภายในระบบหนึ่ง ๆ เพื่อให้เห็นโครงสร้างโดยภาพรวมของระบบ ซึ่งจะแสดงถึงความเกี่ยวข้องของส่วนที่สาคัญต่างๆ ในระบบนั้น เช่น เอกสารข้อมูลเบื้องต้น สื่อบันทึกข้อมูลที่ใช้ ข้อมูลจะส่งผ่านไปยังหน่วยงานใด มีกิจกรรมประมวลผลข้อมูลอะไรในหน่วยงานนั้น แล้วจะส่งต่อไปหน่วยงานใด เป็นต้น ดังนั้นผังงานระบบอาจเกี่ยวข้องกับข้อมูล สื่อหรือแหล่งบันทึกข้อมูล วัสดุปกรณ์ คน หรือฝ่ายงานที่เกี่ยวข้อง ซึ่งแต่ละจุดจะประกอบไปด้วย 
การนาข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์ (Input – Process - Output) ดังภาพ
 2. ผังงานโปรแกรม (Program Flowchart) หรือเรียกสั้นๆ ว่า ผังงาน

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

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

ข้อจากัดของการเขียนผังงาน

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

วิธีการเขียนผังงานที่ดี 

การเขียนผังงานควรคานึงถึงสิ่งต่าง ๆ ดังนี้ 
                1. ใช้สัญลักษณ์ตามที่กาหนดไว้ 
                2. ผังงานจะต้องมีจุดเริ่มต้น (Start)และสิ้นสุด (Stop/End/Finish) 
                3. ใช้หัวลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรือซ้ายไปขวา (ยกเว้นที่ต้องทาซ้า) 
                4. ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า 1 เส้นและออก 1 เส้นโดยไม่มีการปล่อยจุดใดจุดหนึ่งไว้ 
                5. เขียนคาอธิบายการทางานในแต่ละขั้นตอนโดยใช้ข้อความที่สั้น กะทัดรัด ชัดเจนและเข้าใจได้ง่าย 
                6. ควรหลีกเลี่ยงโยงเส้นไปมาทาให้เกิดจุดตัดมากเพราะจะทาให้เกิดข้อผิดพลาดง่าย ควรใช้สัญลักษณ์เชื่อมจุดต่อเนื่องแทน
                7. ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
                8. ผังงานที่ดีควรมีความเป็นระเบียบเรียบร้อย สะอาดและชัดเจน สามารถเข้าใจและติดตามขั้นตอนได้ง่าย
                9. ผังงานควรมีการทดสอบความถูกต้องของการทางานก่อนไปเขียนโปรแกรม

ไม่มีความคิดเห็น:

แสดงความคิดเห็น