[
  {
    "index": 2,
    "text": "ปริญญานิพนธ์"
  },
  {
    "index": 3,
    "text": "ระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ"
  },
  {
    "index": 4,
    "text": "Automated Tourism Clustering System"
  },
  {
    "index": 8,
    "text": "โดย"
  },
  {
    "index": 9,
    "text": "ณัฐพงษ์ จำปาคำ"
  },
  {
    "index": 10,
    "text": "ศุภกฤต หาระการณ์"
  },
  {
    "index": 14,
    "text": "อาจารย์ที่ปรึกษาปริญญานิพนธ์: ผศ.ดร.วิวัฒน์ ศรีภูมิ"
  },
  {
    "index": 18,
    "text": "โครงการปริญญานิพนธ์นี้เป็นส่วนหนึงของการศึกษาตามหลักสูตรวิทยาศาสตรบัณฑิต "
  },
  {
    "index": 19,
    "text": "สาขาเทคโนโลยีสารสนเทศ"
  },
  {
    "index": 20,
    "text": "คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม"
  },
  {
    "index": 21,
    "text": "ปีการศึกษาที่ 1/2569"
  },
  {
    "index": 25,
    "text": "ปริญญานิพนธ์"
  },
  {
    "index": 26,
    "text": "ระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ"
  },
  {
    "index": 27,
    "text": "Automated Tourism Clustering System"
  },
  {
    "index": 31,
    "text": "โดย"
  },
  {
    "index": 32,
    "text": "ณัฐพงษ์ จำปาคำ"
  },
  {
    "index": 33,
    "text": "ศุภกฤต หาระการณ์"
  },
  {
    "index": 37,
    "text": "อาจารย์ที่ปรึกษาปริญญานิพนธ์: ผศ.ดร.วิวัฒน์ ศรีภูมิ"
  },
  {
    "index": 41,
    "text": "โครงการปริญญานิพนธ์นี้เป็นส่วนหนึงของการศึกษาตามหลักสูตรวิทยาศาสตรบัณฑิต "
  },
  {
    "index": 42,
    "text": "สาขาเทคโนโลยีสารสนเทศ"
  },
  {
    "index": 43,
    "text": "คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม"
  },
  {
    "index": 44,
    "text": "ปีการศึกษาที่ 1/2569"
  },
  {
    "index": 50,
    "text": "ชื่อโครงงานปริญญานิพนธ์ \t\t:  ระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ"
  },
  {
    "index": 51,
    "text": "ผู้จัดทำปริญญานิพนธ์                 \t:  นายณัฐพงษ์ จำปาคำ"
  },
  {
    "index": 52,
    "text": "                \t   นายศุภกฤต หาระการณ์"
  },
  {
    "index": 53,
    "text": "อาจารย์ที่ปรึกษาปริญญานิพนธ์ \t\t:  ผศ.ดร.วิวัฒน์ ศรีภูมิ"
  },
  {
    "index": 55,
    "text": "บทคัดย่อ"
  },
  {
    "index": 56,
    "text": "ปริญญานิพนธ์นี้มีวัตถุประสงค์เพื่อออกแบบและพัฒนาระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติสำหรับรวมความต้องการท่องเที่ยวค้นหาเพื่อนร่วมเดินทางและสนับสนุนการเสนอราคาแข่งขันจากบริษัทนำเที่ยวโดย ประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์เพื่อวิเคราะห์ข้อมูลความต้องการของผู้ใช้งาน เช่น สถานที่ท่องเที่ยว งบประมาณช่วงเวลาและรูปแบบการเดินทางเพื่อนำไปใช้ในการแนะนำและจัดกลุ่มผู้ใช้งานที่มีความสนใจใกล้เคียงกันระบบได้รับการพัฒนาเป็นแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ด้วยFlutterและใช้MySQLเป็นฐานข้อมูลหลัก ฟังก์ชันของระบบครอบคลุมการสมัครและเข้าสู่ระบบ การค้นหาและเข้าร่วมกลุ่ม การสนทนาภายในกลุ่ม การแสดงและลงคะแนนเลือกข้อเสนอจากบริษัทนำเที่ยว การชำระเงิน และการให้คะแนนหลังจบทริปจากการทดสอบระบบด้วยเทคนิค Black Box Testing ในฟังก์ชันหลัก พบว่าระบบสามารถทำงานได้ตามผลลัพธ์ที่กำหนด และรองรับกระบวนการตั้งแต่การค้นหากลุ่มจนถึงการให้คะแนนหลังการเดินทางได้สำเร็จ ระบบที่พัฒนาขึ้นช่วยให้กระบวนการค้นหาเพื่อนร่วมเดินทางและการเลือกข้อเสนอจากบริษัทนำเที่ยวมีความเป็นระบบและสะดวกมากขึ้น"
  },
  {
    "index": 58,
    "text": "คำสำคัญ : ระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ การพัฒนาระบบ โปรแกรมฟลัตเตอร์"
  },
  {
    "index": 61,
    "text": "Thesis Title \t\t\t:  Automated Tourist Clustering System"
  },
  {
    "index": 62,
    "text": "Authors \t\t\t:  Natapong  Champakham"
  },
  {
    "index": 63,
    "text": "    \t\t\t   Supakit Harakarn"
  },
  {
    "index": 64,
    "text": "Supervisor \t\t\t:  Wiwat Sriphoom"
  },
  {
    "index": 66,
    "text": "Abstract"
  },
  {
    "index": 67,
    "text": "The purpose of this thesis was to design and develop an Automated Tourist Clustering System for collecting travel preferences, finding compatible travel companions, and supporting competitive proposals from travel agencies. Artificial intelligence was applied to analyze user requirements such as destination, budget, travel period, and travel style in order to recommend and automatically group users with similar interests. The system was developed as a mobile application using Flutter, with MySQL as the main database. Its main functions include registration and login, group search and joining, group chat, viewing and voting on travel-agency proposals, payment, and post-trip rating. Black Box Testing was conducted on the main functions. The results showed that the tested functions operated according to the expected outcomes and supported the workflow from group searching through post-trip rating. The developed system provides a more structured and convenient process for finding travel companions and selecting travel-agency offers."
  },
  {
    "index": 68,
    "text": "\nKeywords: Automatic Clustering System, System Development, Flutter"
  },
  {
    "index": 70,
    "text": "กิตติกรรมประกาศ"
  },
  {
    "index": 71,
    "text": "ปริญญานิพนธ์ฉบับนี้สำเร็จลุล่วงไปได้ด้วยดี เนื่องจากได้รับความกรุณาและความอนุเคราะห์จากบุคคลหลายฝ่าย ผู้จัดทำขอกราบขอบพระคุณ อาจารย์ วิวัฒน์ ศรีภูมิ อาจารย์ที่ปรึกษาปริญญานิพนธ์เป็นอย่างสูง ที่ได้กรุณาให้คำปรึกษา คำแนะนำ ชี้แนะแนวทางในการดำเนินงาน ตลอดจนตรวจสอบและแก้ไขข้อบกพร่องต่าง ๆ ด้วยความเอาใจใส่ รวมทั้งให้กำลังใจและสนับสนุนผู้จัดทำตลอดระยะเวลาการดำเนินงาน จนทำให้ปริญญานิพนธ์ฉบับนี้สำเร็จลุล่วงอย่างสมบูรณ์"
  },
  {
    "index": 72,
    "text": "ขอกราบขอบพระคุณคณาจารย์ประจำหลักสูตรวิทยาศาสตรบัณฑิต สาขาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม ทุกท่าน ที่ได้กรุณาถ่ายทอดความรู้ ทักษะ และประสบการณ์ทางด้านเทคโนโลยีสารสนเทศ ซึ่งเป็นพื้นฐานสำคัญในการนำมาประยุกต์ใช้ในการศึกษา วิเคราะห์ ออกแบบ และพัฒนาระบบในปริญญานิพนธ์ฉบับนี้ รวมถึงให้คำแนะนำและข้อเสนอแนะที่เป็นประโยชน์ต่อการดำเนินงาน"
  },
  {
    "index": 73,
    "text": "ขอขอบคุณเพื่อน ๆ และผู้ที่เกี่ยวข้องทุกท่านที่ได้ให้ความช่วยเหลือ ให้คำปรึกษา แลกเปลี่ยนความคิดเห็น และให้กำลังใจตลอดระยะเวลาการจัดทำปริญญานิพนธ์ ซึ่งมีส่วนสำคัญที่ช่วยให้การดำเนินงานเป็นไปด้วยความเรียบร้อย"
  },
  {
    "index": 74,
    "text": "ท้ายที่สุดนี้ ผู้จัดทำขอกราบขอบพระคุณบิดา มารดา และครอบครัว ที่ให้การสนับสนุนทั้งด้านกำลังใจและด้านต่าง ๆ ตลอดระยะเวลาการศึกษา และเป็นแรงผลักดันสำคัญที่ทำให้ผู้จัดทำสามารถมุ่งมั่นและดำเนินงานจนปริญญานิพนธ์ฉบับนี้สำเร็จลุล่วงไปได้ด้วยดี"
  },
  {
    "index": 75,
    "text": "คุณค่าและประโยชน์อันพึงมีจากปริญญานิพนธ์ฉบับนี้ ผู้จัดทำขอมอบเป็นส่วนหนึ่งของการตอบแทนพระคุณแก่ผู้มีพระคุณทุกท่าน และหากมีข้อผิดพลาดหรือข้อบกพร่องประการใด ผู้จัดทำขอน้อมรับคำแนะนำและข้อเสนอแนะเพื่อนำไปปรับปรุงแก้ไขให้ดียิ่งขึ้น"
  },
  {
    "index": 76,
    "text": "ณัฐพงษ์ จำปาคำ"
  },
  {
    "index": 77,
    "text": "ศุภกฤต หาระการณ์"
  },
  {
    "index": 82,
    "text": "สารบัญตาราง"
  },
  {
    "index": 83,
    "text": "\t                     หน้า"
  },
  {
    "index": 84,
    "text": "ตารางที่ 1.1ระยะเวลาการดำเนินโครงการ\t6"
  },
  {
    "index": 85,
    "text": "ตารางที่ 3.1 ข้อมูลนักท่องเที่ยว (User)\t28"
  },
  {
    "index": 86,
    "text": "ตารางที่ 3.2 ข้อมูลความต้องการ\t29"
  },
  {
    "index": 87,
    "text": "ตารางที่ 3.3 ข้อมูลกลุ่มทัวร์ (Tour_Group)\t29"
  },
  {
    "index": 88,
    "text": "ตารางที่ 3.4 บริษัทนำเที่ยว (Agency)\t30"
  },
  {
    "index": 89,
    "text": "ตารางที่ 3.5 แพ็กเกจทัวร์ (Package_Tour)\t30"
  },
  {
    "index": 90,
    "text": "ตารางที่ 3.6 การเสนอราคา\t31"
  },
  {
    "index": 91,
    "text": "ตารางที่ 3.7 การชำระเงิน (Payment)\t31"
  },
  {
    "index": 92,
    "text": "ตารางที่ 3.10 รายละเอียดกระบวนการ 2.3 วิเคราะห์และสกัดคุณลักษณะ\t36"
  },
  {
    "index": 93,
    "text": "ตารางที่ 4.1 หน้าเริ่มต้นแอปพลิเคชั่น\t61"
  },
  {
    "index": 94,
    "text": "ตารางที่ 4.2 หน้าล็อกอิน\t62"
  },
  {
    "index": 95,
    "text": "ตารางที่ 4.3 หน้าข้อความในกลุ่ม\t64"
  },
  {
    "index": 96,
    "text": "ตารางที่ 4.4 หน้าการให้คะแนนหลังจบทริป\t65"
  },
  {
    "index": 99,
    "text": "สารบัญรูปภาพ"
  },
  {
    "index": 100,
    "text": "\t                 หน้า"
  },
  {
    "index": 101,
    "text": "ภาพประกอบที่ 2.1 แอปพลิเคชันที่พัฒนาด้วย Flutter\t7"
  },
  {
    "index": 102,
    "text": "ภาพประกอบที่ 2.2 Web JavaScript Library (สำหรับพัฒนา Web Portal)\t8"
  },
  {
    "index": 103,
    "text": "ภาพประกอบที่ 2.3 Visual Studio Code (เครื่องมือสำหรับเขียนและแก้ไขซอร์สโค้ด)\t9"
  },
  {
    "index": 104,
    "text": "ภาพประกอบที่ 2.4 JSON Data Format (มาตรฐานการแลกเปลี่ยนข้อมูลคอมพิวเตอร์)\t10"
  },
  {
    "index": 105,
    "text": "ภาพประกอบที่ 2.5 MySQL Database (ระบบจัดการฐานข้อมูลเชิงสัมพันธ์)\t11"
  },
  {
    "index": 106,
    "text": "ภาพประกอบที่ 2.6 Python Programming Language\t12"
  },
  {
    "index": 107,
    "text": "ภาพประกอบที่ 2.7 HTML Structure (ภาษามาตรฐานสำหรับสร้างโครงสร้างหน้าเว็บไซต์)\t13"
  },
  {
    "index": 108,
    "text": "ภาพประกอบที่ 2.8 CSS Styling (ภาษาสำหรับกำหนดรูปแบบและการตกแต่งหน้าเว็บไซต์)\t14"
  },
  {
    "index": 109,
    "text": "ภาพประกอบที่ 2.9 วงจรการพัฒนาระบบ\t15"
  },
  {
    "index": 110,
    "text": "ภาพประกอบที่ 2.10 Facebook\t18"
  },
  {
    "index": 111,
    "text": "ภาพประกอบที่ 2.11 WeTravel\t19"
  },
  {
    "index": 112,
    "text": "ภาพประกอบที่ 3.1 แผนภาพกระบวนการทำงานของระบบ (Business Process Workflow)\t20"
  },
  {
    "index": 113,
    "text": "ภาพประกอบที่ 3.2 แผนภาพบริบท Context Diagram\t21"
  },
  {
    "index": 114,
    "text": "ภาพประกอบที่ 3.3 แผนภาพการไหลของข้อมูลระดับ 1 Process 1\t22"
  },
  {
    "index": 115,
    "text": "ภาพประกอบที่ 3.4 แผนภาพการไหลของข้อมูลระดับ 1 Process 2\t23"
  },
  {
    "index": 116,
    "text": "ภาพประกอบที่ 3.5 แผนภาพการไหลของข้อมูลระดับ 2 Process 1\t24"
  },
  {
    "index": 117,
    "text": "ภาพประกอบที่ 3.6 แผนภาพการไหลของข้อมูลระดับ 2 Process 2\t25"
  },
  {
    "index": 118,
    "text": "ภาพประกอบที่ 3.7 แผนภาพการไหลของข้อมูลระดับ 2 Process 3\t26"
  },
  {
    "index": 119,
    "text": "ภาพประกอบที่ 3.8 แผนภาพ ER ฐานข้อมูล\t27"
  },
  {
    "index": 120,
    "text": "ภาพประกอบที่ 3.9 จัดการข้อมูลผู้ใช้งาน\t32"
  },
  {
    "index": 121,
    "text": "ภาพประกอบที่ 3.10 รับบันทึกเงื่อนไขการท่องเที่ยว\t34"
  },
  {
    "index": 122,
    "text": "ภาพประกอบที่ 3.11 ประมวลผลและจัดกลุ่มอัตโนมัติ (AI)\t35"
  },
  {
    "index": 123,
    "text": "ภาพประกอบที่ 3.12 วิเคราะห์และสกัดคุณลักษณะ\t36"
  },
  {
    "index": 124,
    "text": "ภาพประกอบที่ 3. 16 จัดการกลุ่มและสนทนา\t37"
  },
  {
    "index": 125,
    "text": "ภาพประกอบที่ 3. 17 รับข้อมูลเสนอราคา\t38"
  },
  {
    "index": 126,
    "text": "ภาพประกอบที่ 3.18 แสดงแพ็กเกจทัวร์\t39"
  },
  {
    "index": 127,
    "text": "ภาพประกอบที่ 3.19 รับคะแนนโหวต\t40"
  },
  {
    "index": 128,
    "text": "ภาพประกอบที่ 3.20 ประมวลผลและสรุปผลโหวต\t41"
  },
  {
    "index": 129,
    "text": "ภาพประกอบที่ 3.21 จัดการสิทธิ์และการยืนยันกลุ่ม\t42"
  },
  {
    "index": 130,
    "text": "ภาพประกอบที่ 3.22 สร้างคำสั่งชำระเงินและ QR Code\t44"
  },
  {
    "index": 131,
    "text": "ภาพประกอบที่ 3.23 รับและตรวจสอบสลิปโอนเงิน\t45"
  },
  {
    "index": 132,
    "text": "ภาพประกอบที่ 3.25 ออกใบเสร็จและแจ้งเตือน\t46"
  },
  {
    "index": 133,
    "text": "ภาพประกอบที่ 3.26 จัดการข้อมูลระบบ แอดมิน\t47"
  },
  {
    "index": 134,
    "text": "ภาพประกอบที่ 3.27หน้าเริ่มต้นแอปพลิเคชัน (Welcome Screen)\t49"
  },
  {
    "index": 135,
    "text": "ภาพประกอบที่ 3.28 หน้าเข้าสู่ระบบและสมัครสมาชิก (Login / Register)\t50"
  },
  {
    "index": 136,
    "text": "ภาพประกอบที่ 3.29 หน้าจอหลัก (Home / Dashboard)\t51"
  },
  {
    "index": 137,
    "text": "ภาพประกอบที่ 3.30 หน้าระบุความต้องการท่องเที่ยว (AI Preferences)\t52"
  },
  {
    "index": 138,
    "text": "ภาพประกอบที่ 3.31 หน้าแสดงผลการจับคู่กลุ่ม (Matched Groups)\t53"
  },
  {
    "index": 139,
    "text": "ภาพประกอบที่ 3.32 หน้าจอรายละเอียดกลุ่มและห้องสนทนา (Group Details & Chat)\t54"
  },
  {
    "index": 140,
    "text": "ภาพประกอบที่ 3.33 หน้าจอยื่นเสนอราคาสำหรับบริษัทนำเที่ยว (Agency Bidding)\t55"
  },
  {
    "index": 141,
    "text": "ภาพประกอบที่ 3.34 หน้าจอโหวตเลือกบริษัทนำเที่ยว (Voting)\t56"
  },
  {
    "index": 142,
    "text": "ภาพประกอบที่ 3.35 หน้าจอสรุปยอดและชำระเงิน (Payment)\t57"
  },
  {
    "index": 143,
    "text": "ภาพประกอบที่ 4.1 แผนภาพER ฐานข้อมูลทางกายภาพของระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ\t60"
  },
  {
    "index": 144,
    "text": "ภาพประกอบที่ 4.2 หน้าเริ่มต้นแอปพลิเคชัน\t61"
  },
  {
    "index": 145,
    "text": "ภาพประกอบที่ 4.3 หน้าล็อกอิน\t62"
  },
  {
    "index": 146,
    "text": "ภาพประกอบที่ 4.4 หน้าเข้าร่วมกลุ่ม\t63"
  },
  {
    "index": 147,
    "text": "ภาพประกอบที่ 4.5 หน้าข้อความในกลุ่ม\t64"
  },
  {
    "index": 148,
    "text": "ภาพประกอบที่ 4.6 หน้าการให้คะแนนทริป\t65"
  },
  {
    "index": 150,
    "text": "บทที่ 1 \nบทนำ"
  },
  {
    "index": 152,
    "text": "1. 1 หลักการและเหตุผล"
  },
  {
    "index": 153,
    "text": "       ปัจจุบันอุตสาหกรรมการท่องเที่ยวต่างประเทศได้รับความสนใจจากคนไทยเพิ่มขึ้นอย่างต่อเนื่อง แต่จากการศึกษาพบว่านักท่องเที่ยวส่วนใหญ่มักประสบปัญหาสำคัญ 3 ประการ ได้แก่ 1)ปัญหาด้านการวางแผนและการสื่อสาร โดยเฉพาะในประเทศที่ไม่ได้ใช้ภาษาอังกฤษเป็นหลัก ซึ่งเป็นอุปสรรคสำคัญต่อการเดินทางด้วยตนเอง [1] 2)ปัญหาด้านต้นทุน เนื่องจากการท่องเที่ยวแบบรายบุคคล (FIT) มักมีโครงสร้างต้นทุนที่สูงกว่าการท่องเที่ยวแบบเหมากลุ่ม (Group Tour) เพราะขาดอำนาจต่อรองทางการตลาด [2] และ 3) ปัญหาด้านเครื่องมือค้นหา ที่ส่วนใหญ่อาศัยเพียงคำสำคัญ(Keyword Search)ซึ่งมีข้อจำกัดในการระบุบริบทความต้องการที่ซับซ้อน ทำให้ผู้ใช้งานไม่สามารถค้นหากลุ่มเดินทางที่ตรงใจได้อย่างมีประสิทธิภาพ [3]"
  },
  {
    "index": 154,
    "text": "       จากปัญหาดังกล่าว คณะผู้จัดทำจึงมีแนวคิดพัฒนา \"แอปพลิเคชันค้นหาเพื่อนร่วมเดินทางและจัดหาบริษัทนำเที่ยวด้วยระบบอัจฉริยะ\" โดยเลือกใช้เทคโนโลยี Flutter ในการพัฒนาแอปพลิเคชัน เพื่อให้สามารถรองรับการใช้งานได้ทั้งระบบปฏิบัติการ iOS และ Android ด้วยชุดโค้ดเดียวกัน (Single Codebase) ซึ่งช่วยให้สามารถเข้าถึงกลุ่มผู้ใช้งานในวงกว้างได้อย่างรวดเร็วและมีประสิทธิภาพ ร่วมกับการนำเทคโนโลยีปัญญาประดิษฐ์ (AI) มาช่วยวิเคราะห์พฤติกรรมเพื่อจัดกลุ่มผู้ใช้งานอัตโนมัติ (Automated Clustering) ให้ผู้ที่มีความต้องการตรงกันมารวมตัวกันได้ง่ายขึ้น [4]"
  },
  {
    "index": 155,
    "text": "       เมื่อมีการรวมกลุ่มสำเร็จ ระบบจะทำหน้าที่เชื่อมโยงไปยังผู้ประกอบการผ่านกระบวนการ เสนอราคาแข่งขัน (E-Bidding) ซึ่งช่วยให้บริษัทนำเที่ยวสามารถยื่นข้อเสนอที่คุ้มค่าที่สุดแก่กลุ่มลูกค้า [5] กระบวนการนี้สอดคล้องกับพฤติกรรมผู้บริโภคยุคใหม่ที่นิยมทำธุรกรรมผ่านช่องทางออนไลน์ [6]โดยระบบยังมีการตรวจสอบมาตรฐานบริษัทนำเที่ยวและระบบความปลอดภัยทางการเงิน เพื่อสร้างความเชื่อมั่นให้กับทุกภาคส่วนในระบบนิเวศการท่องเที่ยว"
  },
  {
    "index": 157,
    "text": "1. 2 วัตถุประสงค์"
  },
  {
    "index": 158,
    "text": "       1.2.1 เพื่อออกแบบและพัฒนาแอปพลิเคชันสำหรับรวบรวมความต้องการท่องเที่ยวและค้นหาเพื่อนร่วมเดินทาง "
  },
  {
    "index": 159,
    "text": "       1.2.2 เพื่อประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์ (AI) ในการจัดกลุ่มผู้ใช้งานอัตโนมัติ (Automated Clustering) "
  },
  {
    "index": 160,
    "text": "      1.2.3 เพื่อออกแบบและพัฒนาระบบเสนอราคาแข่งขัน (E-Bidding) สำหรับบริษัทนำเที่ยว เพื่อให้เกิดการแข่งขันด้านราคาและบริการ"
  },
  {
    "index": 162,
    "text": "1. 3 ขอบเขตโครงงาน"
  },
  {
    "index": 163,
    "text": "      1.3.1 ส่วนของนักท่องเที่ยว (User Application)"
  },
  {
    "index": 164,
    "text": "              1.3.1.1 ส่วนจัดการผู้ใช้งาน (User Management)"
  },
  {
    "index": 165,
    "text": "                        1) การใช้งานสำหรับผู้เยี่ยมชม (Guest Mode)"
  },
  {
    "index": 166,
    "text": "\t\t\t       - แสดงรายการกลุ่มท่องเที่ยวที่กำลังเปิดรับ (แสดงข้อมูลสังเขป เช่น สถานที่, งบประมาณ)"
  },
  {
    "index": 167,
    "text": "\t\t\t       - ระบบค้นหาข้อมูลท่องเที่ยวเบื้องต้น"
  },
  {
    "index": 168,
    "text": "\t\t\t       - แจ้งเตือนให้สมัครสมาชิก ในกรณีที่ผู้เยี่ยมชมพยายามกดเข้าร่วมกลุ่ม หรือสร้างกลุ่ม"
  },
  {
    "index": 169,
    "text": "                        2) การสมัครสมาชิกและยืนยันตัวตน"
  },
  {
    "index": 170,
    "text": "                           - ยืนยันตัวตนผ่านเบอร์โทรศัพท์ (OTP)"
  },
  {
    "index": 171,
    "text": "                           - บันทึกข้อมูลส่วนตัวพื้นฐาน"
  },
  {
    "index": 172,
    "text": "                        3) การเข้าสู่ระบบ (Login/Logout)"
  },
  {
    "index": 173,
    "text": "              1.3.1.2 ส่วนการค้นหาและจับคู่กลุ่ม (Search & Matching)"
  },
  {
    "index": 174,
    "text": "                        1) การค้นหาและสร้างความต้องการ"
  },
  {
    "index": 175,
    "text": "                            - ค้นหากลุ่มตามงบประมาณ, สถานที่, หรือช่วงเวลา"
  },
  {
    "index": 176,
    "text": "                            - สร้างรายการความต้องการใหม่ในกรณีที่ค้นหาแล้วไม่พบกลุ่มที่ต้องการ"
  },
  {
    "index": 177,
    "text": "                            - แจ้งเตือนเมื่อมีสมาชิกคนอื่นเข้ามาร่วมกลุ่มจนครบจำนวน"
  },
  {
    "index": 178,
    "text": "                        2) ระบบแนะนำกลุ่มอัตโนมัติ (AI Recommendation)"
  },
  {
    "index": 179,
    "text": "                            - เชื่อมต่อกับระบบAIเพื่อวิเคราะห์ความสนใจ"
  },
  {
    "index": 180,
    "text": "                            - แนะนำกลุ่มที่เหมาะสมที่สุดให้ผู้ใช้โดยอัตโนมัติ"
  },
  {
    "index": 181,
    "text": "              1.3.1.3 ส่วนการดำเนินการท่องเที่ยว (Operation & Payment)"
  },
  {
    "index": 182,
    "text": "                        1) การบริหารจัดการภายในกลุ่ม"
  },
  {
    "index": 183,
    "text": "                            - แสดงเวลานับถอยหลังของกลุ่ม (Countdown Timer)"
  },
  {
    "index": 184,
    "text": "                            - สร้างแบบสอบถามความต้องการ (Group Poll) เพื่อให้สมาชิกโหวต"
  },
  {
    "index": 185,
    "text": "                            - เชิญเพื่อนเข้าร่วมกลุ่มผ่านลิงก์โซเชียลมีเดีย"
  },
  {
    "index": 186,
    "text": "                           - ระบบออกจากกลุ่ม (Leave Group) กรณีต้องการยกเลิกการเข้าร่วมและกลับไปค้นหาใหม่"
  },
  {
    "index": 187,
    "text": "                       2) การเลือกบริษัทนำเที่ยว"
  },
  {
    "index": 188,
    "text": "                           - แสดงใบเสนอราคาและไฟล์โปรแกรมทัวร์จากบริษัทนำเที่ยว (E-Bidding)"
  },
  {
    "index": 189,
    "text": "                           - ลงคะแนนโหวตเลือกบริษัทนำเที่ยว"
  },
  {
    "index": 190,
    "text": "                       3) กระเป๋าเอกสารออนไลน์ (Travel Wallet)"
  },
  {
    "index": 191,
    "text": "                           - บันทึกรูปภาพพาสปอร์ตและบัตรประชาชน"
  },
  {
    "index": 192,
    "text": "                           - ส่งข้อมูลพาสปอร์ตไปยังบริษัทนำเที่ยว (เฉพาะกรณีที่ยืนยันการจองแล้ว)"
  },
  {
    "index": 193,
    "text": "                       4) การชำระเงินและสถานะ"
  },
  {
    "index": 194,
    "text": "                          - แยกยอดชำระเงินรายบุคคล (Split Payment)"
  },
  {
    "index": 195,
    "text": "                          - แนบหลักฐานการโอนเงินเข้าบัญชีกลาง (Escrow)"
  },
  {
    "index": 196,
    "text": "                          - ห้องแชทสนทนา (Group Chat) ระหว่างสมาชิกและบริษัท"
  },
  {
    "index": 197,
    "text": "                          - ปุ่มขอความช่วยเหลือฉุกเฉิน (SOS)"
  },
  {
    "index": 198,
    "text": "      1.3.2 ส่วนของบริษัทนำเที่ยว (Agency Web Portal)"
  },
  {
    "index": 199,
    "text": "             1.3.2.1 ส่วนการยืนยันตัวตน (Authentication)"
  },
  {
    "index": 200,
    "text": "                        1) ระบบสมัครสมาชิกและอัปโหลดใบอนุญาตประกอบธุรกิจนำเที่ยว"
  },
  {
    "index": 201,
    "text": "                        2) ระบบล็อกอินเข้าใช้งานสำหรับผู้ประกอบการ"
  },
  {
    "index": 202,
    "text": "                       1.3.2.2 ส่วนบริหารจัดการงานขาย (Sales Management)"
  },
  {
    "index": 203,
    "text": "                                 1) ตลาดกลุ่มลูกค้า (Lead Marketplace)"
  },
  {
    "index": 204,
    "text": "                                     - แสดงรายการกลุ่มนักท่องเที่ยวที่ต้องการจัดทัวร์"
  },
  {
    "index": 205,
    "text": "                                     - ระบบกรองข้อมูลกลุ่มลูกค้าตามงบประมาณและประเทศปลายทาง"
  },
  {
    "index": 206,
    "text": "                                2) การเสนอราคาและประมูลงาน (E-Bidding)"
  },
  {
    "index": 207,
    "text": "                                   - ส่งไฟล์โปรแกรมทัวร์ (PDF) และระบุราคาประมูล"
  },
  {
    "index": 208,
    "text": "                                   - แจ้งเตือนไปยังแอปพลิเคชันของนักท่องเที่ยว เมื่อมีการเสนอราคาใหม่"
  },
  {
    "index": 209,
    "text": "                               3) การบริหารจัดการลูกทัวร์"
  },
  {
    "index": 210,
    "text": "                                  - ดึงข้อมูลรายชื่อและพาสปอร์ตของนักท่องเที่ยวที่ผ่านการจอง"
  },
  {
    "index": 211,
    "text": "                                  - อัปเดตสถานะการดำเนินการ (เช่น ยื่นวีซ่า, พร้อมเดินทาง) พร้อมแจ้งเตือนไปยังลูกค้า"
  },
  {
    "index": 212,
    "text": "                              4) ระบบส่งเสริมการขาย"
  },
  {
    "index": 213,
    "text": "                                 - สร้างคูปองส่วนลดและโปรโมชัน"
  },
  {
    "index": 214,
    "text": "      1.3.3 ส่วนของผู้ดูแลระบบ (Admin System)"
  },
  {
    "index": 215,
    "text": "              1.3.3.1 ส่วนการกำกับดูแล (System Governance)"
  },
  {
    "index": 216,
    "text": "                        1) การตรวจสอบและอนุมัติบริษัทนำเที่ยว"
  },
  {
    "index": 217,
    "text": "                           - แสดงเอกสารใบอนุญาตและข้อมูลบริษัท"
  },
  {
    "index": 218,
    "text": "                           - อนุมัติสิทธิ์การใช้งาน พร้อมระบบแจ้งเตือนผลทางอีเมล"
  },
  {
    "index": 219,
    "text": "                        2) การจัดการสิทธิ์ผู้ใช้งาน (User Management)"
  },
  {
    "index": 220,
    "text": "                            - แสดงรายชื่อสมาชิกและบริษัทนำเที่ยวทั้งหมด"
  },
  {
    "index": 221,
    "text": "                            - ระงับสิทธิ์การใช้งาน (Suspend/Ban) กรณีพบการกระทำผิด"
  },
  {
    "index": 222,
    "text": "                        3) รายงานสรุปผล (Dashboard)"
  },
  {
    "index": 223,
    "text": "                            - แสดงภาพรวมสถิติการใช้งาน เช่น จำนวนผู้ใช้งานใหม่, จำนวนกลุ่มทัวร์"
  },
  {
    "index": 224,
    "text": "      1.3.4 ส่วนของระบบอัจฉริยะ (AI System)"
  },
  {
    "index": 225,
    "text": "              1.3.4.1 การวิเคราะห์และจัดกลุ่ม (Analysis & Clustering)"
  },
  {
    "index": 226,
    "text": "                        1) การประมวลผลภาษาธรรมชาติ (NLP)"
  },
  {
    "index": 227,
    "text": "                            - ประยุกต์ใช้ Generative AI (เช่น Gemini API) เพื่ออ่านและสรุปใจความสำคัญจากข้อความความต้องการที่ผู้ใช้พิมพ์เข้ามา"
  },
  {
    "index": 228,
    "text": "                        2) ระบบแนะนำตามความสนใจ (Interest-based Recommendation)"
  },
  {
    "index": 229,
    "text": "                            - วิเคราะห์พฤติกรรมการใช้งาน (User Behavior) เช่น ระยะเวลาที่หยุดดูข้อมูล "
  },
  {
    "index": 230,
    "text": "(Dwell Time), ประวัติการเข้าชม, และการกดถูกใจ"
  },
  {
    "index": 231,
    "text": "                            - ใช้หลักการทำงานคล้ายระบบแนะนำเนื้อหาบนโซเชียลมีเดีย (Feed Algorithm) เพื่อเรียนรู้ความสนใจของผู้ใช้และจัดหา \"เพื่อนร่วมเดินทาง\" หรือ \"กลุ่มทัวร์\" ที่มีรสนิยมตรงกันให้อัตโนมัติ โดยที่ผู้ใช้ไม่ต้องค้นหาเอง"
  },
  {
    "index": 232,
    "text": "\t\t\t       - จัดกลุ่มผู้ใช้งานที่มีความชอบใกล้เคียงกันให้อยู่ด้วยกันโดยอัตโนมัติ"
  },
  {
    "index": 234,
    "text": "1. 4 ประโยชน์ที่คาดว่าจะได้รับ"
  },
  {
    "index": 235,
    "text": "       1.4.1 ผู้ใช้งานสามารถค้นหาทริปที่ตรงกับไลฟ์สไตล์เชิงลึกได้ง่ายและรวดเร็วผ่าน AI "
  },
  {
    "index": 236,
    "text": "       1.4.2 เพิ่มโอกาสในการเกิดทริปจริงและช่วยลดต้นทุนการเดินทางด้วยการรวมกลุ่ม ในราคาที่ประหยัดลง"
  },
  {
    "index": 237,
    "text": "       1.4.3 บริษัทนำเที่ยวสามารถเข้าถึงลูกค้าที่มีความต้องการชัดเจน ลดความเสี่ยงทางการตลาด"
  },
  {
    "index": 238,
    "text": "1. 5 แผนการดำเนินงานตลอดโครงการ"
  },
  {
    "index": 239,
    "text": "\tจากการศึกษาสามารถแสดงแผนการดำเนินงานตลอดโครงการได้ดังตารางที่ 1.1"
  },
  {
    "index": 240,
    "text": "ตารางที่ 1.1ระยะเวลาการดำเนินโครงการ"
  },
  {
    "index": 244,
    "text": "บทที่  2\nทฤษฎีและผลงานที่เกี่ยวข้อง"
  },
  {
    "index": 246,
    "text": "2. 1 ทฤษฎีที่เกี่ยวข้อง"
  },
  {
    "index": 247,
    "text": "       2.1.1 อุปกรณ์และเครื่องมือที่ใช้"
  },
  {
    "index": 248,
    "text": "     2.1.2.1 อุปกรณ์ที่ใช้"
  },
  {
    "index": 249,
    "text": "\t\t        1)\tคอมพิวเตอร์สำหรับการพัฒนาระบบ"
  },
  {
    "index": 250,
    "text": "\t\t\t1)  CPU AMD Ryzen 5 5600G"
  },
  {
    "index": 251,
    "text": "2)  RAM 16 GB "
  },
  {
    "index": 252,
    "text": "3)  SSD M.2 512 GB "
  },
  {
    "index": 253,
    "text": "\t\t\t4)  VGA Rx 5600XT 6 GB\t\t"
  },
  {
    "index": 254,
    "text": "\t\t        2)\tโทรศัพท์แอนดรอยด์"
  },
  {
    "index": 255,
    "text": "     2.1.2.2 เครื่องมือที่ใช้"
  },
  {
    "index": 256,
    "text": "\t\t        1) Flutter: สำหรับพัฒนา Mobile Application (User Side)"
  },
  {
    "index": 259,
    "text": "ภาพประกอบที่ 2.1 แอปพลิเคชันที่พัฒนาด้วย Flutter"
  },
  {
    "index": 260,
    "text": "\tFlutter คือเฟรมเวิร์กสำหรับพัฒนาแอปพลิเคชันแบบข้ามแพลตฟอร์มที่พัฒนาโดยบริษัท Google ใช้ภาษา Dart ในการเขียนโปรแกรม สามารถพัฒนาแอปพลิเคชันจากซอร์สโค้ดเดียวให้ทำงานได้ทั้งบนระบบปฏิบัติการ Android, iOS, เว็บ และเดสก์ท็อป"
  },
  {
    "index": 261,
    "text": "ข้อดี"
  },
  {
    "index": 262,
    "text": " สามารถพัฒนาแอปพลิเคชันจากซอร์สโค้ดเดียวและใช้งานได้หลายแพลตฟอร์ม"
  },
  {
    "index": 263,
    "text": " มีประสิทธิภาพในการทำงานสูง ใกล้เคียงแอปพลิเคชันแบบ Native"
  },
  {
    "index": 264,
    "text": " รองรับการออกแบบส่วนติดต่อผู้ใช้ที่สวยงามและยืดหยุ่น"
  },
  {
    "index": 266,
    "text": "ข้อเสีย"
  },
  {
    "index": 267,
    "text": " จำเป็นต้องเรียนรู้ภาษา Dart เพิ่มเติม"
  },
  {
    "index": 268,
    "text": " ขนาดไฟล์แอปพลิเคชันมีขนาดใหญ่กว่าแอป Native ในบางกรณี"
  },
  {
    "index": 269,
    "text": " ฟังก์ชันเฉพาะของอุปกรณ์บางอย่างอาจต้องพัฒนาโค้ด Native เพิ่มเติม"
  },
  {
    "index": 270,
    "text": "\t\t     2) Web JavaScript Library (สำหรับพัฒนา Web Portal)"
  },
  {
    "index": 273,
    "text": "ภาพประกอบที่ 2.2 Web JavaScript Library (สำหรับพัฒนา Web Portal)"
  },
  {
    "index": 274,
    "text": "React คือไลบรารีสำหรับพัฒนาส่วนติดต่อผู้ใช้ (User Interface) บนเว็บแอปพลิเคชันพัฒนาโดยบริษัท Meta (Facebook)โดยใช้ภาษา JavaScript และแนวคิดแบบ Component-basedซึ่งช่วยให้การพัฒนาและดูแลโค้ดเป็นระบบมากยิ่งขึ้น"
  },
  {
    "index": 275,
    "text": "ข้อดี"
  },
  {
    "index": 276,
    "text": "โครงสร้างแบบ Component ช่วยให้โค้ดเป็นระเบียบและนำกลับมาใช้ซ้ำได้"
  },
  {
    "index": 277,
    "text": "มีประสิทธิภาพในการแสดงผลสูงด้วยการใช้ Virtual DOM"
  },
  {
    "index": 278,
    "text": "ได้รับความนิยมสูง มีชุมชนผู้ใช้งานขนาดใหญ่"
  },
  {
    "index": 279,
    "text": "รองรับการพัฒนาเว็บแอปพลิเคชันที่มีความซับซ้อน"
  },
  {
    "index": 280,
    "text": "ข้อเสีย"
  },
  {
    "index": 281,
    "text": "เป็นเพียงไลบรารี ไม่ใช่เฟรมเวิร์กแบบครบวงจร"
  },
  {
    "index": 282,
    "text": "จำเป็นต้องมีความรู้พื้นฐานด้าน JavaScript ค่อนข้างดี"
  },
  {
    "index": 283,
    "text": "ต้องเรียนรู้เครื่องมือและไลบรารีเสริมเพิ่มเติมในการพัฒนา"
  },
  {
    "index": 288,
    "text": "3) Visual Studio Code (เครื่องมือสำหรับเขียนและแก้ไขซอร์สโค้ด)"
  },
  {
    "index": 290,
    "text": "ภาพประกอบที่ 2.3 Visual Studio Code (เครื่องมือสำหรับเขียนและแก้ไขซอร์สโค้ด)"
  },
  {
    "index": 291,
    "text": "\tVisual Studio Code หรือ VS Code คือโปรแกรมแก้ไขโค้ด (Source Code Editor) ที่พัฒนาโดย Microsoft รองรับการทำงานบน Windows, macOS และ Linux มีความยืดหยุ่นสูง รองรับภาษาโปรแกรมหลากหลาย และมีระบบส่วนขยาย (Extensions) ที่ช่วยอำนวยความสะดวกในการพัฒนาซอฟต์แวร์"
  },
  {
    "index": 292,
    "text": "ข้อดี"
  },
  {
    "index": 293,
    "text": "มีส่วนขยาย (Extensions) ให้เลือกใช้จำนวนมาก รองรับแทบทุกภาษาโปรแกรม"
  },
  {
    "index": 294,
    "text": "ทำงานได้รวดเร็วและเบาเครื่องเมื่อเทียบกับ IDE เต็มรูปแบบ"
  },
  {
    "index": 295,
    "text": "มีระบบ IntelliSense ช่วยเติมโค้ดและตรวจสอบไวยากรณ์เบื้องต้น"
  },
  {
    "index": 296,
    "text": "ใช้งานฟรีและมีการอัปเดตสม่ำเสมอ"
  },
  {
    "index": 297,
    "text": "ข้อเสีย"
  },
  {
    "index": 298,
    "text": "อาจกินทรัพยากรหน่วยความจำ (RAM) สูงหากติดตั้งส่วนขยายจำนวนมากเกินไป"
  },
  {
    "index": 299,
    "text": "ต้องมีการตั้งค่าเพิ่มเติมด้วยตนเองสำหรับการทำงานที่ซับซ้อนบางอย่าง"
  },
  {
    "index": 307,
    "text": "4) JSON Data Format (มาตรฐานการแลกเปลี่ยนข้อมูลคอมพิวเตอร์)"
  },
  {
    "index": 309,
    "text": "ภาพประกอบที่ 2.4 JSON Data Format (มาตรฐานการแลกเปลี่ยนข้อมูลคอมพิวเตอร์)"
  },
  {
    "index": 310,
    "text": "\tJSON (JavaScript Object Notation) คือรูปแบบมาตรฐานในการแลกเปลี่ยนข้อมูลที่มีโครงสร้างเป็นข้อความ (Text-based) ออกแบบมาให้อ่านและเขียนได้ง่ายทั้งโดยมนุษย์และคอมพิวเตอร์ นิยมใช้อย่างมากในการส่งข้อมูลระหว่าง Web Browser และ Server หรือใช้ในการตั้งค่าระบบ"
  },
  {
    "index": 311,
    "text": "ข้อดี"
  },
  {
    "index": 312,
    "text": "มีโครงสร้างที่อ่านง่ายและทำความเข้าใจได้เร็ว"
  },
  {
    "index": 313,
    "text": "ไฟล์มีขนาดเล็กและประมวลผลได้รวดเร็ว"
  },
  {
    "index": 314,
    "text": "รองรับการใช้งานร่วมกับเกือบทุกภาษาโปรแกรม ไม่จำกัดแค่ JavaScript"
  },
  {
    "index": 315,
    "text": "ข้อเสีย"
  },
  {
    "index": 316,
    "text": "ไม่รองรับการใส่คอมเมนต์ (Comment) ในมาตรฐานไฟล์ JSON ปกติ"
  },
  {
    "index": 317,
    "text": "หากข้อมูลมีความซับซ้อนมาก โครงสร้างอาจซ้อนกันหลายชั้นจนแกะข้อมูลยากผลลัพธ์"
  },
  {
    "index": 318,
    "text": "ไม่มี Schema ตรวจสอบความถูกต้องในตัวเองอย่างเข้มงวด (ต้องใช้เครื่องมือเสริม)"
  },
  {
    "index": 328,
    "text": "5) MySQL Database"
  },
  {
    "index": 330,
    "text": "ภาพประกอบที่ 2.5 MySQL Database (ระบบจัดการฐานข้อมูลเชิงสัมพันธ์)"
  },
  {
    "index": 331,
    "text": "\tMySQL คือระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System - RDBMS) ที่ใช้ภาษา SQL ในการจัดการ เป็นฐานข้อมูลแบบ Open Source ที่ได้รับความนิยมสูงสุดสำหรับการพัฒนาเว็บแอปพลิเคชัน"
  },
  {
    "index": 332,
    "text": "ข้อดี"
  },
  {
    "index": 333,
    "text": "เป็น Open Source ใช้งานได้ฟรีและมีชุมชนผู้ใช้งานขนาดใหญ่"
  },
  {
    "index": 334,
    "text": "มีความเสถียร เชื่อถือได้ และมีความปลอดภัยของข้อมูลสูง"
  },
  {
    "index": 335,
    "text": "รองรับการทำงานบนหลายระบบปฏิบัติการ (Cross-platform)"
  },
  {
    "index": 336,
    "text": "ประสิทธิภาพสูงในการจัดการข้อมูลที่มีความสัมพันธ์ซับซ้อน"
  },
  {
    "index": 337,
    "text": "ข้อเสีย"
  },
  {
    "index": 338,
    "text": "ประสิทธิภาพอาจลดลงเมื่อต้องจัดการกับข้อมูลขนาดใหญ่มาก (Big Data) เมื่อเทียบกับ NoSQL"
  },
  {
    "index": 339,
    "text": "โครงสร้างข้อมูล (Schema) มีความยืดหยุ่นน้อยกว่า หากต้องแก้ไขโครงสร้างตารางที่มีข้อมูลเยอะอาจทำได้ยาก"
  },
  {
    "index": 346,
    "text": "6) Python Programming Language"
  },
  {
    "index": 348,
    "text": "ภาพประกอบที่ 2.6 Python Programming Language"
  },
  {
    "index": 349,
    "text": "Python คือภาษาโปรแกรมระดับสูง (High-level Language) ที่ถูกออกแบบมาให้อ่านโค้ดได้ง่ายเหมือนภาษาอังกฤษ มีความยืดหยุ่นสูง และมีไลบรารีรองรับงานหลากหลายประเภท ตั้งแต่ Web Development ไปจนถึง Data Science และ AI"
  },
  {
    "index": 350,
    "text": "ข้อดี"
  },
  {
    "index": 351,
    "text": "ไวยากรณ์ (Syntax) เรียบง่าย อ่านและเขียนง่าย เหมาะสำหรับผู้เริ่มต้น"
  },
  {
    "index": 352,
    "text": "มีไลบรารีและเฟรมเวิร์กจำนวนมากรองรับงานทุกประเภท"
  },
  {
    "index": 353,
    "text": "ใช้งานได้หลากหลายวัตถุประสงค์ (General Purpose)"
  },
  {
    "index": 354,
    "text": "มีชุมชนนักพัฒนาขนาดใหญ่ ง่ายต่อการหาข้อมูลแก้ไขปัญหา"
  },
  {
    "index": 355,
    "text": "ข้อเสีย"
  },
  {
    "index": 356,
    "text": "การประมวลผลช้ากว่าภาษาที่ผ่านการ Compile เช่น C++ หรือ Java"
  },
  {
    "index": 357,
    "text": "การจัดการหน่วยความจำอาจไม่มีประสิทธิภาพเท่าภาษาระดับต่ำ"
  },
  {
    "index": 358,
    "text": "ไม่นิยมใช้ในการพัฒนา Mobile Application แบบ Native โดยตรง"
  },
  {
    "index": 364,
    "text": "7) HTML (HyperText Markup Language)"
  },
  {
    "index": 366,
    "text": "ภาพประกอบที่ 2.7 HTML Structure (ภาษามาตรฐานสำหรับสร้างโครงสร้างหน้าเว็บไซต์)"
  },
  {
    "index": 367,
    "text": "HTML คือภาษาหลักที่ใช้ในการสร้างโครงสร้างพื้นฐานของหน้าเว็บ (Web Page) ทำหน้าที่กำหนดว่าส่วนไหนคือหัวข้อ ข้อความ รูปภาพ หรือลิงก์ เปรียบเสมือนโครงกระดูกของเว็บไซต์"
  },
  {
    "index": 368,
    "text": "ข้อดี"
  },
  {
    "index": 369,
    "text": "เป็นมาตรฐานสากล ทุกเว็บเบราว์เซอร์รองรับ"
  },
  {
    "index": 370,
    "text": "เรียนรู้และทำความเข้าใจโครงสร้างได้ง่าย"
  },
  {
    "index": 371,
    "text": "ใช้งานร่วมกับ CSS และ JavaScript ได้อย่างราบรื่น"
  },
  {
    "index": 372,
    "text": "ไฟล์มีขนาดเล็ก โหลดได้เร็ว"
  },
  {
    "index": 373,
    "text": "ข้อเสีย"
  },
  {
    "index": 374,
    "text": "เป็นภาษาแสดงผลแบบนิ่ง (Static) ไม่สามารถคำนวณหรือทำงานเชิงตรรกะได้"
  },
  {
    "index": 375,
    "text": "ต้องใช้ร่วมกับ CSS เพื่อความสวยงาม และ JavaScript เพื่อการโต้ตอบ จึงจะสมบูรณ์"
  },
  {
    "index": 376,
    "text": "การแสดงผลอาจมีความแตกต่างกันเล็กน้อยในเบราว์เซอร์ต่างรุ่น"
  },
  {
    "index": 379,
    "text": "8) CSS (Cascading Style Sheets)"
  },
  {
    "index": 381,
    "text": "ภาพประกอบที่ 2.8 CSS Styling (ภาษาสำหรับกำหนดรูปแบบและการตกแต่งหน้าเว็บไซต์)"
  },
  {
    "index": 382,
    "text": "CSS คือภาษาที่ใช้กำหนดรูปแบบการแสดงผลและการตกแต่งเอกสาร HTML เช่น สี ตัวอักษร การจัดวาง (Layout) ช่วยให้หน้าเว็บมีความสวยงามและเป็นระเบียบ"
  },
  {
    "index": 383,
    "text": "ข้อดี"
  },
  {
    "index": 384,
    "text": "ช่วยแยกส่วนการตกแต่งออกจากเนื้อหา (HTML) ทำให้แก้ไขดีไซน์ได้ง่าย"
  },
  {
    "index": 385,
    "text": "รองรับ Responsive Design ทำให้เว็บแสดงผลได้ดีบนทุกขนาดหน้าจอ"
  },
  {
    "index": 386,
    "text": "ช่วยลดความซ้ำซ้อนของโค้ด สามารถใช้ไฟล์ CSS ไฟล์เดียวควบคุมหลายหน้าเว็บได้"
  },
  {
    "index": 387,
    "text": "ข้อเสีย"
  },
  {
    "index": 388,
    "text": "การจัดการ CSS ในโปรเจกต์ขนาดใหญ่อาจยุ่งยากและเกิดความซับซ้อน"
  },
  {
    "index": 389,
    "text": "อาจเจอปัญหา Cross-browser compatibility ที่การแสดงผลแตกต่างกันในแต่ละเบราว์เซอร์"
  },
  {
    "index": 390,
    "text": "หากเขียนไม่เป็นระเบียบ อาจเกิดการทับซ้อนของคำสั่ง (Override) ที่แก้ไขยาก"
  },
  {
    "index": 403,
    "text": "2. 2 ขั้นตอนการพัฒนาระบบ"
  },
  {
    "index": 404,
    "text": "       ในการพัฒนาโครงงานนี้ คณะผู้จัดทำได้ศึกษาทฤษฎีและเทคโนโลยีที่เกี่ยวข้อง เพื่อนำมาเป็นแนวทางในการพัฒนาระบบให้สอดคล้องกับวัตถุประสงค์และขอบเขตที่กำหนดไว้ โดยประกอบด้วย หลักการวิศวกรรมซอฟต์แวร์ ทฤษฎีด้านปัญญาประดิษฐ์และระบบแนะนำเนื้อหา (AI & Recommendation System) หลักการประมูลอิเล็กทรอนิกส์ (E-Bidding) รวมถึงสถาปัตยกรรมการพัฒนาแอปพลิเคชันแบบข้ามแพลตฟอร์ม (Cross-platform) ดังมีรายละเอียดต่อไปนี้"
  },
  {
    "index": 406,
    "text": "ภาพประกอบที่ 2.9 วงจรการพัฒนาระบบ"
  },
  {
    "index": 407,
    "text": "       2.2.1 การกำหนดปัญหา (Problem Definition) "
  },
  {
    "index": 408,
    "text": "               เป็นขั้นตอนแรกที่สำคัญที่สุด โดยคณะผู้จัดทำได้ศึกษาปัญหาที่เกิดขึ้นจริงจากการท่องเที่ยวต่างประเทศด้วยตนเอง พบว่านักท่องเที่ยวประสบปัญหาด้านภาษา การวางแผนที่ซับซ้อน และต้นทุนที่สูงกว่าการจองแบบกลุ่ม จึงนำมาสู่แนวคิดในการพัฒนาแอปพลิเคชันและแพลตฟอร์มจับคู่กลุ่มนักท่องเที่ยวเพื่อแก้ปัญหาดังกล่าว"
  },
  {
    "index": 409,
    "text": "                2.2.1.1 การศึกษาความเป็นไปได้ (Feasibility Study)"
  },
  {
    "index": 410,
    "text": "                          ศึกษาความเป็นไปได้ในทางเทคนิค (Technical Feasibility) โดยเลือกใช้เทคโนโลยี Flutter สำหรับแอปพลิเคชันมือถือ และ React JS สำหรับเว็บพอร์ทัล ซึ่งมีความเหมาะสมและทันสมัย รวมถึงความเป็นไปได้ในการดำเนินงาน (Operational Feasibility) ที่ระบบสามารถช่วยลดต้นทุนและเพิ่มความสะดวกให้ผู้ใช้ได้จริง "
  },
  {
    "index": 414,
    "text": "       2.2.2 ทฤษฎีด้านการพัฒนาแอปพลิเคชัน"
  },
  {
    "index": 415,
    "text": "               ในการพัฒนาระบบครั้งนี้ คณะผู้จัดทำได้เลือกใช้เครื่องมือและเทคโนโลยีที่มีประสิทธิภาพและเป็นที่นิยมในปัจจุบัน เพื่อให้ระบบสามารถทำงานได้ข้ามแพลตฟอร์มและมีการตอบสนองที่รวดเร็ว ดังนี้"
  },
  {
    "index": 416,
    "text": "    2.2.2.1 Flutter Framework"
  },
  {
    "index": 417,
    "text": "                         คือเฟรมเวิร์กสำหรับพัฒนาแอปพลิเคชันแบบข้ามแพลตฟอร์ม (Cross-platform) ที่พัฒนาโดยบริษัท Google โดยใช้ภาษา Dart เป็นภาษาหลักในการเขียนโปรแกรม จุดเด่นของ Flutter คือความสามารถในการพัฒนาแอปพลิเคชันจากซอร์สโค้ดชุดเดียว (Single Codebase) ให้สามารถทำงานได้ทั้งบนระบบปฏิบัติการ Android, iOS, Web และ Desktop"
  },
  {
    "index": 418,
    "text": "                         ข้อดี: ช่วยลดระยะเวลาและต้นทุนในการพัฒนา เนื่องจากไม่ต้องเขียนโค้ดแยกสำหรับแต่ละระบบปฏิบัติการ มีประสิทธิภาพการทำงานสูงใกล้เคียงกับแอปพลิเคชันแบบ Native และรองรับการออกแบบส่วนติดต่อผู้ใช้ (UI) ที่มีความสวยงามและยืดหยุ่น "
  },
  {
    "index": 419,
    "text": "    2.2.2.2 React JS"
  },
  {
    "index": 420,
    "text": "                         คือไลบรารีจาวาสคริปต์ (JavaScript Library) สำหรับสร้างส่วนติดต่อผู้ใช้ (User Interface) บนเว็บแอปพลิเคชัน ซึ่งพัฒนาโดยบริษัท Meta (Facebook) โดยใช้แนวคิดแบบ Component-based Architecture ที่มองส่วนต่างๆ ของหน้าเว็บเป็นชิ้นส่วนย่อยๆ ที่สามารถนำกลับมาใช้ซ้ำได้ "
  },
  {
    "index": 421,
    "text": "                         ข้อดี: โครงสร้างแบบ Component ช่วยให้โค้ดมีความเป็นระเบียบ ง่ายต่อการดูแลรักษาและขยายระบบ มีประสิทธิภาพในการแสดงผลสูงด้วยเทคนิค Virtual DOM ซึ่งทำการอัปเดตเฉพาะส่วนที่มีการเปลี่ยนแปลงทำให้หน้าเว็บโหลดได้รวดเร็ว"
  },
  {
    "index": 422,
    "text": "      2.2.3 ทฤษฎีด้านปัญญาประดิษฐ์และการประมวลผลภาษาธรรมชาติ"
  },
  {
    "index": 423,
    "text": "              ในการวิเคราะห์ความต้องการของผู้ใช้งาน คณะผู้จัดทำได้ประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์เชิงสร้างสรรค์ (Generative AI) "
  },
  {
    "index": 426,
    "text": "    2.2.3.1 การประมวลผลภาษาธรรมชาติ "
  },
  {
    "index": 427,
    "text": "                         คือเทคโนโลยีที่ช่วยให้คอมพิวเตอร์สามารถเข้าใจ ตีความ และจัดการกับภาษามนุษย์ได้ โครงงานนี้มีการเชื่อมต่อกับ API ของโมเดลภาษาขนาดใหญ่ (เช่น Gemini API) เพื่อนำมาใช้อ่านและสรุปใจความสำคัญจากข้อความที่นักท่องเที่ยวพิมพ์เข้ามา ทำให้ระบบสามารถดึงข้อมูล (Extract) เช่น สถานที่ งบประมาณ และช่วงเวลา ออกมาจัดหมวดหมู่ได้อย่างแม่นยำ "
  },
  {
    "index": 428,
    "text": "       2.2.4 ทฤษฎีระบบแนะนำเนื้อหา (Recommendation System) "
  },
  {
    "index": 429,
    "text": "     \t     เพื่อลดภาระในการค้นหาข้อมูลของผู้ใช้ ระบบได้นำหลักการวิเคราะห์พฤติกรรมมาใช้ในการจับคู่ "
  },
  {
    "index": 430,
    "text": "                2.2.4.1 ระบบแนะนำตามความสนใจ (Interest-based Recommendation) "
  },
  {
    "index": 431,
    "text": "                          คือการใช้ชุดคำสั่ง (Algorithm) วิเคราะห์ข้อมูลพฤติกรรมผู้ใช้ (User Behavior) เช่น ระยะเวลาที่หยุดดูข้อมูล (Dwell Time) หรือประวัติการเข้าชม (คล้ายกับระบบ Feed Algorithm บนโซเชียลมีเดีย) เพื่อค้นหาความเชื่อมโยงและจัดกลุ่ม (Clustering) ผู้ใช้งานที่มีความสนใจตรงกันให้อยู่ในกลุ่มเดียวกันโดยอัตโนมัติ"
  },
  {
    "index": 432,
    "text": "      2.2.5 ทฤษฎีการประมูลอิเล็กทรอนิกส์ (Electronic Bidding: E-Bidding) "
  },
  {
    "index": 433,
    "text": "              คือกระบวนการเสนอราคาเพื่อแข่งขันรับงานหรือขายสินค้าผ่านระบบเครือข่ายอินเทอร์เน็ต ในโครงงานนี้ได้นำแนวคิด E-Bidding มาใช้ในส่วนของบริษัทนำเที่ยว (Agency) ที่สามารถส่งไฟล์โปรแกรมทัวร์และเสนอราคาแข่งขันกัน เพื่อให้กลุ่มนักท่องเที่ยวสามารถโหวตเลือกแพ็กเกจที่คุ้มค่าและตรงกับความต้องการมากที่สุด"
  },
  {
    "index": 434,
    "text": "2. 3 ผลงานที่เกี่ยวข้อง"
  },
  {
    "index": 435,
    "text": "      คณะผู้จัดทำได้ทำการศึกษาและรวบรวมข้อมูลเกี่ยวกับระบบหรือแพลตฟอร์มที่มีลักษณะการทำงานใกล้เคียงกัน เพื่อนำมาวิเคราะห์ข้อดีและข้อด้อยสำหรับใช้เป็นแนวทางในการพัฒาระบบ และนำมาปรับใช้เป็นแนวทางในการพัฒนาระบบให้มีประสิทธิภาพมากยิ่งขึ้น โดยผลงานที่เกี่ยวข้องมีดังนี้"
  },
  {
    "index": 436,
    "text": "2.3.1 กลุ่ม Facebook เที่ยวต่างประเทศ / หาเพื่อนหารเฉลี่ย "
  },
  {
    "index": 438,
    "text": "ภาพประกอบที่ 2.10 Facebook"
  },
  {
    "index": 439,
    "text": "จากการศึกษาการใช้งานกลุ่มบนโซเชียลมีเดีย เช่น Facebook Group สำหรับหาเพื่อนเที่ยว พบว่าเป็นช่องทางหลักที่นักท่องเที่ยวใช้ในการหาเพื่อนร่วมทริปในปัจจุบัน"
  },
  {
    "index": 440,
    "text": "ข้อดีของแพลตฟอร์ม"
  },
  {
    "index": 441,
    "text": "1) เป็นช่องทางที่มีผู้ใช้งานจำนวนมาก เข้าถึงได้ง่าย"
  },
  {
    "index": 442,
    "text": "2) มีการพูดคุยโต้ตอบและสอบถามข้อมูลที่เป็นกันเองแบบ Real-time"
  },
  {
    "index": 443,
    "text": "ข้อเสียของแพลตฟอร์ม"
  },
  {
    "index": 444,
    "text": "1) ข้อมูลมักกระจัดกระจาย (Unstructured Data) ทำให้ค้นหาทริปที่ตรงใจ งบประมาณ และช่วงเวลาได้ยาก"
  },
  {
    "index": 445,
    "text": "2) ไม่มีการตรวจสอบตัวตนที่ชัดเจนของผู้โพสต์ ซึ่งเสี่ยงต่อการถูกมิจฉาชีพฉ้อโกง"
  },
  {
    "index": 446,
    "text": "3) ไม่มีระบบช่วยคัดกรองไลฟ์สไตล์ ทำให้เมื่อรวมกลุ่มกันแล้วอาจเกิดปัญหาความขัดแย้งจากความชอบที่ไม่ตรงกัน"
  },
  {
    "index": 447,
    "text": "แนวทางที่โครงงานนำมาพัฒนาให้ดีขึ้น"
  },
  {
    "index": 448,
    "text": "โครงงานนี้ได้นำปัญหาความกระจัดกระจายของข้อมูลมาพัฒนา โดยใช้เทคโนโลยี AI (NLP และ Feed Algorithm) เข้ามาช่วยวิเคราะห์พฤติกรรมและจัดกลุ่มผู้ที่มีไลฟ์สไตล์ความชอบ งบประมาณ และช่วงเวลาตรงกันให้อัตโนมัติ พร้อมทั้งเพิ่มระบบยืนยันตัวตน (OTP) เพื่อความปลอดภัยสูงสุดของผู้ใช้งาน"
  },
  {
    "index": 449,
    "text": "2.3.2 WeTravel (แพลตฟอร์มจัดการทริปกลุ่ม)"
  },
  {
    "index": 451,
    "text": "ภาพประกอบที่ 2.11 WeTravel"
  },
  {
    "index": 452,
    "text": "WeTravel เป็นแพลตฟอร์มระดับสากลที่ให้บริการจัดการด้านการจอง การรวบรวมคน และการชำระเงินสำหรับทริปท่องเที่ยวแบบกลุ่ม"
  },
  {
    "index": 453,
    "text": "ข้อดีของแพลตฟอร์ม"
  },
  {
    "index": 454,
    "text": "1) มีจุดเด่นด้านระบบบริหารจัดการเงินที่น่าเชื่อถือ รองรับการจ่ายเงินแบบกลุ่ม"
  },
  {
    "index": 455,
    "text": "2) มีระบบการจัดการเอกสารและข้อมูลผู้เดินทางที่ชัดเจน"
  },
  {
    "index": 456,
    "text": "ข้อเสียของแพลตฟอร์ม"
  },
  {
    "index": 457,
    "text": "1) รูปแบบการทำงานเน้นให้ผู้นำทัวร์ (Organizer) เป็นผู้สร้างทริปแล้วประกาศหาลูกทัวร์ ซึ่งไม่ใช่ระบบที่นักท่องเที่ยวรายย่อยมารวมตัวกันเอง"
  },
  {
    "index": 458,
    "text": "2) ไม่มีระบบประมูลราคา (E-Bidding) จากบริษัททัวร์หลายๆ แห่ง"
  },
  {
    "index": 459,
    "text": "แนวทางที่โครงงานนำมาพัฒนาให้ดีขึ้น"
  },
  {
    "index": 460,
    "text": "โครงงานนี้ได้เปลี่ยนรูปแบบการทำงานให้เป็นแบบ User-Centric คือให้นักท่องเที่ยวรายย่อยที่มีความต้องการตรงกันมารวมกลุ่มกันเองเพื่อสร้าง \"อำนาจต่อรอง\" จากนั้นนำระบบ E-Bidding มาใช้ เพื่อให้บริษัทนำเที่ยวต่างๆ เข้ามาเสนอราคาแข่งขันกัน ทำให้ผู้ใช้งานได้รับแพ็กเกจท่องเที่ยวที่คุ้มค่าที่สุดในราคาที่ถูกลง"
  },
  {
    "index": 462,
    "text": "บทที่  3\nขั้นตอนการดำเนินโครงการ"
  },
  {
    "index": 463,
    "text": "ในการศึกษาและพัฒนาระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ (Automated Tourist Clustering System) คณะผู้จัดทำได้กำหนดขั้นตอนการดำเนินโครงงาน ซึ่งประกอบไปด้วย การวิเคราะห์ความต้องการของผู้ใช้งาน การออกแบบระบบ การพัฒนาระบบ และการทดสอบระบบ โดยมีรายละเอียดดังต่อไปนี้"
  },
  {
    "index": 464,
    "text": "3. 1 ความต้องการของผู้ใช้งาน และการวิเคราะห์ระบบ"
  },
  {
    "index": 465,
    "text": "       จากการศึกษาปัญหาด้านการท่องเที่ยวต่างประเทศ คณะผู้จัดทำได้วิเคราะห์ความต้องการและกำหนดขอบเขตการทำงานของระบบ (อ้างอิงตามหัวข้อ 1.3) โดยแบ่งกลุ่มผู้ใช้งานออกเป็น 3 ส่วนหลัก ได้แก่ 1) นักท่องเที่ยว (User) 2) บริษัทนำเที่ยว (Agency) และ 3) ผู้ดูแลระบบ (Admin) ซึ่งสามารถนำมาเขียนเป็นแผนภาพกระบวนการทำงานของระบบ (Workflow Diagram) เพื่อให้เห็นภาพรวมการทำงานได้ดังภาพประกอบที่ 3.1"
  },
  {
    "index": 467,
    "text": "ภาพประกอบที่ 3.1 แผนภาพกระบวนการทำงานของระบบ (Business Process Workflow)"
  },
  {
    "index": 468,
    "text": "3. 2 การออกแบบระบบ"
  },
  {
    "index": 469,
    "text": "      การออกแบบระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ ประกอบด้วย แผนภาพการไหลของข้อมูล ออกแบบฐานข้อมูลพจนานุกรมข้อมูลและการออกแบบส่วนติดต่อผู้ใช้งาน (GUI) ดังรายละเอียดต่อไปนี้"
  },
  {
    "index": 471,
    "text": "3.2.1 แผนภาพการไหลของข้อมูล (Data Flow Diagram)"
  },
  {
    "index": 472,
    "text": "              แผนภาพการไหลของข้อมูลใช้สำหรับแสดงทิศทางการรับส่งข้อมูลระหว่างผู้ใช้งานกับระบบ โดยแบ่งออกเป็นระดับต่างๆ ดังนี้"
  },
  {
    "index": 473,
    "text": "3.2.1.1 แผนภาพบริบท (Context Diagram)"
  },
  {
    "index": 474,
    "text": "แสดงภาพรวมการทำงานทั้งหมดของระบบ โดยมีเอนทิตีภายนอก (External Entities) ที่เกี่ยวข้อง 3 กลุ่ม คือ นักท่องเที่ยว, บริษัทนำเที่ยว และผู้ดูแลระบบ ดังภาพประกอบที่ 3.2"
  },
  {
    "index": 476,
    "text": "ภาพประกอบที่ 3.2 แผนภาพบริบท Context Diagram"
  },
  {
    "index": 477,
    "text": "      3.2.1.2 แผนภาพการไหลของข้อมูลระดับ 1 (DFD Level 1)"
  },
  {
    "index": 478,
    "text": "แสดงกระบวนการทำงานหลัก (Main Processes) ของระบบ เช่น การจัดการข้อมูลผู้ใช้, การจับคู่กลุ่มนักท่องเที่ยวด้วย AI, การประมูลราคา (E -Bidding) และการชำระเงิน ดังภาพประกอบที่ 3.3"
  },
  {
    "index": 480,
    "text": "ภาพประกอบที่ 3.3 แผนภาพการไหลของข้อมูลระดับ 1 Process 1"
  },
  {
    "index": 482,
    "text": "ภาพประกอบที่ 3.4 แผนภาพการไหลของข้อมูลระดับ 1 Process 2"
  },
  {
    "index": 483,
    "text": "3.2.1.3 แผนภาพการไหลของข้อมูลระดับ 2 (DFD Level 2)"
  },
  {
    "index": 484,
    "text": "แสดงกระบวนการทำงานย่อยที่เจาะลึกรายละเอียดลงไปในแต่ละ Process หลักของระบบ ดังภาพประกอบที่ 3.5, 3.6, 3.7"
  },
  {
    "index": 486,
    "text": "ภาพประกอบที่ 3.5 แผนภาพการไหลของข้อมูลระดับ 2 Process 1"
  },
  {
    "index": 488,
    "text": "ภาพประกอบที่ 3.6 แผนภาพการไหลของข้อมูลระดับ 2 Process 2"
  },
  {
    "index": 491,
    "text": "ภาพประกอบที่ 3.7 แผนภาพการไหลของข้อมูลระดับ 2 Process 3"
  },
  {
    "index": 492,
    "text": "3.2.2 การออกแบบฐานข้อมูล (Database Design)"
  },
  {
    "index": 494,
    "text": "ภาพประกอบที่ 3.8 แผนภาพ ER ฐานข้อมูล"
  },
  {
    "index": 495,
    "text": "จากการออกแบบระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ แผนภาพ ER ประกอบด้วย 7 เอนทิตี (Entities) คือ นักท่องเที่ยว (User), ข้อมูลความต้องการ (Preferences), กลุ่มทัวร์ (Tour_Group), บริษัทนำเที่ยว (Agency), แพ็กเกจทัวร์ (Package_Tour), การเสนอราคา (Bidding) และ การชำระเงิน (Payment) โดยแต่ละเอนทิตีมีความสัมพันธ์กันดังนี้"
  },
  {
    "index": 496,
    "text": "ความสัมพันธ์ระหว่าง นักท่องเที่ยว กับ ข้อมูลความต้องการ: เป็นแบบ 1 ต่อ หลาย (1:M) คือ นักท่องเที่ยว 1 คน บันทึกความต้องการได้หลายครั้ง"
  },
  {
    "index": 497,
    "text": "ความสัมพันธ์ระหว่าง นักท่องเที่ยว กับ กลุ่มทัวร์: เป็นแบบ หลาย ต่อ 1 (M:1) คือ นักท่องเที่ยวหลายคน จัดกลุ่มรวมกันเป็น 1 กลุ่มทัวร์"
  },
  {
    "index": 498,
    "text": "ความสัมพันธ์ระหว่าง บริษัทนำเที่ยว กับ แพ็กเกจทัวร์: เป็นแบบ 1 ต่อ หลาย (1:M) คือ บริษัท 1 แห่ง จัดการแพ็กเกจได้หลายแพ็กเกจ"
  },
  {
    "index": 499,
    "text": "ความสัมพันธ์ระหว่าง กลุ่มทัวร์ กับ การเสนอราคา: เป็นแบบ 1 ต่อ หลาย (1:M) คือ กลุ่มทัวร์ 1 กลุ่ม ได้รับการเสนอราคาได้หลายรายการ"
  },
  {
    "index": 500,
    "text": "ความสัมพันธ์ระหว่าง แพ็กเกจทัวร์ กับ การเสนอราคา: เป็นแบบ 1 ต่อ หลาย (1:M) คือ แพ็กเกจทัวร์ 1 แพ็กเกจ ถูกใช้ในการเสนอราคาได้หลายครั้ง"
  },
  {
    "index": 501,
    "text": "ความสัมพันธ์ระหว่าง นักท่องเที่ยว กับ การชำระเงิน: เป็นแบบ 1 ต่อ หลาย (1:M) คือ นักท่องเที่ยว 1 คน ทำรายการชำระเงินได้หลายครั้ง"
  },
  {
    "index": 502,
    "text": "ความสัมพันธ์ระหว่าง การเสนอราคา กับ การชำระเงิน: เป็นแบบ 1 ต่อ หลาย (1:M) คือ การเสนอราคาที่ชนะ 1 รายการ เกิดยอดชำระเงินจากลูกทัวร์ได้หลายรายการ (แยกจ่ายรายบุคคล)"
  },
  {
    "index": 504,
    "text": "3.2.3พจนานุกรมข้อมูล (Data Dictionary)"
  },
  {
    "index": 505,
    "text": "  ตารางที่ 3.1 ข้อมูลนักท่องเที่ยว (User)"
  },
  {
    "index": 512,
    "text": "ตารางที่ 3.2 ข้อมูลความต้องการ"
  },
  {
    "index": 514,
    "text": "ตารางที่ 3.3 ข้อมูลกลุ่มทัวร์ (Tour_Group)"
  },
  {
    "index": 517,
    "text": "ตารางที่ 3.4 บริษัทนำเที่ยว (Agency)"
  },
  {
    "index": 519,
    "text": "ตารางที่ 3.5 แพ็กเกจทัวร์ (Package_Tour)"
  },
  {
    "index": 521,
    "text": "ตารางที่ 3.6 การเสนอราคา"
  },
  {
    "index": 523,
    "text": "ตารางที่ 3.7 การชำระเงิน (Payment)"
  },
  {
    "index": 525,
    "text": "3.2.4 รายละเอียดกระบวนการ (Process descriptions)"
  },
  {
    "index": 526,
    "text": "รายละเอียดกระบวนการ เป็นการอธิบายขั้นตอนรายละเอียดกระบวนการ ของการจัดกลุ่มนักท่องเที่ยวด้วย AI ดังนี้"
  },
  {
    "index": 529,
    "text": "ภาพประกอบที่ 3.9 จัดการข้อมูลผู้ใช้งาน"
  },
  {
    "index": 540,
    "text": "ตารางที่ 3.7 รายละเอียดกระบวนการ 1.0 จัดการข้อมูลผู้ใช้งาน"
  },
  {
    "index": 543,
    "text": "ภาพประกอบที่ 3.10 รับบันทึกเงื่อนไขการท่องเที่ยว"
  },
  {
    "index": 544,
    "text": "ตารางที่ 3.8 รายละเอียดกระบวนการ 2.1 รับบันทึกเงื่อนไขการท่องเที่ยว"
  },
  {
    "index": 548,
    "text": "ภาพประกอบที่ 3.11 ประมวลผลและจัดกลุ่มอัตโนมัติ (AI)"
  },
  {
    "index": 549,
    "text": "ตารางที่ 3.9 รายละเอียดกระบวนการ 2.2 ประมวลผลและจัดกลุ่มอัตโนมัติ (AI)"
  },
  {
    "index": 551,
    "text": "ภาพประกอบที่ 3.12 วิเคราะห์และสกัดคุณลักษณะ"
  },
  {
    "index": 552,
    "text": "ตารางที่ 3.10 รายละเอียดกระบวนการ 2.3 วิเคราะห์และสกัดคุณลักษณะ"
  },
  {
    "index": 554,
    "text": "ภาพประกอบที่ 3. 16 จัดการกลุ่มและสนทนา"
  },
  {
    "index": 555,
    "text": "ตารางที่ 3. 14 รายละเอียดกระบวนการ 3.0 จัดการกลุ่มและสนทนา"
  },
  {
    "index": 558,
    "text": "ภาพประกอบที่ 3. 17 รับข้อมูลเสนอราคา"
  },
  {
    "index": 559,
    "text": "ตารางที่ 3. 15 รายละเอียดกระบวนการ 4.1 รับข้อมูลเสนอราคา"
  },
  {
    "index": 562,
    "text": "ภาพประกอบที่ 3.18 แสดงแพ็กเกจทัวร์"
  },
  {
    "index": 563,
    "text": "ตารางที่ 3.16 รายละเอียดกระบวนการ 4.2 แสดงแพ็กเกจทัวร์"
  },
  {
    "index": 568,
    "text": "ภาพประกอบที่ 3.19 รับคะแนนโหวต"
  },
  {
    "index": 569,
    "text": "ตารางที่ 3.17 รายละเอียดกระบวนการ 4.3 รับคะแนนโหวต"
  },
  {
    "index": 574,
    "text": "ภาพประกอบที่ 3.20 ประมวลผลและสรุปผลโหวต"
  },
  {
    "index": 575,
    "text": "ตารางที่ 3.18 รายละเอียดกระบวนการ 4.4 ประมวลผลและสรุปผลโหวต"
  },
  {
    "index": 578,
    "text": "ภาพประกอบที่ 3.21 จัดการสิทธิ์และการยืนยันกลุ่ม"
  },
  {
    "index": 585,
    "text": "ตารางที่ 3.20 รายละเอียดกระบวนการ 4.5 จัดการสิทธิ์และการยืนยันกลุ่ม"
  },
  {
    "index": 588,
    "text": "ภาพประกอบที่ 3.22 สร้างคำสั่งชำระเงินและ QR Code"
  },
  {
    "index": 589,
    "text": "ตารางที่ 3.21 รายละเอียดกระบวนการ 5.1 สร้างคำสั่งชำระเงินและ QR Code"
  },
  {
    "index": 592,
    "text": "ภาพประกอบที่ 3.23 รับและตรวจสอบสลิปโอนเงิน"
  },
  {
    "index": 593,
    "text": "ตารางที่ 3.22 รายละเอียดกระบวนการ 5.2 รับและตรวจสอบสลิปโอนเงิน"
  },
  {
    "index": 597,
    "text": "ภาพประกอบที่ 3.25 ออกใบเสร็จและแจ้งเตือน"
  },
  {
    "index": 598,
    "text": "ตารางที่ 3.23 รายละเอียดกระบวนการ 5.3 ออกใบเสร็จและแจ้งเตือน"
  },
  {
    "index": 600,
    "text": "ภาพประกอบที่ 3.26 จัดการข้อมูลระบบ แอดมิน"
  },
  {
    "index": 602,
    "text": "ตารางที่ 3. 23 รายละเอียดกระบวนการ 6.0 จัดการข้อมูลระบบ"
  },
  {
    "index": 603,
    "text": "3.2.5 ต้นแบบด้านโปรแกรม (GUI) "
  },
  {
    "index": 604,
    "text": "การออกแบบหน้าจอส่วนติดต่อผู้ใช้งาน (Graphical User Interface) ของแอปพลิเคชันระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ มีรายละเอียดหน้าจอหลักดังนี้"
  },
  {
    "index": 606,
    "text": "ภาพประกอบที่ 3.27หน้าเริ่มต้นแอปพลิเคชัน (Welcome Screen)"
  },
  {
    "index": 607,
    "text": "อธิบาย: หน้าจอแรกสุดเมื่อผู้ใช้งานเปิดแอปพลิเคชันขึ้นมา ประกอบด้วยชื่อแอปพลิเคชัน โลโก้ และปุ่มเริ่มต้นใช้งาน เพื่อดึงดูดความสนใจและอธิบายจุดประสงค์ของแอปพลิเคชันเบื้องต้น ก่อนที่จะนำผู้ใช้เข้าสู่หน้าลงทะเบียนหรือเข้าสู่ระบบในลำดับถัดไป"
  },
  {
    "index": 609,
    "text": "ภาพประกอบที่ 3.28 หน้าเข้าสู่ระบบและสมัครสมาชิก (Login / Register)"
  },
  {
    "index": 610,
    "text": "อธิบาย: หน้าจอสำหรับผู้ใช้งานเพื่อยืนยันตัวตนหรือสร้างบัญชีใหม่ ประกอบด้วยช่องสำหรับกรอกข้อมูลเบอร์โทรศัพท์ อีเมล และรหัสผ่าน เพื่อบันทึกข้อมูลและตรวจสอบสิทธิ์การเข้าใช้งานแอปพลิเคชัน"
  },
  {
    "index": 613,
    "text": "ภาพประกอบที่ 3.29 หน้าจอหลัก (Home / Dashboard)"
  },
  {
    "index": 614,
    "text": "อธิบาย: หน้าจอหลักหลังจากการเข้าสู่ระบบสำเร็จ จะแสดงข้อมูลสรุปของผู้ใช้งาน เช่น ชื่อ รูปโปรไฟล์ และสถานะการจัดกลุ่มปัจจุบัน พร้อมปุ่มกดเพื่อเริ่มต้นให้ระบบค้นหาเพื่อนร่วมทริป และแถบเมนูนำทางด้านล่าง"
  },
  {
    "index": 616,
    "text": "ภาพประกอบที่ 3.30 หน้าระบุความต้องการท่องเที่ยว (AI Preferences)"
  },
  {
    "index": 617,
    "text": "อธิบาย: หน้าจอหลักสำหรับระบุจุดหมายปลายทางที่ต้องการและกำหนดงบประมาณ รวมถึงการเลือกแท็กไลฟ์สไตล์การท่องเที่ยว เช่น สายกิน สายลุย หรือเน้นถ่ายรูป เพื่อให้ระบบ AI นำข้อมูลไปประมวลผลและจัดกลุ่มผู้ใช้งานที่มีความชอบตรงกัน"
  },
  {
    "index": 619,
    "text": "ภาพประกอบที่ 3.31 หน้าแสดงผลการจับคู่กลุ่ม (Matched Groups)"
  },
  {
    "index": 620,
    "text": "อธิบาย: หน้าจอแสดงรายการกลุ่มทัวร์ที่ AI วิเคราะห์และแนะนำให้ผู้ใช้งาน โดยจะแสดงเปอร์เซ็นต์ความเข้ากันได้ (Match Score) และจำนวนสมาชิกปัจจุบัน เพื่อให้ผู้ใช้งานพิจารณาและกดปุ่มขอเข้าร่วมกลุ่มด้วยตนเอง"
  },
  {
    "index": 622,
    "text": "ภาพประกอบที่ 3.32 หน้าจอรายละเอียดกลุ่มและห้องสนทนา (Group Details & Chat)"
  },
  {
    "index": 623,
    "text": "อธิบาย: หน้าจอพื้นที่ส่วนตัวสำหรับกลุ่มที่ผู้ใช้กดเข้าร่วมสำเร็จ ด้านบนแสดงรายชื่อและโปรไฟล์ของสมาชิกในกลุ่ม ส่วนตรงกลางเป็นพื้นที่ห้องสนทนา (Chat Room) เพื่อให้สมาชิกได้พูดคุยปรึกษาหารือกัน ในระหว่างรอขั้นตอนการประมูลจากบริษัทนำเที่ยว"
  },
  {
    "index": 625,
    "text": "ภาพประกอบที่ 3.33 หน้าจอยื่นเสนอราคาสำหรับบริษัทนำเที่ยว (Agency Bidding)"
  },
  {
    "index": 626,
    "text": "อธิบาย: หน้าจอสำหรับผู้ใช้งานฝั่งบริษัทนำเที่ยว (Agency) เพื่อดูความต้องการและรายละเอียดของกลุ่มนักท่องเที่ยวที่จัดกลุ่มสำเร็จแล้ว ประกอบด้วยช่องสำหรับกรอกราคาเสนอขายต่อหัว และปุ่มสำหรับแนบไฟล์เอกสารโปรแกรมทัวร์ (PDF) เพื่อส่งข้อเสนอเข้าร่วมการประมูลไปยังกลุ่มนักท่องเที่ยว"
  },
  {
    "index": 628,
    "text": "ภาพประกอบที่ 3.34 หน้าจอโหวตเลือกบริษัทนำเที่ยว (Voting)"
  },
  {
    "index": 629,
    "text": "อธิบาย: หน้าจอสำหรับให้สมาชิกภายในกลุ่มร่วมกันลงคะแนนเสียง (Vote) เพื่อเลือกแพ็กเกจทัวร์จากบริษัทนำเที่ยวที่พึงพอใจที่สุด โดยระบบจะแสดงข้อเสนอ ราคาต่อหัว และแนบไฟล์โปรแกรมทัวร์ (PDF) ประกอบการตัดสินใจ"
  },
  {
    "index": 631,
    "text": "ภาพประกอบที่ 3.35 หน้าจอสรุปยอดและชำระเงิน (Payment)"
  },
  {
    "index": 632,
    "text": "อธิบาย: หน้าจอสรุปผลการประมูลให้สมาชิกในกลุ่มทราบหลังจากได้ผลโหวต ระบบจะแสดงยอดเงินที่ต้องชำระของแพ็กเกจที่ชนะการประมูล พร้อมช่องทางสำหรับชำระเงินและปุ่มอัปโหลดสลิปยืนยันการโอนเงิน"
  },
  {
    "index": 633,
    "text": "3.3 การพัฒนาระบบ "
  },
  {
    "index": 634,
    "text": "3.3.1 อุปกรณ์ด้านฮาร์ดแวร์ (Hardware) ในการพัฒนาระบบ ผู้พัฒนาได้ใช้อุปกรณ์ฮาร์ดแวร์ดังต่อไปนี้"
  },
  {
    "index": 635,
    "text": "เครื่องคอมพิวเตอร์และโน้ตบุ๊กสำหรับพัฒนาระบบ "
  },
  {
    "index": 636,
    "text": "(1) หน่วยประมวลผลกลาง (CPU): AMD R5 5600G"
  },
  {
    "index": 637,
    "text": "(2) หน่วยความจำ (RAM): 16 GB "
  },
  {
    "index": 638,
    "text": "(3) พื้นที่จัดเก็บข้อมูล: 500 GB SSD "
  },
  {
    "index": 639,
    "text": "อุปกรณ์โทรศัพท์มือถือสำหรับทดสอบระบบ "
  },
  {
    "index": 640,
    "text": "(1) สมาร์ทโฟนระบบปฏิบัติการ Android "
  },
  {
    "index": 641,
    "text": "(2) สมาร์ทโฟนระบบปฏิบัติการ iOS"
  },
  {
    "index": 642,
    "text": "3.3.2 เครื่องมือด้านซอฟต์แวร์ (Software)"
  },
  {
    "index": 643,
    "text": "ระบบปฏิบัติการ Windows 10/11"
  },
  {
    "index": 644,
    "text": "Flutter และภาษา Dart (สำหรับการพัฒนาแอปพลิเคชันส่วนหน้าของนักท่องเที่ยว)"
  },
  {
    "index": 645,
    "text": "React JS (สำหรับการพัฒนาส่วนของ Web Portal สำหรับบริษัทนำเที่ยว)"
  },
  {
    "index": 646,
    "text": "Node.js (สำหรับการพัฒนาระบบหลังบ้าน Backend)"
  },
  {
    "index": 647,
    "text": "MySQL (สำหรับการออกแบบและจัดการระบบฐานข้อมูล)"
  },
  {
    "index": 648,
    "text": "Visual Studio Code (โปรแกรมสำหรับการเขียนและแก้ไขรหัสคำสั่ง)"
  },
  {
    "index": 649,
    "text": "Canva และ Figma (เครื่องมือสำหรับออกแบบส่วนติดต่อผู้ใช้งานหรือ GUI)"
  },
  {
    "index": 650,
    "text": "Google Gemini API (ระบบปัญญาประดิษฐ์ Generative AI ที่ใช้ในการวิเคราะห์และจัดกลุ่มอัตโนมัติ)"
  },
  {
    "index": 651,
    "text": "3.4 การทดสอบระบบ "
  },
  {
    "index": 652,
    "text": "การทดสอบระบบด้วยเทคนิค Black Box Testing (การทดสอบแบบกล่องดำ) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้วัดฟังก์ชันของการทำงานของระบบโดยไม่ต้องรู้โครงสร้างภายในของซอฟต์แวร์ หรือไม่ต้องดูรหัสโปรแกรม (Source Code) สามารถนำไปใช้ได้โดยมองระบบที่เกี่ยวข้องเป็นกล่องดำ (Black Box) โดยเป้าหมายของการทดสอบแบบ Black Box คือการวัดว่าระบบสามารถให้ผลลัพธ์ตามที่ผู้ใช้งานต้องการได้หรือไม่"
  },
  {
    "index": 653,
    "text": "การออกแบบการทดสอบแบบ Black Box เป็นเทคนิคที่สามารถนำไปใช้ทดสอบเพื่อให้ครอบคลุมความต้องการของระบบ โดยมีข้อดีและข้อเสียดังนี้"
  },
  {
    "index": 654,
    "text": "ข้อดีของการทดสอบแบบ Black Box Testing"
  },
  {
    "index": 655,
    "text": "ไม่จำเป็นต้องมีความรู้เรื่องโครงสร้างรหัสคำสั่ง (Source Code) ก็สามารถทำการทดสอบได้"
  },
  {
    "index": 656,
    "text": "สามารถทดสอบการทำงานจากมุมมองของผู้ใช้งานจริง (User's Perspective) ทำให้ค้นพบข้อผิดพลาดด้านการใช้งานได้ง่าย"
  },
  {
    "index": 657,
    "text": "สามารถเริ่มต้นการสร้างสถานการณ์จำลองเพื่อทดสอบ (Test Cases) ได้ทันทีเมื่อทราบความต้องการของระบบ (Requirements)"
  },
  {
    "index": 658,
    "text": "เหมาะสำหรับการทดสอบฟังก์ชันที่รับข้อมูลจากผู้ใช้งาน เช่น การกรอกข้อมูลจัดกลุ่ม หรือการเสนอราคา"
  },
  {
    "index": 659,
    "text": "ข้อเสียของการทดสอบแบบ Black Box Testing"
  },
  {
    "index": 660,
    "text": "เนื่องจากไม่ทราบโครงสร้างภายในระบบ จึงยากต่อการค้นหาตำแหน่งที่แน่นอนของข้อผิดพลาดที่เกิดขึ้นในรหัสคำสั่ง"
  },
  {
    "index": 661,
    "text": "ไม่สามารถทดสอบรหัสคำสั่งที่มีความซับซ้อนเชิงลึก หรือตรวจสอบทุกๆ กรณีการทำงานที่เป็นไปได้ทั้งหมด"
  },
  {
    "index": 662,
    "text": "อาจมีบางฟังก์ชันหรือบางเงื่อนไขในระบบที่ซ่อนอยู่และยังไม่ได้รับการทดสอบอย่างครอบคลุม"
  },
  {
    "index": 672,
    "text": "บทที่ 4\nผลการทดสอบ"
  },
  {
    "index": 673,
    "text": "\tผลการดำเนินโครงงานในบทนี้แสดงผลการพัฒนาฐานข้อมูล และผลการทดสอบระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติด้วยเทคนิคการทดสอบแบบกล่องดำในฟังก์ชันต่าง ๆ ของระบบ โดยการทดสอบจะพิจารณาข้อมูลนำเข้า ผลลัพธ์ที่คาดว่าจะได้รับ ผลลัพธ์ที่ได้รับจากระบบ และประเมินผลการทดสอบว่าระบบสามารถทำงานได้ตรงตามความต้องการที่กำหนดไว้หรือไม่"
  },
  {
    "index": 674,
    "text": "4.1 ผลการพัฒนาฐานข้อมูล"
  },
  {
    "index": 675,
    "text": "จากการออกแบบฐานข้อมูลในหัวข้อ 3.2.2 เมื่อนำมาพัฒนาเป็นฐานข้อมูลด้วย MySQL สามารถแสดงแผนภาพอีอาร์ของฐานข้อมูลทางกายภาพได้ดังภาพประกอบที่ 4.1ฐานข้อมูลของระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติประกอบด้วย 7 เอนทิตี ได้แก่ นักท่องเที่ยว (User) ข้อมูลความต้องการท่องเที่ยว (Preferences) กลุ่มทัวร์ (Tour Group) บริษัทนำเที่ยว (Agency) แพ็กเกจทัวร์ (Package Tour) การเสนอราคา (Bidding) และการชำระเงิน (Payment) โดยข้อมูลแต่ละส่วนมีความสัมพันธ์กันเพื่อรองรับการบันทึกความต้องการของนักท่องเที่ยว การจัดกลุ่ม การเสนอราคา การลงคะแนน และการชำระเงินภายในระบบ"
  },
  {
    "index": 678,
    "text": "ภาพประกอบที่ 4.1 แผนภาพER ฐานข้อมูลทางกายภาพของระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ"
  },
  {
    "index": 683,
    "text": "4.2 ผลการทดสอบระบบด้วยเทคนิคกล่องดำ"
  },
  {
    "index": 684,
    "text": "การทดสอบระบบด้วยเทคนิคกล่องดำ หรือ Black Box Testing เป็นการทดสอบการทำงานของระบบโดยพิจารณาจากข้อมูลที่ป้อนเข้าสู่ระบบและผลลัพธ์ที่ระบบแสดงออกมา โดยไม่พิจารณารหัสคำสั่งหรือโครงสร้างการทำงานภายในระบบ การทดสอบมีเป้าหมายเพื่อตรวจสอบว่าฟังก์ชันต่าง ๆ สามารถทำงานได้ตรงตามความต้องการที่กำหนดไว้หรือไม่ ซึ่งในเอกสารของโครงงานได้กำหนดให้ใช้เทคนิค Black Box Testing สำหรับการทดสอบระบบ "
  },
  {
    "index": 685,
    "text": "4.2.1 ผลการทดสอบหน้าเริ่มต้นแอปพลิเคชัน"
  },
  {
    "index": 687,
    "text": "ภาพประกอบที่ 4.2 หน้าเริ่มต้นแอปพลิเคชัน"
  },
  {
    "index": 688,
    "text": "ตารางที่ 4.1 หน้าเริ่มต้นแอปพลิเคชั่น"
  },
  {
    "index": 690,
    "text": "4.2.2 ผลการทดสอบหน้าล็อกอิน"
  },
  {
    "index": 692,
    "text": "ภาพประกอบที่ 4.3 หน้าล็อกอิน"
  },
  {
    "index": 693,
    "text": "ตารางที่ 4.2 หน้าล็อกอิน"
  },
  {
    "index": 695,
    "text": "4.2.2.1 ผลการทดสอบหน้าเข้าร่วมกลุ่ม"
  },
  {
    "index": 697,
    "text": "ภาพประกอบที่ 4.4 หน้าเข้าร่วมกลุ่ม"
  },
  {
    "index": 705,
    "text": "4.2.3 ผลการทดสอบหน้าข้อควมในกลุ่ม"
  },
  {
    "index": 707,
    "text": "ภาพประกอบที่ 4.5 หน้าข้อความในกลุ่ม"
  },
  {
    "index": 708,
    "text": "ตารางที่ 4.3 หน้าข้อความในกลุ่ม"
  },
  {
    "index": 711,
    "text": "4.2.4 ผลการทดสอบหน้าการให้คะแนนหลังจบทริป"
  },
  {
    "index": 713,
    "text": "ภาพประกอบที่ 4.6 หน้าการให้คะแนนทริป"
  },
  {
    "index": 714,
    "text": "ตารางที่ 4.4 หน้าการให้คะแนนหลังจบทริป"
  },
  {
    "index": 718,
    "text": "บทที่ 5 \nสรุป อภิปรายผล และข้อเสนอแนะ"
  },
  {
    "index": 719,
    "text": "การออกแบบและพัฒนาระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติได้ดำเนินการตามขั้นตอนและขอบเขตที่กำหนดไว้ โดยในบทนี้จะนำเสนอการสรุปผลการดำเนินงาน อภิปรายผลที่ได้จากการพัฒนาระบบ รวมทั้งข้อเสนอแนะสำหรับนำไปพัฒนาและต่อยอดระบบให้มีประสิทธิภาพมากยิ่งขึ้นในอนาคต โดยมีรายละเอียดดังต่อไปนี้"
  },
  {
    "index": 720,
    "text": "5.1 สรุป"
  },
  {
    "index": 721,
    "text": "การพัฒนาระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติ เป็นระบบที่ช่วยรวบรวมความต้องการของนักท่องเที่ยวและค้นหาเพื่อนร่วมเดินทางที่มีความสนใจใกล้เคียงกันโดยประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์ในการวิเคราะห์ข้อมูล เช่น สถานที่ท่องเที่ยว งบประมาณ ช่วงเวลา และรูปแบบการเดินทาง เพื่อนำไปใช้ในการแนะนำและจัดกลุ่มผู้ใช้งานโดยอัตโนมัติระบบได้รับการพัฒนาเป็นแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ด้วย Flutter และใช้ฐานข้อมูล MySQL สำหรับจัดเก็บข้อมูลนักท่องเที่ยว ความต้องการท่องเที่ยว กลุ่มทัวร์ บริษัทนำเที่ยว แพ็กเกจทัวร์ การเสนอราคา และการชำระเงิน ซึ่งข้อมูลแต่ละส่วนมีความสัมพันธ์กันเพื่อรองรับกระบวนการทำงานของระบบอย่างต่อเนื่องระบบสามารถรองรับการค้นหาและเข้าร่วมกลุ่ม การสนทนาภายในกลุ่ม การดูและลงคะแนนเลือกข้อเสนอจากบริษัทนำเที่ยว การชำระเงิน และการให้คะแนนภายหลังสิ้นสุดการเดินทาง โดยการทดสอบระบบใช้เทคนิค Black Box Testing ผลการทดสอบพบว่าฟังก์ชันหลักสามารถทำงานได้ตามผลลัพธ์ที่กำหนด ผู้ใช้งานสามารถค้นหากลุ่ม เข้าสู่ระบบ เข้าร่วมกลุ่ม เลือกข้อเสนอ ชำระเงิน และให้คะแนนหลังจบทริปได้สำเร็จ"
  },
  {
    "index": 722,
    "text": "5.2 อภิปรายผล"
  },
  {
    "index": 723,
    "text": "การพัฒนาระบบจัดกลุ่มนักท่องเที่ยวอัตโนมัติช่วยให้กระบวนการค้นหาเพื่อนร่วมเดินทางมีความสะดวกและเป็นระบบมากขึ้น เมื่อเปรียบเทียบกับการประกาศหาเพื่อนร่วมเดินทางผ่านสื่อสังคมออนไลน์ ซึ่งข้อมูลมักกระจัดกระจายและไม่สามารถคัดกรองผู้ใช้งานตามงบประมาณ ช่วงเวลา และความสนใจได้อย่างชัดเจน ระบบที่พัฒนาขึ้นสามารถนำข้อมูลความต้องการของผู้ใช้งานมาประกอบการค้นหาและแนะนำกลุ่มที่มีความเหมาะสมได้"
  },
  {
    "index": 724,
    "text": "การนำระบบเสนอราคาแข่งขัน หรือ E-Bidding มาใช้ ช่วยให้บริษัทนำเที่ยวสามารถยื่นแพ็กเกจและราคาให้กลุ่มนักท่องเที่ยวพิจารณาได้หลายตัวเลือก สมาชิกภายในกลุ่มสามารถลงคะแนนเลือกข้อเสนอที่ตรงกับความต้องการของกลุ่มมากที่สุด ส่งผลให้กระบวนการเลือกบริษัทนำเที่ยวมีความชัดเจนและช่วยให้เกิดการแข่งขันด้านราคาและการบริการนอกจากนี้การออกแบบส่วนติดต่อผู้ใช้งานมีการจัดลำดับขั้นตอนตั้งแต่การค้นหากลุ่ม การเข้าร่วมกลุ่ม การดูข้อเสนอ การชำระเงิน และการให้คะแนน ทำให้ผู้ใช้งานสามารถเข้าใจและใช้งานระบบได้ง่าย อย่างไรก็ตาม การทดสอบในโครงงานนี้ยังเป็นการทดสอบฟังก์ชันหลักในขอบเขตที่กำหนด และยังไม่ได้ทดสอบกับผู้ใช้งานจำนวนมากหรือสภาพแวดล้อมการใช้งานจริงทุกกรณี"
  },
  {
    "index": 725,
    "text": "5.3 ข้อเสนอแนะ"
  },
  {
    "index": 726,
    "text": "ข้อเสนอแนะสำหรับผู้ที่สนใจและต้องการนำระบบไปพัฒนาต่อยอดในอนาคต มีดังต่อไปนี้"
  },
  {
    "index": 727,
    "text": "พัฒนาความแม่นยำของระบบจัดกลุ่มโดยนำข้อมูลพฤติกรรมและความสนใจของผู้ใช้งานมาวิเคราะห์เพิ่มเติม เพื่อให้ระบบสามารถแนะนำกลุ่มที่ตรงกับความต้องการได้มากขึ้น"
  },
  {
    "index": 728,
    "text": "พัฒนาระบบแจ้งเตือนเช่นการแจ้งเตือนเมื่อมีสมาชิกใหม่เข้าร่วมกลุ่มเมื่อบริษัทนำเที่ยวส่งข้อเสนอ เมื่อใกล้สิ้นสุดเวลาลงคะแนน และเมื่อใกล้ถึงวันเดินทาง"
  },
  {
    "index": 729,
    "text": "เพิ่มความสามารถของห้องสนทนา ให้รองรับการส่งรูปภาพ เอกสาร ตำแหน่งที่ตั้ง และการปักหมุดข้อความสำคัญ เพื่อเพิ่มความสะดวกในการสื่อสารภายในกลุ่ม"
  },
  {
    "index": 730,
    "text": "เชื่อมต่อระบบชำระเงินจริงเพื่อให้สามารถตรวจสอบสถานะการชำระเงิน ออกใบเสร็จ และรองรับการคืนเงินในกรณีที่กลุ่มหรือการเดินทางถูกยกเลิก"
  },
  {
    "index": 731,
    "text": "เพิ่มการทดสอบกับผู้ใช้งานจริงรวมถึงทดสอบการใช้งานบนอุปกรณ์หลายรุ่นและทดสอบเมื่อมีผู้ใช้งานพร้อมกันจำนวนมาก เพื่อประเมินความเสถียร ความปลอดภัย และความสะดวกในการใช้งานของระบบ"
  },
  {
    "index": 739,
    "text": "เอกสารอ้างอิง"
  },
  {
    "index": 741,
    "text": "[1] ศูนย์วิจัยกสิกรไทย. (2566). ทิศทางท่องเที่ยวต่างประเทศของคนไทยปี 2566. สืบค้นจาก https://kasikornresearch.com (อ้างอิงเรื่อง: สถิติความนิยมและปัญหาด้านภาษา/การวางแผน)"
  },
  {
    "index": 742,
    "text": "[2] Morrison, A. M. (2019). Marketing and Managing Tourism Destinations (2nd ed.). Routledge. (อ้างอิงเรื่อง: โครงสร้างต้นทุนที่แตกต่างกันระหว่างเที่ยวเอง (FIT) กับทัวร์เหมากลุ่ม)"
  },
  {
    "index": 743,
    "text": "[3] Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. (อ้างอิงเรื่อง: ข้อจำกัดของ Keyword Search)"
  },
  {
    "index": 744,
    "text": "[4] เอกสิทธิ์ พัชรวงศ์ศักดา. (2557). การทำเหมืองข้อมูลเบื้องต้น (Introduction to Data Mining). กรุงเทพฯ: เอเชีย ดิจิตอล. (อ้างอิงเรื่อง: การใช้ AI และอัลกอริทึมในการจัดกลุ่มข้อมูลอัตโนมัติ)"
  },
  {
    "index": 745,
    "text": "[5] Turban, E., & King, D. (2012). Electronic Commerce 2012: Managerial and Social Networks Perspectives. Pearson. (อ้างอิงเรื่อง: กระบวนการเสนอราคาแข่งขัน หรือ Competitive Bidding)"
  },
  {
    "index": 746,
    "text": "[6] สำนักงานพัฒนาธุรกรรมทางอิเล็กทรอนิกส์ (ETDA). (2566). รายงานผลการสำรวจพฤติกรรมผู้ใช้อินเทอร์เน็ตในประเทศไทย ปี 2566. กรุงเทพฯ: ETDA. (อ้างอิงเรื่อง: พฤติกรรมผู้บริโภคที่ต้องการบริการผ่านช่องทางออนไลน์)"
  },
  {
    "index": 757,
    "text": "ภาคผนวก ก \nขั้นตอนกสนติดตั้งระบบ"
  },
  {
    "index": 761,
    "text": "การติดตั้งระบบ"
  },
  {
    "index": 762,
    "text": "ขั้นตอนการเตรียมโปรแกรม เครื่องมือ และสภาพแวดล้อมที่จ าเป็นส าหรับการน าระบบการจัดแนวทักษะของบุคลากรด้านเทคโนโลยีสารสนเทศไปใช้งาน ประกอบด้วยการติดตั้งโปรแกรมที่เกี่ยวข้อง การนำไฟล์ระบบเข้าสู่พื้นที่จัดเก็บ การเตรียมและนำเข้าฐานข้อมูล การตั้งค่าการเชื่อมต่อฐานข้อมูล และการตั้งรหัสผ่านผู้ดูแลระบบ เพื่อให้ระบบสามารถทำงานได้อย่างถูกต้องและพร้อมสำหรับการใช้งาน"
  },
  {
    "index": 763,
    "text": "ระบบนี้พัฒนาด้วยภาษา PHP ทำงานร่วมกับฐานข้อมูล MariaDB/MySQL ผ่านโปรแกรม XAMPP โดยขั้นตอนการติดตั้งประกอบด้วย การติดตั้ง XAMPP การนำไฟล์ระบบไปไว้ในโฟลเดอร์ htdocs การนำเข้าฐานข้อมูลผ่าน phpMyAdmin การตั้งค่าการเชื่อมต่อฐานข้อมูล การตั้งรหัสผ่านผู้ดูแลระบบ จากนั้นจึงเปิดใช้งานระบบผ่าน Web Browser"
  },
  {
    "index": 764,
    "text": "อุปกรณ์และเครื่องมือในการติดตั้งระบบ"
  },
  {
    "index": 765,
    "text": "1.1 ฮาร์แวร์"
  },
  {
    "index": 766,
    "text": "1.1.1 เครื่องคอมพิวเตอร์ที่สามารถเชื่อมต่ออินเทอร์เน็ตได้"
  },
  {
    "index": 767,
    "text": "1.2 ซอฟต์แวร์"
  },
  {
    "index": 768,
    "text": "1.2.1 ระบบปฏิบัติการ Windows 10 หรือ Windows 11 "
  },
  {
    "index": 769,
    "text": "1.2.2 โปรแกรม XAMPP สำหรับจำลอง Web Server (Apache) และจัดการฐานข้อมูลMariaDB/MySQL "
  },
  {
    "index": 770,
    "text": "1.2.3 โปรแกรม Visual Studio Code สำหรับเปิดและแก้ไขไฟล์ของระบบ "
  },
  {
    "index": 771,
    "text": "1.2.4 Web Browser เช่น Google Chrome สำหรับเข้าใช้งานระบบ"
  },
  {
    "index": 772,
    "text": "1.ขั้นตอนการติดตั้งโปรแกรม XAMPP"
  },
  {
    "index": 773,
    "text": "XAMPP เป็นโปรแกรมสำหรับจำลองสภาพแวดล้อมของเว็บเซิร์ฟเวอร์บนเครื่องคอมพิวเตอร์ ประกอบด้วย Apache สำหรับทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ MariaDB สำหรับจัดเก็บฐานข้อมูล และ phpMyAdmin สำหรับจัดการฐานข้อมูลผ่านเว็บเบราว์เซอร์"
  },
  {
    "index": 775,
    "text": "ขั้นตอนที่ 1 ดาวน์โหลดโปรแกรม XAMPP"
  },
  {
    "index": 776,
    "text": "ภาพประกอบที่ ก-1 หน้าดาวน์โหลดโปรแกรม XAMPP"
  },
  {
    "index": 777,
    "text": "เข้าสู่เว็บไซต์ทางการของ Apache Friends แล้วเลือก XAMPP for Windows ที่มี PHP เวอร์ชัน 8 ขึ้นไป จากนั้นดาวน์โหลดไฟล์ติดตั้ง (.exe) ลงในเครื่อง"
  },
  {
    "index": 779,
    "text": "ขั้นตอนที่ 2 เริ่มต้นการติดตั้ง"
  },
  {
    "index": 780,
    "text": "ภาพประกอบที่ ก-2 หน้าต่างเริ่มต้นการติดตั้ง XAMPP"
  },
  {
    "index": 781,
    "text": "เปิดโฟลเดอร์ Downloads แล้วดับเบิลคลิกไฟล์ติดตั้ง XAMPP เพื่อเริ่มการติดตั้ง หากมีหน้าต่างแจ้งเตือนสิทธิ์ให้เลือก Yes เพื่อดำเนินการต่อแล้วกด Next"
  },
  {
    "index": 783,
    "text": "ขั้นตอนที่ 3 เลือกส่วนประกอบที่ต้องการติดตั้ง"
  },
  {
    "index": 784,
    "text": "ภาพประกอบที่ ก-3 หน้าเลือกส่วนประกอบของ XAMPP"
  },
  {
    "index": 785,
    "text": "เลือกส่วนประกอบที่จำเป็นได้แก่ Apache, MySQL, PHP และ phpMyAdmin จากนั้นกด Next"
  },
  {
    "index": 786,
    "text": "ขั้นตอนที่ 4 เลือกตำแหน่งติดตั้งและติดตั้งโปรแกรม"
  },
  {
    "index": 787,
    "text": "ภาพประกอบที่ ก-4 หน้าเลือกตำแหน่งติดตั้ง XAMPP"
  },
  {
    "index": 788,
    "text": "กำหนดตำแหน่งติดตั้งเป็น C:\\xampp ตามค่าเริ่มต้น ซึ่งจะมีโฟลเดอร์ htdocs ส าหรับจัดเก็บไฟล์เว็บไซต์ จากนั้นกด Next ไปจนเริ่มการติดตั้ง และรอจนติดตั้งเสร็จสมบูรณ์"
  },
  {
    "index": 789,
    "text": "ขั้นตอนที่ 5 เปิดการทำงานของ Apache และ MySQL"
  },
  {
    "index": 790,
    "text": "ภาพประกอบที่ ก-5 XAMPP Control Panel เมื่อ Apache และ MySQL ทำงาน"
  },
  {
    "index": 791,
    "text": "เมื่อติดตั้งเสร็จให้เปิด XAMPP Control Panel แล้วกดปุ่ม Start ที่บริการ Apache และ MySQL ให้ขึ้นสถานะทำงาน (พื้นหลังสีเขียว) โดย Apache ใช้พอร์ต 80/443 และ MySQL ใช้พอร์ต 3306"
  },
  {
    "index": 793,
    "text": "2.การนำไฟล์ระบบเข้าสู่โฟลเดอร์"
  },
  {
    "index": 794,
    "text": "ขั้นตอนที่ 1 วางไฟล์ระบบใน htdocs"
  },
  {
    "index": 795,
    "text": "ภาพประกอบที่ ก-6 การวางโฟลเดอร์ระบบไว้ใน C:\\xampp\\htdocs"
  },
  {
    "index": 796,
    "text": "คัดลอกโฟลเดอร์ของระบบ it_platform ไปวางไว้ที่ C:\\xampp\\htdocs โดยภายในโฟลเดอร์จะประกอบด้วยไฟล์หลัก index.html, admin.html, api.php, admin_api.php, db.php และโฟลเดอร์ assets, admin-assets, api"
  },
  {
    "index": 797,
    "text": "ขั้นตอนที่ 2 เปิดโฟลเดอร์ระบบด้วย Visual Studio Code"
  },
  {
    "index": 798,
    "text": "ภาพประกอบที่ ก-7 การเปิดโฟลเดอร์ระบบด้วย Visual Studio Code"
  },
  {
    "index": 799,
    "text": "เปิดโปรแกรม Visual Studio Code แล้วเลือกเมนู File > Open Folder… จากนั้นเลือกโฟลเดอร์หลักของระบบ เพื่อเปิดและตรวจสอบโครงสร้างไฟล์ทั้งหมดของระบบ"
  },
  {
    "index": 800,
    "text": "3.การเตรียมและนำเข้าฐานข้อมูล"
  },
  {
    "index": 801,
    "text": "ระบบใช้ฐานข้อมูลชื่อ project_final โดยนำเข้าไฟล์ SQL ผ่าน phpMyAdmin ตามลำดับ เพื่อสร้างตาราง โครงสร้าง และข้อมูลเริ่มต้นของระบบ"
  },
  {
    "index": 802,
    "text": "ขั้นตอนที่ 1 สร้างฐานข้อมูล project_final"
  },
  {
    "index": 803,
    "text": "ภาพประกอบที่ ก-8 การสร้างฐานข้อมูล project_final"
  },
  {
    "index": 804,
    "text": "เปิดเว็บเบราว์เซอร์แล้วเข้าสู่ http://localhost/phpmyadmin จากนั้นเลือกเมนู New (สร้างฐานข้อมูลใหม่) ตั้งชื่อฐานข้อมูลเป็น project_final แล้วกด Create"
  },
  {
    "index": 805,
    "text": "ขั้นตอนที่่ 2 นำเข้าไฟล์ฐานข้อมูล"
  },
  {
    "index": 806,
    "text": "ภาพประกอบที่ ก-9 หน้านำเข้าไฟล์ฐานข้อมูลใน phpMyAdmin"
  },
  {
    "index": 807,
    "text": "เลือกฐานข้อมูล project_final ทางด้านซ้าย จากนั้นเลือกเมนู Import แล้วกดปุ่มเลือกไฟล์ เพื่อนำเข้าไฟล์ฐานข้อมูลตามลำดับต่อไปนี้โดยนำเข้าทีละไฟล์แล้วกด Go / Import"
  },
  {
    "index": 808,
    "text": "ขั้นตอนที่ 3 ตรวจสอบโครงสร้างฐานข้อมูล"
  },
  {
    "index": 809,
    "text": "ภาพประกอบที่ ก-10 โครงสร้างฐานข้อมูล project_final หลังนำเข้าเสร็จ"
  },
  {
    "index": 810,
    "text": "เมื่อนำเข้าไฟล์ครบทุกไฟล์แล้ว ระบบจะแสดงฐานข้อมูล project_final พร้อมรายการตารางต่าง ๆ เช่น tb_user, tb_company, tb_admin, tb_standard_job, tb_skill, tb_job_skill_req, tb_exam_set, tb_question, tb_exam_result, tb_user_skill, tb_job_posting, tb_job_application และ tb_course"
  },
  {
    "index": 812,
    "text": "4.การเปิดใช้งานระบบ"
  },
  {
    "index": 813,
    "text": "ขั้นตอนที่ 1 เปิดระบบผ่าน Web Browser"
  },
  {
    "index": 814,
    "text": "ภาพประกอบที่ ก-11 หน้าแรกของระบบเมื่อเปิดใช้งานสำเร็จ"
  },
  {
    "index": 815,
    "text": "เปิดเว็บเบราว์เซอร์แล้วเข้าสู่ http://localhost//index.html ส าหรับส่วนของผู้ใช้งานทั่วไปและบริษัท และเข้าสู่ http://localhost//admin.html สำหรับส่วนของผู้ดูแลระบบ เมื่อระบบแสดงหน้าเข้าสู่ระบบได้ แสดงว่าการติดตั้งเสร็จสมบูรณ์และพร้อมใช้งาน"
  },
  {
    "index": 827,
    "text": "ภาคผนวก ข \nคู่มือการใช้งานระบบ"
  }
]