Flowchart


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

ผังงาน Flowchart เป็นผังงานที่แสดงให้เห็นถึงแนวคิดในการทำงานที่รอบคอบ มีการวางแผนไว้อย่างชัดเจนและเป็นลำดับขั้นตอน เพราะ Flow Chart เป็นเครื่องมือการจัดเรียงข้อมูลและเครื่องมือการสื่อสารที่ดี ที่นิยมใช้ในงานที่เกี่ยวข้องกับการพัฒนาระบบ หรือการออกแบบวิธีการตัดสินใจต่าง ๆ กันอย่างแพร่หลาย แต่การเขียนผังงาน หรือ Flowchart ก็มีข้อจำกัด คือ ไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น เป็นการทำงานที่มีเงื่อนไขในการทดสอบมากมาย ซึ่งหากเจอปัญหาในรูปแบบนี้มักจะใช้เครื่องมืออย่างตารางการตัดสินใจ (DECISION TABLE) เข้ามาช่วยมากกว่า

ผังงาน Flowchart

รูปแบบของผังงาน Flowchart

โครงสร้างของผังงาน หรือ Flowchart สามารถแบ่งได้เป็น 3 รูปแบบคือ การทำงานแบบตามลำดับ (Sequence Flowchart), การเลือกกระทำตามเงื่อนไข (Selection Flowchart), การทำซ้ำ (Iteration Flowchart) สามารถอธิบายโดยสังเขปได้ดังนี้

การทำงานแบบตามลำดับ (Sequence Flowchart)

           การทำงานแบบตามลำดับ (Sequence Flowchart) เป็นการเขียน Flowchart โดยจัดลำดับขั้นตอนการทำงานจากบนลงล่าง มีโครงสร้างในการเขียนคำสั่งเป็นบรรทัด และโดยทำงานตามคำสั่งทีละบรรทัดจากบรรทัดแรกที่เป็นการเริ่มต้นคำสั่งลงไปจนถึงบรรทัดล่างสุดเป็นการสิ้นสุดคำสั่ง

การทำงานแบบเลือกกระทำตามเงื่อนไข (Selection Flowchart)

           การทำงานแบบเลือกกระทำตามเงื่อนไข (Selection Flowchart) คือ การตัดสินใจหรือการเลือกทำตามเงื่อนไข โดยการวิเคราะห์จากข้อมูลจะมีเหตุการณ์ให้ดำเนินการต่อไป 2 กระบวนการ คือ ถ้าหากเงื่อนไขเป็นจริงจะดำเนินการตามกระบวนการหนึ่ง และหากเงื่อนไขเป็นเท็จจะดำเนินการอีกกระบวนการหนึ่ง

การทำซ้ำ (Iteration Flowchart)

           การทำซ้ำ (Iteration Flowchart) เป็นการเขียน flowchart ให้กลับมาทำงานในขั้นตอนแบบเดิมซ้ำ ๆ ซึ่งจะเห็นว่า flowchart มีขั้นตอนการทำงานบางขั้นตอนได้รับการประมวลผลมากกว่า 1 ครั้ง ซึ่งเรียกว่า loop โครงสร้างผังงานแบบทำซ้ำนี้จะมีการใช้ “สัญลักษณ์การตัดสินใจ”เข้ามาเปรียบเทียบเงื่อนไขเพื่อให้มีการทำงานซ้ำ
หลักการเขียน

