
เขียน flowchart
อีกครั้ง กับการเขียน flowchart แต่ว่า บทความนี้จะจัดชุดใหญ่ให้แบบเต็มๆ ทุก icon เรียกว่าให้ครอบคลุมกันเลย โดยบทความนี้ แบ่งเป็น สามส่วน คือ ส่วนความหมายของ flowchart , ลักษณะ icon ที่แทนรูปแบบการทำงาน และ ตัวอย่างการเขียน flowchart ด้วยครับ
เราเริ่มกันที่ flowchart คืออะไร
flowchart คือแผนผังภาพ ที่เขียนขึ้นมาเพื่อเป็นตัวแทนการทำงานของระบบ และวัตถุต่างๆ ถ้าเอาตามความหมายตามที่มันทำงานก็คือ เป็นตัวแทนระบบใดๆก็ได้ โดยแสดงออกมาเป็นภาพ เพื่อเป็นตัวแทนของบางอย่างที่เราจับต้องไม่ได้ เช่นว่า ระบบคิดคำนวน ค่าเดินทางของรถไฟฟ้า BTS เป็นต้น หากเราอธิบายเป็นตัวหนังสือ คงงง และมึน เอาภาพมาวาดกันเลยดีกว่าเข้าใจกว่า แต่ว่า ภาพที่วาดออกมาเหล่านั้น ต้องทำการตกลงกันก่อน ว่าภาพไหน แทนการทำงานแบบใด
สัญลักษณ์ของ flowchart ที่ใช้อยู่ในปัจจุบัน
สัญลักษณ์ | คำอธิบาย |
---|---|
![]() |
ทิศทางการไหลของระบบ ไปตามหัวลูกษร |
![]() |
การดำเนินการของระบบ เช่น เพิ่มค่าให้กับตัวเลข |
![]() |
จุดเริ่มต้น หรือจุดจบของระบบ เช่น เปิดโปรแกรม |
![]() |
เป็นจุดตรวจสอบเงื่อนไขระบบ หรือ เป็นจุดที่แยกระบบการทำงานย่อยๆ เช่น ตรวจสอบค่า ว่ามากหรือน้อยกว่าที่กำหนดไว้ |
![]() |
หยุดรอเวลา เช่น หน่วงเวลาชั่วคราว เพื่อรอ process อื่นทำให้เสร็จ |
![]() |
เป็นการเตรียมค่าเริ่มต้นของระบบย่อย เช่น เรียก ค่าconfig ของระบบ เพื่อใช้ประมวลในระบบย่อย |
![]() |
เอกสาร หรือ รายงาน เช่น รายงานยอดขาย |
![]() |
เป็นจุดที่รับค่าจาก ระบบ หรือ ส่งค่าออกจากระบบ(เพื่อส่งให้ display) เช่น input ค่าตัวแปรเข้า function หรือ return ค่าออกจาก function |
![]() |
เตรียมค่าของระบบ เช่น อ่านค่า config ของระบบ |
![]() |
จุดแสดงผลให้ผู้ใช้ เช่น ปรากฏข้อความว่า สำเร็จ |
![]() |
เป็นจุดที่รับค่าจาก user เช่น กรอกชื่อผู้ใช้งาน |
![]() |
กระบวนการทำงานที่ไม่เป็นโดยอัตโนมัติ เช่น เปิด switch |
![]() |
เป็นจุดเชื่อมระบบ จากจุดหนึ่งไปอีกจุดหนึ่ง เช่น กรณีที่ระบบซ้อนกันมากๆ อาจจะทำจุดเชื่อมแทน เพื่อไม่ให้เกิด flow ที่ตัดกัน |
![]() |
จุดเชื่อมต่อหน้ากระดาษ เช่น ออกแบบแล้วเต็มหน้ากระดาษก็เชื่อมต่อไปขึ้นหน้าใหม่ |
![]() |
เป็น logic OR เช่น input1 OR input2 |
![]() |
เป็น logic AND เช่น input1 AND input2 |
![]() |
แปลงข้อมูลให้อยู่ใน รูปแบบมาตรฐานเช่น ทำให้เป็น XML เช่น โหลดชื่อภาพแปลงให้อยู่ใน XML format |
![]() |
เรียงข้อมูล เช่น เรียงชื่อจากน้อยไปมาก หรือ มากไปน้อย |
![]() |
บันทึกข้อมูล ลงที่เก็บ |
![]() |
ฐานข้อมูล เช่น mysql, sql server |
![]() |
บันทึกข้อมูลลงไฟล์ เช่น เขียนผลลัพท์ลงเป็นไฟล์ |
![]() |
เก็บข้อมูลไว้ที่ memory เช่น ทำ cache ข้อมูลไว้ที่ memory |
ทั้งหมดนี้ ไม่จำเป็นว่าต้องใช้หมดนะครับ ไม่ใช่ว่าระบบนึงต้องประกอบด้วยทุก สัญลักษณ์ตามนี้ และการใช้สัญลักษณ์จนครบ ก็ไม่ได้แปลว่าระบบจะดี และถูกต้องเลย เพราะว่าบางระบบที่ออกแบบ ก็ใช้เพียงแค่ 3 - 4 สัญลักษณ์เท่านั้นก็เป็นได้ครับ
ทั้งนี้ ตัวอย่างผมจะเขียนระบบการสมัครสมาชิกให้ดูนะครับ โดยเอามาจากระบบหนึ่งที่ผมเขียนอยู่ครับ
อธิบายระบบก็คือ แสดง form แล้วให้ ผู้ใช้ กรอก username, password, email จากนั้นก็รับค่า เข้าไปตรวจสอบกับระบบ ว่าขณะนั้นเปิดให้ลงทะเบียนหรือไม่ ถ้าไม่ก็แสดงข้อความ ว่าระบบปิดรับสมาชิกใหม่ แต่ถ้าเปิดให้สมัครสมาชิกได้ ก็ทำการเช็คกับ database ว่า username , email มีซ้ำกับสมาชิกเดิมหรือไม่ ถ้าไม่ ก็ทำการบันทึกลงฐานข้อมูล แล้วให้ แสดงผลหน้า login และจบโปรแกรม
สำหรับ flowchart ตัวนี้อาจจะเละๆหน่อย เพราะว่ายังไม่ได้จัดอะไรมากครับ ใช้งานคนเดียว
ก็น่าจะเข้าใจเรื่องของ flowchart กันมากขึ้นนะครับ ทั้งนี้ให้ลองฝึกเขียนมากๆขึ้น ก็จะจำสัญลักษณ์ได้ดีขึ้นและจะทำให้เขียนได้เร็ว และคล่องขึ้นด้วยครับ โดย flowchart ที่ดี จะช่วยให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วมาก(ถึงมากทีสุด เพราะว่าแทบไม่ต้องคิดอะไรเลย) แต่ว่าจะเหนื่อยตอนคิด และออกแบบระบบเพื่อวาด flowchart แต่จะดีตรงที่เราเห็นภาพและจำได้ และแก้ไขได้เร็วกว่าที่โปรแกรมไปแล้วมาแก้ทีหลัง เพราะว่าเริ่มจะลืมๆและแก้ได้ลำบากมากครับ และยิ่งถ้าไม่มี flowchart กำกับก็ต้องไล่โค้ดกันสนุกสนานกันเลยล่ะครับ