# เอกสารความต้องการระบบ E‑Learning **ชื่อโครงการ:** ระบบการเรียนการสอนออนไลน์ (E-Learning System) **เวอร์ชัน:** 1.1 **วันที่จัดทำ:** 17 ธันวาคม 2568 ## 1. บทนำ เอกสารฉบับนี้จัดทำขึ้นเพื่อกำหนดความต้องการของระบบ E‑Learning พื้นฐาน สำหรับใช้เป็นแนวทางในการออกแบบ พัฒนา และทดสอบระบบ โดยมุ่งเน้นฟังก์ชันหลักที่จำเป็นต่อการเรียนการสอนออนไลน์ ## 2. วัตถุประสงค์ของระบบ - สนับสนุนการเรียนการสอนออนไลน์ผ่านอินเทอร์เน็ต - ให้ผู้เรียนเข้าถึงบทเรียนได้ทุกที่ทุกเวลา - ช่วยผู้สอนบริหารจัดการเนื้อหาและติดตามผลการเรียน - เก็บข้อมูลการเรียนรู้และผลการประเมินอย่างเป็นระบบ ## 3. กลุ่มผู้ใช้งาน (User Roles) 1. **ผู้ดูแลระบบ (Admin):** จัดการระบบโดยรวม เพิ่ม-ลบผู้ใช้งาน 2. **ผู้สอน (Instructor):** สร้างและจัดการหลักสูตร อัปโหลดเนื้อหา สร้างแบบทดสอบ 3. **ผู้เรียน (Learner):** เข้าถึงบทเรียน เรียนเนื้อหา ทำแบบทดสอบ ## 4. ฟังก์ชันหลักของระบบ (Functional Requirements) ### 4.1 ระบบจัดการผู้ใช้งาน (User Management) **FR-001: การลงทะเบียนและเข้าสู่ระบบ** - ผู้ใช้สามารถลงทะเบียนด้วยอีเมลและรหัสผ่าน - เข้าสู่ระบบด้วย username/email และรหัสผ่าน - รองรับการรีเซ็ตรหัสผ่านผ่านอีเมล - จัดการโปรไฟล์ส่วนตัว (แก้ไขข้อมูล อัปโหลดรูปภาพ) **FR-002: การจัดการสิทธิ์การใช้งาน** - กำหนดบทบาทผู้ใช้ (Admin, Instructor, Student) - ควบคุมสิทธิ์การเข้าถึงฟังก์ชันต่างๆ ตามบทบาท ### 4.2 ระบบจัดการหลักสูตร (Course Management) **FR-003: การสร้างและจัดการหลักสูตร** - ผู้สอนสามารถสร้างหลักสูตรใหม่ พร้อมรายละเอียด (ชื่อ คำอธิบาย รูปภาพ) - จัดการหมวดหมู่หลักสูตร - กำหนดวันเริ่มต้น-สิ้นสุดหลักสูตร - เผยแพร่/ซ่อนหลักสูตร **FR-004: การลงทะเบียนเรียน** - ผู้เรียนสามารถค้นหาและดูรายละเอียดหลักสูตร - ลงทะเบียนเข้าเรียนหลักสูตร - ดูรายการหลักสูตรที่ลงทะเบียนไว้ ### 4.3 ระบบจัดการเนื้อหาบทเรียน (Content Management) **FR-005: การสร้างและจัดเรียงเนื้อหา** - แบ่งหลักสูตรเป็นบท (Chapters) และหน่วยการเรียนรู้ (Lessons) - อัปโหลดเนื้อหาหลากหลายรูปแบบ: - **วิดีโอ:** รองรับ MP4, MOV พร้อม Video Player - **เอกสาร PDF:** ดาวน์โหลดและแสดงผลในเบราว์เซอร์ - **ข้อความ:** สร้างเนื้อหาข้อความด้วย Rich Text Editor แบบ WYSIWYG - **เอกสารประกอบ:** อัปโหลดไฟล์ DOCX, PPTX, XLSX - จัดเรียงลำดับเนื้อหา (Drag & Drop) - กำหนดเงื่อนไขการเข้าถึง (ต้องเรียนบทก่อนหน้าก่อน) **FR-006: การเข้าถึงเนื้อหา** - ผู้เรียนสามารถดูเนื้อหาบทเรียนตามลำดับ - ระบบบันทึกความคืบหน้าการเรียน - ดาวน์โหลดเอกสารประกอบ - เล่นวิดีโอด้วย Video Player ที่รองรับการกรอ-ย้อน - อ่านเอกสาร PDF แบบ Inline Viewer - แสดงเนื้อหาข้อความที่จัดรูปแบบแล้ว **FR-007: แบบทดสอบ/Quiz ในหน่วยการเรียนรู้** - ผู้สอนสามารถสร้างแบบทดสอบเป็นหน่วยการเรียนรู้หนึ่งในบทเรียน - ประเภทคำถามที่รองรับ: - **คำถามแบบปรนัย (Multiple Choice):** เลือกตอบ 1 คำตอบจาก 2-5 ตัวเลือก - **คำถามแบบถูก/ผิด (True/False):** เลือกว่าข้อความถูกหรือผิด - กำหนดเวลาทำข้อสอบ (เช่น 30 นาที) - กำหนดคะแนนของแต่ละข้อ - กำหนดเกณฑ์ผ่าน (เช่น 70%) - สุ่มลำดับคำถามและตัวเลือก - กำหนดจำนวนครั้งที่สามารถทำได้ (เช่น ทำได้ 3 ครั้ง) **FR-008: การทำแบบทดสอบ** - ผู้เรียนสามารถทำแบบทดสอบออนไลน์ - แสดงจำนวนข้อและคะแนนรวม - แสดงเวลาที่เหลือขณะทำข้อสอบ (Countdown Timer) - บันทึกคำตอบอัตโนมัติขณะทำ - ส่งข้อสอบและดูผลคะแนนทันที - แสดงเฉลยหลังทำเสร็จ (ถ้าผู้สอนเปิดใช้) - ดูประวัติการทำแบบทดสอบและคะแนนแต่ละครั้ง **FR-009: การตรวจและบันทึกผลคะแนน** - ระบบตรวจและให้คะแนนอัตโนมัติ (ข้อปรนัย, ถูก/ผิด) - บันทึกคะแนนลงระบบทันที - แสดงสถิติการทำแบบทดสอบ (คะแนนสูงสุด, ต่ำสุด, เฉลี่ย) - ผู้สอนสามารถดูรายงานผลการทำแบบทดสอบของผู้เรียนทั้งหมด ### 4.4 ระบบรายงานและการประเมินผล (Reporting & Analytics) **FR-010: รายงานสำหรับผู้เรียน** - แสดงความคืบหน้าการเรียนในแต่ละหลักสูตร (%) - แสดงคะแนนแบบทดสอบทั้งหมด - แสดงบทเรียนที่เรียนแล้ว/ยังไม่ได้เรียน - สรุปผลการเรียนรวม - แสดงใบประกาศนียบัตร (เมื่อจบหลักสูตร) **FR-011: รายงานสำหรับผู้สอน** - ดูรายชื่อผู้เรียนในหลักสูตร - ดูสถิติการเข้าเรียนของผู้เรียนแต่ละคน - ดูคะแนนเฉลี่ยของแบบทดสอบแต่ละชุด - ดูรายงานความคืบหน้าการเรียนของผู้เรียนทั้งหมด - ส่งออกรายงานเป็นไฟล์ Excel/PDF **FR-012: Dashboard ภาพรวม** - แสดงภาพรวมระบบสำหรับ Admin - สถิติจำนวนผู้ใช้ หลักสูตร การใช้งานระบบ - กราฟแสดงจำนวนผู้ลงทะเบียนเรียนรายวัน/รายเดือน - สถิติอัตราการจบหลักสูตร (Completion Rate) ### 4.5 ระบบการประกาศ (Announcements) **FR-013: การโพสต์ประกาศ** - ผู้สอนสามารถโพสต์ประกาศในหลักสูตร - แนบไฟล์เอกสารประกอบประกาศได้ - กำหนดวันที่เผยแพร่ประกาศ - ปักหมุดประกาศสำคัญไว้ด้านบน **FR-014: การดูประกาศ** - ผู้เรียนดูประกาศทั้งหมดในหลักสูตร - ดูประกาศย้อนหลังได้ ## 5. ความต้องการที่ไม่ใช่ฟังก์ชัน (Non‑Functional Requirements) ### 5.1 ประสิทธิภาพ (Performance) - ระบบสามารถรองรับผู้ใช้พร้อมกันอย่างน้อย 500 คน - หน้าเว็บโหลดได้ภายใน 3 วินาที - วิดีโอสตรีมมิ่งได้ราบรื่นไม่สะดุด ### 5.2 ความปลอดภัย (Security) - มีความปลอดภัยของข้อมูลผู้ใช้งาน - ใช้ HTTPS สำหรับการสื่อสารข้อมูล - มีระบบ Session Timeout (30 นาที) - ป้องกัน SQL Injection, XSS, CSRF - จำกัด File Upload (ขนาดไม่เกิน 10MB ต่อไฟล์) ### 5.3 ความพร้อมใช้งาน (Usability) - ออกแบบ UI/UX ที่ใช้งานง่าย เข้าใจง่าย - รองรับการใช้งานบน Desktop, Tablet, และ Mobile (Responsive Design) - รองรับภาษาไทยและภาษาอังกฤษ - มีคู่มือการใช้งานสำหรับผู้เรียนและผู้สอน ### 5.4 ความเข้ากันได้ (Compatibility) - รองรับเบราว์เซอร์ Chrome, Firefox, Safari, Edge (เวอร์ชันล่าสุด) - รองรับไฟล์วิดีโอ: MP4, MOV, WebM - รองรับไฟล์เอกสาร: PDF, DOCX, PPTX, XLSX - รองรับรูปภาพ: JPG, PNG, WebP, SVG ### 5.5 การบำรุงรักษา (Maintainability) - โค้ดเป็นระเบียบ มี Comment อธิบาย - ใช้ Version Control (Git) - มี Unit Tests สำหรับฟังก์ชันสำคัญ