หลักการเขียนผังงาน Flowchart

  • การเขียน Flowchart ควรใช้สัญลักษณ์มาตรฐานตามหลักสากลที่กำหนดไว้โดย The American National Standard Institute, ANSI
  • เขียน Flowchart โดยใช้ลูกศรแสดงทิศทางการไหลของข้อมูลตามลำดับจากบนลงล่างหรือจากซ้ายไปขวา
  • การเขียน Flowchart จะต้องใช้คำอธิบายในแต่ละขั้นตอนให้มีความกระชับและเข้าใจง่ายเพื่อเขียนลงในสัญลักษณ์ต่าง ๆ
  • การเขียนผังงานนั้น ในทุก ๆ สัญลักษณ์ Flowchart จะต้องมีลูกศรแสดงทิศทางเข้า-ออกของข้อมูลเพื่อความชัดเจน
  • ในการเขียน Flowchart ไม่ควรโยงเส้นเชื่อมสัญลักษณ์ของผังงานที่อยู่ไกลกัน แต่ควรใช้สัญลักษณ์จุดเชื่อมต่อเพื่อสื่อสารแทน เนื่องจากการโยงเส้นเชื่อมกันของสัญลักษณ์ Flowchart ที่อยู่ไกลกันนั้นอาจทำให้สับสนในขั้นตอนการทำงานได้
  • การเขียนผังงานหรือ Flowchart ควรมีการทดสอบความถูกต้องของอัลกอริทึมก่อนที่จะนำไปปฏิบัติงานหรือเขียนโปรแกรม
           การเขียน Flowchart diagram มีโครงสร้างและวิธีการเขียนที่ค่อนข้างมาตรฐานในตัวอยู่แล้ว เนื่องจากมีการกำหนดสัญลักษณ์ต่าง ๆ ตามมาตรฐานสากลที่ใช้กันทั่วโลก ซึ่งการเขียน Flowchart ให้สามารถทำความเข้าใจได้ง่ายนั้น ไม่เพียงแค่ต้องใช้สัญลักษณ์ถูกต้องเพียงเท่านั้น แต่จะต้องมีหลักการต่าง ๆ ร่วมด้วย โดยหลักการหรือวิธีการเขียนผังงานที่ดีมีดังนี้
โครงสร้าง

ลักษณะโครงสร้างของผังงาน Flowchart

           การเขียนผังงานหรือ Flowchart จะใช้สัญลักษณ์สื่อสารความหมายให้เข้าใจตรงกันในระดับสากลซึ่งเป็นสัญลักษณ์ Flowchart ที่สถาบันมาตรฐานแห่งชาติอเมริกัน (The American National Standard Institute, ANSI) ได้กำหนดสัญลักษณ์เหล่านี้ไว้เป็นมาตรฐานในการเขียนผังงาน ดังนี้


สัญลักษณ์ Flowchart ที่แสดงขั้นตอนการทำงาน

1.Start/Stop สัญลักษณ์กำหนดจุดเริ่มต้นของการทำงาน และแสดงจุดสิ้นสุดของการทำงาน
2.Process สัญลักษณ์ Flowchart แสดงรายละเอียดของการทำงาน
3.Decision สัญลักษณ์แสดงรายละเอียดการเปรียบเทียบในเงื่อนไขการทำงานขขั้นตอนต่าง ๆ ใช้ใช้เมื่อจะต้องตัดสินใจว่า ใช่หรือไม่ใช จริงหรือเท็จ
4.Flowline สัญลักษณ์ที่มีลักษณะคล้ายลูกศรนี้แสดงทิศทางความสัมพันธ์ของการทำงานในระบบงานหรือลำดับงานในการเขียนผังงานโครงสร้าง (Structured Flowchart)
5.IN-Page Connector สัญลักษณ์ของผังงานที่แสดงถึงการกำหนดจุดอ้างอิงในการเชื่อมต่อ ในหน้ากระดาษ เดียวกันของการเขียน Flowchart
6.Between-Page สัญลักษณ์โฟลวชาร์ตแสดงการกำหนดจุดอ้างอิงในการเชื่อมต่อ ระหว่าง หน้ากระดาษของการเขียนผังงาน
7.Annotation สัญลักษณ์ Flowchart ที่แสดงการระบุหมายเหตุเพื่อใช้อธิบายรายละเอียดเพิ่มเติมของการดำเนินงาน



สัญลักษณ์ Flowchart ที่ใช้รับค่าข้อมูล

1.Read สัญลักษณ์ Flowchart แสดงถึงการรับค่าข้อมูลหรืออ่านข้อมูลเข้ามาโดยไม่ระบุอุปกรณ์ รับข้อมูล (Input Device)
2.Keyboard สัญลักษณ์ Flowchart แสดงถึงการรับค่าข้อมูลหรืออ่านข้อมูลเข้ามาจากคีย์บอร์ด



