วันอาทิตย์ที่ 11 กันยายน พ.ศ. 2559

ผังงาน (Flowchart)

ความหมายของผังงาน
ผังงาน (Flow chart) คือ รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) หรือกระบวนการทำงาน (Work Flow) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความนั้นทำได้ยาก
ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ โดยรูปแบบสัญลักษณ์จะเป็นกำหนดตามมาตรฐานของ ANSI (สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา : American National Standards Institute) และ ISO (องค์การระหว่างประเทศว่าด้วยการมาตรฐาน : International Organization for Standardization)
ประเภทของผังงาน
โดยทั่วไปผังงานแบ่งเป็น 2 ประเภทใหญ่ๆ ได้แก่
1. ผังงานระบบ (System Flowchart)
เป็นผังงานที่แสดงถึงขั้นตอนการทำงานภายในระบบหนึ่ง ๆ เพื่อให้เห็นโครงสร้างโดยภาพรวมของระบบ ซึ่งจะแสดงถึงความเกี่ยวข้องของส่วนที่สำคัญต่างๆ ในระบบนั้น เช่น เอกสารข้อมูลเบื้องต้น สื่อบันทึกข้อมูลที่ใช้ ข้อมูลจะส่งผ่านไปยังหน่วยงานใด มีกิจกรรมประมวลผลข้อมูลอะไรในหน่วยงานนั้น แล้วจะส่งต่อไปหน่วยงานใด เป็นต้น ดังนั้นผังงานระบบอาจเกี่ยวข้องกับข้อมูล สื่อหรือแหล่งบันทึกข้อมูล วัสดุปกรณ์ คน หรือฝ่ายงานที่เกี่ยวข้อง ซึ่งแต่ละจุดจะประกอบไปด้วยการนำข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์ (Input – Process – Output) ดังภาพ
2. ผังงานโปรแกรม (Program Flowchart)
ผังงานประเภทนี้แสดงถึงขั้นตอนของคำสั่งที่ใช้ในโปรแกรม ผังงานนี้อาจสร้างจากผังงานระบบโดยผู้เขียนผังงานจะดึงเอาแต่ละจุด ที่เกี่ยวข้องกับการทำงานของเครื่องคอมพิวเตอร์ที่ปรากฏในผังงานระบบมาเขียน เพื่อให้ทราบว่าถ้าจะใช้คอมพิวเตอร์ทำงานควรที่จะมีขั้นตอนคำสั่งอย่างไร เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ และจะได้นำมาเขียนโปรแกรมคอมพิวเตอร์ต่อไป

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

เทคนิคในการเขียน Flowchart
  • เขียนรายละเอียดการทำงานเป็นข้อๆ โดยกำหนดรายละเอียด พื้นฐานแต่ละขั้นตอนคือ ใคร ทำอะไร อย่างไร
  • เปลี่ยนการทำงานเป็น รูปสีเหลี่ยมผืนผ้า (Processing)
  • เปลี่ยนกิจกรรมที่มีเงื่อนไข การทำงานเป็น รูปสี่เหลี่ยมขนมเปียกปูน (Decision symbol)
  • เชื่อมโยงด้วยลูกศรตามลำดับ
  • ปรับปรุงรายละเอียดการทำงานหากพบว่ารายละเอียดไม่สมบูรณ์

ผังงานที่ได้จากขั้นตอนการปฏิบัติงาน


แบบทดสอบ Flowchart

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

2. ข้อใด ไม่ใช่ ตัวแปลภาษาคอมพิวเตอร์ 
  ก.แอสแซมเบลอร์ 
  ข.อินเตอร์พรีเตอร์ 
  ค.คอมไพลเลอร์ 
  ง.โพรซีเยอร์ 

3. ข้อใดไม่ใช่ภาษาระดับสูง 
  ก.ภาษาซี 
  ข.ภาษาปาสคาล 
  ค.ภาษาแอสแซมบี
  ง.ภาษาฟอร์แทรน 

4. ข้อใด ไม่ใช่ กิจกรรมที่ต้องทำในการกำหนดและวิเคราะห์ปัญหา 
  ก.การเขียนผังงาน 
  ข.วิเคราะห์รูปแบบของผลลัพธ์ 
  ค.วิเคราะห์ข้อมูล Input 
  ง.กำหนด process การแก้ปัญหา 

5. สิ่งที่ต้องทำเป็นขั้นตอนสุดท้ายของการพัฒนาโปรแกรมคืออะไร 
  ก.การบำรุงรักษาโปรแกรม 
  ข.การทำเอกสารประกอบโปรแกรม 
  ค.การทำลองความถูกต้องของโปรแกรม 
  ง.การตรวจสอบความผิดพลาดของโปรแกรม  

6. ข้อใดคือข้อดีของการออกแบบโปรแกรมด้วยผังงาน 
  ก.แปลงเป็นโปรแกรมได้ง่าย 
  ข. มีลักษณ์เป็นรูปภาพทำให้อ่านง่าย เข้าใจตรงกันได้ 
  ค.รูปแบบเป็นภาษาอังกฤษหรือภาษาไทยที่เข้าใจได้ง่าย 
  ง.มีความซับซ้อนไม่มาก 

7. ข้อใด ไม่ใช่ โครงสร้างหลักในการพัฒนาอัลกอริธึม 
  ก.โครงสร้างแบบลำดับ 
  ข.โครงสร้างแบบตัดสินใจ 
  ค.โครงสร้างแบบทำซ้ำ 
  ง.โครงสร้างแบบทางเลือก 

8. ภาษาคอมพิวเตอร์ระดับสูง แทนคำสั่งต่างๆ ด้วยอะไร 
  ก.เลขฐานสอง 
  ข.สัญลักษณ์ 
  ค.คำภาษาอังกฤษ 
  ง.นิมอนิกโค้ด   

9. สัญลักษณ์ การประมวลผล ในการเขียนผังงานมีลักษณะแบบใด 
  ก. รูปสี่เหลี่ยมปลายมน 
  ข.รูปสี่เหลี่ยมข้ามหลามตัด 
  ค.รูปสี่เหลี่ยมผืนผ้า 
  ง.รูปวงกลม 

10. ข้อใดไม่ใช่กฎในการกำหนดค่าตัวแปร 
  ก.ต้องไม่ซ้ำกับคีย์เวิร์ดหรือคำสงวน 
  ข.ชื่อมีความยาวไม่จำกัดแต่ต้องอยู่ในบรรทัดเดียวกัน 
  ค.ต้องพิมพ์ด้วย A-Z และห้ามมี _ 
  ง.ชื่อต้องพิมพ์ติดกันห้ามมีช่องว่าง 

เฉลยข้อสอบ
  1) ข.สัญลักษณ์ที่ใช้แทนคำสั่งสื่อสารสั่งงาน ระหว่างมนุษย์กับเครื่องคอมพิวเตอร์ 
  2) ง.โพรซีเยอร์ 
  3) ค.ภาษาแอสแซมบี
  4) ก.การเขียนผังงาน 
  5) ก.การบำรุงรักษาโปรแกรม 
  6) ข. มีลักษณ์เป็นรูปภาพทำให้อ่านง่าย เข้าใจตรงกันได้ 
  7) ง.โครงสร้างแบบทางเลือก 
  8) ค.คำภาษาอังกฤษ
  9) ค.รูปสี่เหลี่ยมผืนผ้า 
10) ค.ต้องพิมพ์ด้วย A-Z และห้ามมี _

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

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