elearning/docs/elearning_requirements.md

12 KiB
Raw Blame History

เอกสารความต้องการระบบ ELearning

ชื่อโครงการ: ระบบการเรียนการสอนออนไลน์ (E-Learning System)
เวอร์ชัน: 1.1
วันที่จัดทำ: 17 ธันวาคม 2568

1. บทนำ

เอกสารฉบับนี้จัดทำขึ้นเพื่อกำหนดความต้องการของระบบ ELearning พื้นฐาน สำหรับใช้เป็นแนวทางในการออกแบบ พัฒนา และทดสอบระบบ โดยมุ่งเน้นฟังก์ชันหลักที่จำเป็นต่อการเรียนการสอนออนไลน์

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. ความต้องการที่ไม่ใช่ฟังก์ชัน (NonFunctional 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 สำหรับฟังก์ชันสำคัญ