วันศุกร์ที่ 26 สิงหาคม พ.ศ. 2559

การเขียนผังงานเบื้องต้น

ความหมายของผังงาน
ผังงาน (Flow chart) คือ รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) หรือกระบวนการทำงาน (Work Flow) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความนั้นทำได้ยาก
ผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ โดยรูปแบบสัญลักษณ์จะเป็นกำหนดตามมาตรฐานของ ANSI (สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา : American National Standards Institute) และ ISO (องค์การระหว่างประเทศว่าด้วยการมาตรฐาน : International Organization for Standardization)
ประเภทของผังงาน
โดยทั่วไปผังงานแบ่งเป็น 2 ประเภทใหญ่ๆ ได้แก่
1. ผังงานระบบ (System Flowchart)
เป็นผังงานที่แสดงถึงขั้นตอนการทำงานภายในระบบหนึ่ง ๆ เพื่อให้เห็นโครงสร้างโดยภาพรวมของระบบ ซึ่งจะแสดงถึงความเกี่ยวข้องของส่วนที่สำคัญต่างๆ ในระบบนั้น เช่น เอกสารข้อมูลเบื้องต้น สื่อบันทึกข้อมูลที่ใช้ ข้อมูลจะส่งผ่านไปยังหน่วยงานใด มีกิจกรรมประมวลผลข้อมูลอะไรในหน่วยงานนั้น แล้วจะส่งต่อไปหน่วยงานใด เป็นต้น ดังนั้นผังงานระบบอาจเกี่ยวข้องกับข้อมูล สื่อหรือแหล่งบันทึกข้อมูล วัสดุปกรณ์ คน หรือฝ่ายงานที่เกี่ยวข้อง ซึ่งแต่ละจุดจะประกอบไปด้วยการนำข้อมูลเข้า วิธีการประมวลผล และการแสดงผลลัพธ์ (Input – Process – Output) ดังภาพ
 ipadSelfCheck
                                             ตัวอย่าง Flowchart ระบบยืม iPad ด้วยตนเอง ออกแบบโดย
2. ผังงานโปรแกรม (Program Flowchart)
ผังงานประเภทนี้แสดงถึงขั้นตอนของคำสั่งที่ใช้ในโปรแกรม ผังงานนี้อาจสร้างจากผังงานระบบโดยผู้เขียนผังงานจะดึงเอาแต่ละจุด ที่เกี่ยวข้องกับการทำงานของเครื่องคอมพิวเตอร์ที่ปรากฏในผังงานระบบมาเขียน เพื่อให้ทราบว่าถ้าจะใช้คอมพิวเตอร์ทำงานควรที่จะมีขั้นตอนคำสั่งอย่างไร เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ และจะได้นำมาเขียนโปรแกรมคอมพิวเตอร์ต่อไป
ดังนั้นการเขียนผังงานก็จะมีประโยชน์ เหมาะสำหรับผู้บริหาร ผู้วิเคราะห์ระบบ ผู้เขียนโปรแกรม และบุคคลอื่นที่ต้องการศึกษา ทำให้ทราบถึงความสัมพันธ์ของระบบตั้งแต่เริ่มต้น ว่ามีการปฏิบัติแต่ละขั้นตอนอย่างไร ใช้วิธีการอะไรบ้าง สุดท้ายจะได้ผลลัพธ์อะไรบ้าง เมื่อเข้าใจระบบงานหรือสิ่งที่กำลังศึกษาก็จะช่วยให้สามารถปฏิบัติงานและแก้ปัญหาได้อย่างมีประสิทธิภาพมากยิ่งขึ้น ดังภาพ
440px-Flowchart_en.svg
ภาพตัวอย่าง Flow chart ที่มา https://commons.wikimedia.org/wiki/Flow_chart
ประโยชน์ของผังงาน
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
original_flowchart
สัญลักษณ์ ที่สำคัญของ Flowchart ที่มา http://สัญ-ลักษณ์.blogspot.com/2013/03/flowchart.html
เทคนิคในการเขียน Flowchart
  • เขียนรายละเอียดการทำงานเป็นข้อๆ โดยกำหนดรายละเอียด พื้นฐานแต่ละขั้นตอนคือ ใคร ทำอะไร อย่างไร
  • เปลี่ยนการทำงานเป็น รูปสีเหลี่ยมผืนผ้า (Processing)
  • เปลี่ยนกิจกรรมที่มีเงื่อนไข การทำงานเป็น รูปสี่เหลี่ยมขนมเปียกปูน (Decision symbol)
  • เชื่อมโยงด้วยลูกศรตามลำดับ
  • ปรับปรุงรายละเอียดการทำงานหากพบว่ารายละเอียดไม่สมบูรณ์
