diff --git a/docs/elearning_requirements.md b/docs/elearning_requirements.md new file mode 100644 index 00000000..61b5ed48 --- /dev/null +++ b/docs/elearning_requirements.md @@ -0,0 +1,156 @@ +# เอกสารความต้องการระบบ 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 สำหรับฟังก์ชันสำคัญ \ No newline at end of file diff --git a/docs/เอกสารความต้องการระบบ_e_learning_system_requirements.md b/docs/เอกสารความต้องการระบบ_e_learning_system_requirements.md deleted file mode 100644 index 3f5567d0..00000000 --- a/docs/เอกสารความต้องการระบบ_e_learning_system_requirements.md +++ /dev/null @@ -1,71 +0,0 @@ -# เอกสารความต้องการระบบ E‑Learning (พื้นฐาน) - -## 1. บทนำ -เอกสารฉบับนี้จัดทำขึ้นเพื่อกำหนดความต้องการของระบบ E‑Learning พื้นฐาน สำหรับใช้เป็นแนวทางในการออกแบบ พัฒนา และทดสอบระบบ โดยมุ่งเน้นฟังก์ชันหลักที่จำเป็นต่อการเรียนการสอนออนไลน์ - -## 2. วัตถุประสงค์ของระบบ -- สนับสนุนการเรียนการสอนออนไลน์ผ่านอินเทอร์เน็ต -- ให้ผู้เรียนเข้าถึงบทเรียนได้ทุกที่ทุกเวลา -- ช่วยผู้สอนบริหารจัดการเนื้อหาและติดตามผลการเรียน -- เก็บข้อมูลการเรียนรู้และผลการประเมินอย่างเป็นระบบ - -## 3. กลุ่มผู้ใช้งาน (User Roles) -1. ผู้ดูแลระบบ (Admin) -2. ผู้สอน (Instructor / Teacher) -3. ผู้เรียน (Student / Learner) - -## 4. ฟังก์ชันหลักของระบบ (Functional Requirements) - -### 4.1 การจัดการผู้ใช้งาน (User Management) -- สมัครสมาชิก / เพิ่มผู้ใช้งาน -- เข้าสู่ระบบ (Login) / ออกจากระบบ (Logout) -- กำหนดบทบาทผู้ใช้งาน (Admin, Instructor, Student) -- แก้ไขข้อมูลส่วนตัวผู้ใช้งาน -- รีเซ็ตรหัสผ่าน / ลืมรหัสผ่าน - -### 4.2 การจัดการรายวิชา (Course Management) -- สร้าง / แก้ไข / ลบรายวิชา -- กำหนดรายละเอียดรายวิชา (ชื่อ, คำอธิบาย, ระยะเวลา) -- เปิด–ปิดการลงทะเบียนเรียน -- กำหนดผู้สอนประจำรายวิชา - -### 4.3 การจัดการเนื้อหาบทเรียน (Learning Content Management) -- เพิ่มบทเรียนในรูปแบบ: - - วิดีโอ - - เอกสาร (PDF, PPT) - - ข้อความ / บทความ -- จัดลำดับบทเรียน -- กำหนดการเข้าถึงเนื้อหา (เรียนตามลำดับ / เรียนอิสระ) - -### 4.4 การเรียนและติดตามความคืบหน้า (Learning & Progress Tracking) -- ผู้เรียนสามารถเข้าเรียนตามบทเรียนที่กำหนด -- บันทึกความคืบหน้าการเรียน (Progress) -- แสดงสถานะบทเรียน (ยังไม่เรียน / กำลังเรียน / เรียนจบแล้ว) - -### 4.5 แบบทดสอบและการประเมินผล (Assessment & Quiz) -- สร้างแบบทดสอบ (Quiz / Exam) -- รองรับคำถามแบบ: - - ปรนัย (Multiple Choice) - - ถูก / ผิด - - อัตนัย (พื้นฐาน) -- กำหนดคะแนนและเกณฑ์ผ่าน -- ตรวจคำตอบและแสดงผลคะแนน - -### 4.6 รายงานผลและสถิติ (Reports & Analytics) -- รายงานผลการเรียนรายบุคคล -- รายงานคะแนนแบบทดสอบ -- รายงานความคืบหน้าของผู้เรียนในแต่ละรายวิชา - -## 5. ความต้องการที่ไม่ใช่ฟังก์ชัน (Non‑Functional Requirements) -- ระบบใช้งานผ่าน Web Browser (Responsive รองรับมือถือ) -- รองรับผู้ใช้งานหลายคนพร้อมกัน -- มีความปลอดภัยของข้อมูลผู้ใช้งาน -- ระบบใช้งานง่าย (User Friendly) -- รองรับภาษาไทย (และสามารถขยายเป็นหลายภาษาได้) - -## 6. ขอบเขตของระบบ (System Scope) -- เป็นระบบ E‑Learning ระดับพื้นฐาน - ---- -เอกสารฉบับนี้สามารถใช้เป็น System Requirement Document (SRD) หรือ Software Requirement Specification (SRS) ระดับเริ่มต้นได้ -