สัญลักษณ์ Flowchart ที่ใช้แสดงผลของข้อมูล

1.Write สัญลักษณ์ Flowchart ที่ใช้แสดงรายละเอียดข้อมูลหรือผลลัพธ์ของการประมวลผล โดยไม่ระบุอุปกรณ์การแสดงผล (Output Device)
2.Monitor แสดงรายละเอียดข้อมูลหรือผลลัพธ์ของการประมวลผลไปที่จอภาพ(Monitor)
3.Printer แสดงรายละเอียดข้อมูลหรือผลลัพธ์ของการประมวลผลไปที่เครื่องพิมพ์(Printer)
work

งาน Flowchart

งานที่ 1

  1. เข้าสู่ระบบ (Login)
    • เปิดเว็บไซต์
    • คลิก “เข้าสู่ระบบ”
    • กรอกชื่อผู้ใช้
    • กรอกรหัสผ่าน
    • คลิกปุ่ม “เข้าสู่ระบบ”
  2. สมัครสมาชิก (Register)
    • เปิดหน้า “สมัครสมาชิก”
    • กรอกชื่อ
    • กรอกอีเมล
    • ตั้งรหัสผ่าน
    • คลิก “สมัครสมาชิก”
  3. ค้นหาสินค้า/บทความ
    • เข้าหน้าเว็บไซต์
    • พิมพ์คำค้น
    • คลิกปุ่มค้นหา
    • ระบบแสดงรายการ
    • ผู้ใช้เลือกดูรายการ
  4. เพิ่มสินค้าในตะกร้า
    • เข้าดูสินค้า
    • เลือกคุณสมบัติ (สี/ขนาด)
    • คลิก “เพิ่มลงตะกร้า”
    • ตรวจสอบตะกร้า
    • ไปหน้าชำระเงิน
  5. กรอกฟอร์มติดต่อเรา
    • เปิดหน้า “ติดต่อเรา”
    • กรอกชื่อ
    • กรอกอีเมล
    • พิมพ์ข้อความ
    • กด “ส่งข้อความ”
  6. ออกจากระบบ (Logout)
    • เข้าสู่ระบบ
    • คลิกเมนูชื่อผู้ใช้
    • เลือก “ออกจากระบบ”
    • ระบบออกจากบัญชี
    • กลับสู่หน้าแรก
  7. เปลี่ยนรหัสผ่าน
    • เข้าสู่ระบบ
    • ไปที่ตั้งค่าบัญชี
    • กรอกรหัสผ่านเดิม
    • กรอกรหัสใหม่
    • คลิก “บันทึก”
  8. เพิ่มบทความใหม่
    • เข้าระบบหลังบ้าน
    • เลือกเมนู “บทความ”
    • คลิก “เพิ่มบทความใหม่”
    • กรอกหัวข้อและเนื้อหา
    • คลิก “เผยแพร่”
  9. แก้ไขข้อมูลสินค้า
    • เข้าสู่ระบบแอดมิน
    • ไปที่ “รายการสินค้า”
    • คลิกเลือกสินค้าที่จะแก้
    • แก้ไขข้อมูล
    • คลิก “บันทึก”
  10. ลบผู้ใช้งาน
    • เข้าหน้าแอดมิน
    • ไปที่ “ผู้ใช้งาน”
    • ค้นหาผู้ใช้เป้าหมาย
    • คลิก “ลบ”
    • ยืนยันการลบ