ตัวอย่างผังงาน 1
exampleflow1
ตัวอย่างผังงาน 2
ขั้นตอนการปฏิบัติงาน
exampleflow2
exampleflow2
ผังงานที่ได้จากขั้นตอนการปฏิบัติงาน
exampleflow3
exampleflow3
ผลการค้นหารูปภาพสำหรับ การเขียนผังงานเบื้องต้น
ผลการค้นหารูปภาพสำหรับ การเขียนผังงานเบื้องต้น
ผลการค้นหารูปภาพสำหรับ การเขียนผังงานเบื้องต้น

ที่มา http://www.slideshare.net/mamnoktawee/ss-28807869

  รูปแบบการเขียน Flowchart    การเขียนเราจะเขียนในลักษณะ Top-Down คือจากบนลงล่าง(Flow คือการไหล,Flowchart ก็คือ ผังงานการไหลของข้อมูล)
การเขียนมี 3 ลักษณะ คือ sequence(ตามลำดับ) selection(ทางเลือก/เงื่อนไข) iteration(ทำซ้ำ)
          Sqquence(ตามลำดับ)
     ตามชื่อเลยค่ะ เป็นการเขียนแบบไล่ทำไปทีละลำดับ ไม่มีแยก (เปรียบเสมือน ขับรถไป ไม่มีทางแยกให้เลี้ยวไปไหน)                            
ลักษณ์  เพราะมันเป็นกระบวนการ(Process) จะเห็นว่ามันเป็นเพียงแค่ลำดับขั้นตอน ของการแก้ไขปัญหาแค่นั้นเอง (เพียงแต่เลือกใช้สัญลักษณ์ให้ถูก)
          Selection(ทางเลือก/เงื่อนไข)
     แล้วถ้ามีเงื่อนไข หรือ ทางเลือก ละ ประมาณว่า (สมมุตินะ) ถ้านั่งรถไปมีนบุรีแล้ว รถตู้เต็ม คนต่อแถวเยอะมากเลย
ไปเรียนไม่ทันแน่ๆ ก็ให้นั่ง Taxi (เห็นมั้ยว่ามันมีทางเลือกและ หรือเงื่อนไขนั่นเอง) เรามาดูแบบมีเงื่อนไขกัน     
    
จะเห็นได้ว่าพอมีเงื่อนไข หรือ ทางเลือก เราจะใช้ สัญลักษณ์  ภายในเราก็จะเขียนเงื่อนไข ถ้าเงื่อนไขเป็นจริง ก็ ไปทำทางด้านจริง ถ้าไม่จริงก็ทำทางด้านไม่จริง เสมือนเราขับรถแล้วไปเจอทางแยก แต่ทางแยกนี้มันไปถึงที่หมายที่เดียวกัน ก็ต้องเลือกทางใดทางหนึ่ง
          Iteration(ทำซ้ำ)     อีกรูปแบบนึง คือ การทำซ้ำๆ เช่น เราอยากกินข้าว กินไปเรื่อยๆ ถ้าอิ่มก็กลับบ้าน ถ้าไม่อิ่มก็กินต่อ(เอาให้พุงแตกไปเลย)
ที่มา http://www.numsai.com/computer-article/programer/3317-flowchart.html








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

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