12 KiB
12 KiB
เอกสารความต้องการระบบ E‑Learning
ชื่อโครงการ: ระบบการเรียนการสอนออนไลน์ (E-Learning System)
เวอร์ชัน: 1.1
วันที่จัดทำ: 17 ธันวาคม 2568
1. บทนำ
เอกสารฉบับนี้จัดทำขึ้นเพื่อกำหนดความต้องการของระบบ E‑Learning พื้นฐาน สำหรับใช้เป็นแนวทางในการออกแบบ พัฒนา และทดสอบระบบ โดยมุ่งเน้นฟังก์ชันหลักที่จำเป็นต่อการเรียนการสอนออนไลน์
2. วัตถุประสงค์ของระบบ
- สนับสนุนการเรียนการสอนออนไลน์ผ่านอินเทอร์เน็ต
- ให้ผู้เรียนเข้าถึงบทเรียนได้ทุกที่ทุกเวลา
- ช่วยผู้สอนบริหารจัดการเนื้อหาและติดตามผลการเรียน
- เก็บข้อมูลการเรียนรู้และผลการประเมินอย่างเป็นระบบ
3. กลุ่มผู้ใช้งาน (User Roles)
- ผู้ดูแลระบบ (Admin): จัดการระบบโดยรวม เพิ่ม-ลบผู้ใช้งาน
- ผู้สอน (Instructor): สร้างและจัดการหลักสูตร อัปโหลดเนื้อหา สร้างแบบทดสอบ
- ผู้เรียน (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 สำหรับฟังก์ชันสำคัญ