งานที่ 2

  1. เข้าสู่ระบบ
    • รับชื่อผู้ใช้และรหัสผ่าน
    • ตรวจสอบว่าถูกต้องหรือไม่?
      1. ✔ ถูกต้อง → เข้าสู่ระบบ
      2. ✘ ไม่ถูกต้อง → แจ้งเตือน "ข้อมูลไม่ถูกต้อง"
  2. สมัครสมาชิก
    • รับอีเมลและรหัสผ่าน
    • ตรวจสอบว่าอีเมลนี้ถูกใช้แล้วหรือไม่
      1. ✔ ใช้แล้ว → แสดงว่า "อีเมลนี้มีอยู่แล้ว"
      2. ✘ ไม่ใช้ → ลงทะเบียนสำเร็จ
  3. ค้นหาสินค้า
    • รับคำค้นหาจากผู้ใช้
    • มีสินค้าตรงกับคำค้นหรือไม่?
      1. ✔ มี → แสดงรายการ
      2. ✘ ไม่มี → แสดง “ไม่พบสินค้า”
  4. เลือกวิธีการชำระเงิน
    • ผู้ใช้เลือกวิธีชำระเงิน
    • เป็น "โอนเงิน" หรือไม่?
      1. ✔ ใช่ → แสดงเลขบัญชี
      2. ✘ ไม่ใช่ → ไปขั้นตอนชำระแบบอื่น
  5. เปลี่ยนรหัสผ่าน
    • รับรหัสผ่านเดิม
    • รหัสผ่านเดิมถูกต้องหรือไม่?
      1. ✔ ถูกต้อง → ให้เปลี่ยนรหัส
      2. ✘ ไม่ถูกต้อง → แจ้งเตือน
  6. ส่งฟอร์มติดต่อ
    • ผู้ใช้กรอกข้อมูล
    • ข้อมูลครบหรือไม่?
      1. ✔ ครบ → ส่งฟอร์ม
      2. ✘ ไม่ครบ → แจ้งเตือนให้กรอกให้ครบ
  7. แสดงโปรไฟล์
    • เข้าสูระบบ
    • ตรวจสอบว่าผู้ใช้ล็อกอินอยู่หรือไม่?
      1. ✔ ล็อกอิน → แสดงหน้าโปรไฟล์
      2. ✘ ไม่ได้ล็อกอิน → กลับหน้าเข้าสู่ระบบ
  8. ลบบทความ
    • แอดมินเลือกบทความ
    • ยืนยันการลบหรือไม่?
      1. ✔ ยืนยัน → ลบบทความ
      2. ✘ ไม่ยืนยัน → ยกเลิก
  9. เพิ่มข้อมูลสินค้า
    • รับชื่อสินค้า
    • ชื่อสินค้านี้ซ้ำหรือไม่?
      1. ✔ ซ้ำ → แจ้งเตือน "ชื่อซ้ำ"
      2. ✘ ไม่ซ้ำ → เพิ่มสินค้า
  10. อนุมัติความคิดเห็น
    • แสดงรายการคอมเมนต์
    • แอดมินเลือก “อนุมัติ” หรือไม่?
      1. ✔ อนุมัติ → แสดงในหน้าเว็บ
      2. ✘ ไม่อนุมัติ → ซ่อนคอมเมนต์
  11. ดาวน์โหลดไฟล์
    • รับคำสั่งดาวน์โหลด?
    • ไฟล์มีอยู่จริงหรือไม่?
      1. ✔ มีไฟล์ → เริ่มดาวน์โหลด
      2. ✘ ไม่มีไฟล์ → แสดงว่า “ไม่พบไฟล์”
  12. แจ้งลืมรหัสผ่าน
    • ผู้ใช้กรอกอีเมล
    • อีเมลนี้มีในระบบหรือไม่?
      1. ✔ มี → ส่งลิงก์รีเซ็ตรหัสผ่าน
      2. ✘ ไม่มี → แจ้งว่า “ไม่มีอีเมลนี้ในระบบ”
  13. ดูสิทธิ์ผู้ใช้
    • รับข้อมูลบัญชี
    • เป็น “แอดมิน” หรือไม่?
      1. ✔ ใช่ → เข้าหลังบ้านได้
      2. ✘ ไม่ใช่ → จำกัดสิทธิ์
  14. ประเมินความพึงพอใจเว็บไซต์
    • รับคะแนน 1-5 จากผู้ใช้
    • คะแนน ≥ 4 หรือไม่?
      1. ✔ ใช่ → แสดงว่า “พึงพอใจ”
      2. ✘ ไม่ใช่ → แสดงว่า “ควรปรับปรุง”

งานที่ 3

  1. แสดงข้อความตามอายุผู้ใช้
    • รับค่าอายุ
    • ตรวจสอบอายุ
      1. < 13 → แสดง "เด็ก"
      2. < 18 → แสดง "วัยรุ่น"
      3. → แสดง "ผู้ใหญ่"
  2. แสดงระดับคะแนนสอบ
    • รับคะแนนสอบ
    • ตรวจสอบคะแนน
      1. ≥ 80 → แสดง "ดีมาก"
      2. ≥ 50 → แสดง "พอใช้"
      3. → แสดง "ต้องปรับปรุง"
  3. เลือกประเภทสมาชิก
    • ผู้ใช้เลือกแผนสมาชิก
    • ตรวจสอบเผน
      1. "ฟรี" → จำกัดฟีเจอร์
      2. "พรีเมียม" → เปิดฟีเจอร์เพิ่ม
      3. → เปิดทุกฟีเจอร์
  4. ตรวจสอบระดับความพึงพอใจ
    • รับคะแนน 1-5
    • ตรวจสอบคะแนน
      1. 5 → แสดง "พอใจมาก"
      2. ≥ 3 → แสดง "พอใจปานกลาง"
      3. → แสดง "ไม่พอใจ"
  5. ประเมินการจัดส่งสินค้า
    • คำนวนจำนวนวันที่ใช้จัดส่ง
    • ตรวจสอบจำนวนวันที่ใช้จัดส่ง
      1. ≤ 2 วัน → แสดง “รวดเร็ว”
      2. ≤ 5 วัน → แสดง “ปานกลาง”
      3. → แสดง “ช้า”
  6. กำหนดสิทธิ์ผู้ใช้งาน
    • เข้าสู่ระบบ
    • ตรวจสอบรับระดับผู้ใช้งาน
      1. admin → เข้าทุกหน้า
      2. staff → เข้าบางเมนู
      3. → ดูเฉพาะข้อมูลตนเอง
  7. แสดงสถานะบทความ
    • รับสถานะ
    • ตรวจสอบสถานะ
      1. published → แสดงบนหน้าเว็บ
      2. draft → ยังไม่แสดง
      3. → บทความถูกลบ
  8. แจ้งผลอัปโหลดไฟล์
    • อัปโหลดไฟล์
    • ตรวจสอบขนาดไฟล์
      1. ≤ 2 MB → อัปโหลดได้
      2. ≤ 5 MB → เตือนก่อนอัปโหลด
      3. → ปฏิเสธไฟล์
  9. ระบบจัดการความคิดเห็น
    • รับสถานะคอมเมนต์
    • ตรวจสอบสถานะ
      1. อนุมัติ → แสดงทันที
      2. รอตรวจ → ยังไม่แสดง
      3. → ถูกซ่อนไว้
  10. แสดงข้อความทักทายตามเวลา
    • รับค่าชั่วโมง
    • ตรวจสอบชั่วโมง
      1. < 12 → แสดง “สวัสดีตอนเช้า”
      2. < 18 → แสดง “สวัสดีตอนบ่าย”
      3. → แสดง “สวัสดีตอนเย็น”
  11. เลือกธีมเว็บไซต์
    • รับตัวเลือกธีมจากผู้ใช้
    • ตรวจสอบธีม
      1. light → เปิดธีมสว่าง
      2. dark → เปิดธีมเข้ม
      3. → เปิดธีมอัตโนมัติ
  12. แสดงผลการลงทะเบียน
    • รับอีเมล
    • ตรวจสอบอีเมล
      1. ซ้ำในระบบ → แจ้ง “อีเมลมีอยู่แล้ว”
      2. ข้อมูลไม่ครบ → แจ้ง “ข้อมูลไม่ครบ”
      3. → ลงทะเบียนสำเร็จ
  13. ตรวจสอบสถานะการชำระเงิน
    • รับสถานะจากระบบ
    • ตรวจสอบสถานะ
      1. paid → แสดง “ชำระแล้ว”
      2. pending → แสดง “รอดำเนินการ”
      3. → แสดง “ยังไม่ชำระ”
  14. เลือกวิธีการเข้าสู่ระบบ
    • รับตัวเลือกจากผู้ใช้
    • ตวนสอบวิธี
      1. อีเมล → ให้กรอกอีเมล
      2. เบอร์โทร → ให้กรอกเบอร์
      3. → เลือกบัญชีโซเชียล