Tuy nhiên, việc quản lý học viên, giáo viên, lịch học và các khóa học hiệu quả là một thách thức chung mà các trung tâm phải đối mặt.. Hệ thống được thiết kế hoàn chỉnh với đầy đủ chức n
GIỚI THIỆU
Đặt vấn đề
Trong bối cảnh chuyển đổi số, quản lý trung tâm ngoại ngữ đang trở thành ưu tiên hàng đầu của nhiều tổ chức giáo dục Sự tiện lợi của quản lý trực tuyến đã tạo ra nhu cầu cao từ học viên và phụ huynh Tuy nhiên, nhiều trung tâm ngoại ngữ vẫn gặp khó khăn trong việc thích ứng và khai thác tối đa tiềm năng của môi trường trực tuyến.
Nhu cầu học ngoại ngữ ngày càng tăng, nhưng nhiều trung tâm ngoại ngữ vẫn sử dụng phương pháp quản lý truyền thống, thiếu đầu tư vào hệ thống quản lý trực tuyến chất lượng Điều này không chỉ làm giảm tính cạnh tranh mà còn ảnh hưởng đến khả năng thu hút và giữ chân học viên trong thời đại số.
Các trung tâm ngoại ngữ hiện nay đang phải đối mặt với thách thức lớn từ sự cạnh tranh khốc liệt của các đối thủ trực tuyến, cùng với khó khăn trong việc giữ chân học viên Thêm vào đó, việc thiếu một nền tảng trực tuyến mạnh mẽ có thể ảnh hưởng đến hiệu suất hoạt động và tiềm ẩn nguy cơ mất mát học viên.
Các trung tâm ngoại ngữ có cơ hội nâng cao chất lượng dịch vụ bằng cách xây dựng hệ thống quản lý trực tuyến hiện đại Sự linh hoạt của không gian trực tuyến cho phép họ tương tác sâu sắc với học viên và phát triển mối quan hệ lâu dài.
Đề tài này không chỉ nêu lên những thách thức và cơ hội trong quản lý trung tâm ngoại ngữ mà còn đưa ra giải pháp cụ thể để nâng cao hiệu suất trung tâm Việc xây dựng một hệ thống quản lý chất lượng và hiệu quả sẽ giúp nâng cao sức cạnh tranh, đồng thời góp phần vào sự phát triển của giáo dục trực tuyến và cải thiện trải nghiệm quản lý trung tâm ngoại ngữ trên quy mô rộng lớn.
Những nghiên cứu liên quan
Trong bối cảnh phát triển hiện nay, việc học ngoại ngữ trở nên thiết yếu hơn bao giờ hết Theo thống kê từ Duolingo, ứng dụng học ngoại ngữ phổ biến trong giới trẻ, số người Việt học ngoại ngữ trên nền tảng này đã tăng gấp đôi, với thời gian sử dụng trung bình là 17 phút mỗi ngày Sự gia tăng nhu cầu học ngoại ngữ đồng nghĩa với việc quản lý các trung tâm ngoại ngữ trở nên phức tạp hơn.
Easy Edu là một trong những phần mềm quản lý trung tâm ngoại ngữ nổi tiếng, được nhiều người dùng ưa chuộng hiện nay Phần mềm này cung cấp đầy đủ các tính năng cơ bản cho việc quản lý trung tâm tiếng Anh, với khả năng tự động hóa cao Easy Edu giúp thống kê lịch học, sinh nhật học viên và báo cáo bảng điểm, từ đó theo dõi tình trạng phát triển của học viên Ngoài ra, phần mềm còn cung cấp báo cáo chuyên cần để theo dõi sự hiện diện của học viên trong lớp học.
Faceworks là phần mềm quản lý nhân viên với giao diện đẹp mắt và dễ sử dụng, giúp người dùng theo dõi và đánh giá hiệu quả công tác quản lý Ngoài ra, phần mềm còn hỗ trợ quản lý thông tin học viên một cách chính xác.
Mona eLMS là một nền tảng quản lý giáo dục được đầu tư kỹ lưỡng, đặc biệt trong lĩnh vực trung tâm ngoại ngữ và dạy học trực tuyến Phần mềm nổi bật với khả năng kết nối Elearning, hỗ trợ hơn 100 cá nhân và trung tâm bán khóa học trực tuyến, cùng với việc quản lý và thống kê lịch học, sinh nhật học viên, và bảng điểm để theo dõi sự phát triển của học viên.
Mục tiêu đề tài
Xây dựng website quản lý trung tâm ngoại ngữ giúp tối ưu hóa quy trình quản lý, nâng cao hiệu quả và tính chuyên nghiệp trong hoạt động của trung tâm Việc ứng dụng công nghệ thông tin vào quản lý không chỉ tự động hóa các quy trình thủ công mà còn tiết kiệm thời gian và nguồn nhân lực.
Những trọng tâm cần giải quyết:
Người quản trị là người dùng có quyền hạn cao nhất trong hệ thống, cho phép họ thực hiện tất cả các chức năng cần thiết Những chức năng này bao gồm việc quản lý, cấu hình và bảo trì hệ thống một cách hiệu quả.
Quản lý các thông tin như: học viên, giáo viên, khóa học, lớp học, đơn đăng ký lớp học
Tạo ra hệ thống quản lý tài khoản để người quản trị có thể dễ dàng kiểm soát và thực thi quyền lực trên hệ thống
Nhóm người dùng quan trọng của hệ thống, với các chức năng chính: đăng ký và tham gia các khóa học theo nhu cầu cá nhân
Cung cấp thông tin chi tiết về tiến độ học tập và kết quả đánh giá giúp học viên theo dõi và đánh giá hiệu suất học tập một cách hiệu quả.
Xây dựng một hệ thống quản lý lịch trực tuyến cho giáo viên để họ có thể dễ dàng quản lý và cập nhật lịch giảng dạy
Cung cấp công cụ để giáo viên có thể tạo, quản lý và chia sẻ tài liệu giảng dạy một cách thuận tiện và hiệu quả.
Đối tượng và phạm vi nghiên cứu
Nghiên cứu sẽ áp dụng phương pháp tổng hợp, kết hợp giữa nghiên cứu thư mục và thực nghiệm để phân tích nhu cầu thị trường và đối thủ Việc này giúp xác định các đặc điểm cần thiết cho website Thử nghiệm người dùng và thu thập phản hồi sẽ là yếu tố quan trọng đảm bảo hiệu quả và sự hài lòng của người dùng.
Nghiên cứu, tìm hiểu về các hệ thống quản lý trong lĩnh vực quản lý
- Tìm hiểu, nghiên cứu để xây dựng trang quản trị
- Tìm hiểu, học hỏi để xây dựng website dành cho học viên, giáo viên
- Tìm hiểu Dialogflow để tích hợp chatbot trong việc tư vấn khóa học.
Phương pháp nghiên cứu
Nghiên cứu thiết kế cấu trúc dữ liệu và hệ thống quản lý nhằm đáp ứng nhu cầu thực tế với tính ứng dụng cao Hệ thống cần đảm bảo khả năng bảo trì, mở rộng và nâng cấp dữ liệu một cách hiệu quả.
+ Nghiên cứu và sử dụng một số công nghệ đang phổ biến giao diện người dùng như: Bootstrap 4.0, JQuery
+ Nghiên cứu và xây dựng phần backend của hệ thống với với framework của NodeJS là ExpressJS
+ Sử dụng MongoDB để quản lý cơ sở dữ liệu
+ Nghiên cứu và tích hợp Dialogflow cho việc tìm kiếm thông tin trong hệ thống.
Nội dung nghiên cứu
Khảo sát và nghiên cứu mô hình phát triển website cho trung tâm ngoại ngữ nhằm tạo ra môi trường quản lý và học tập hiệu quả Đồng thời, nghiên cứu quy trình hoạt động để xây dựng cơ sở dữ liệu và thiết kế bố cục trang web.
Tìm hiểu và áp dụng công nghệ VueJS và Bootstrap 4.0 giúp thiết kế giao diện người dùng thân thiện và dễ sử dụng Nghiên cứu NodeJS để xây dựng hệ thống backend cung cấp dịch vụ xử lý nhanh chóng và đồng bộ, tạo điều kiện quản lý hệ thống thuận tiện Điều này gia tăng tính linh hoạt, bảo trì, mở rộng và phát triển của website Ngoài ra, cần nắm vững quy trình hoạt động của website để xây dựng cơ sở dữ liệu và bố cục trang web hiệu quả.
Bố cục của quyển luận văn
Luận văn có 3 phần chính:
+ Đặt vấn đề + Những nghiên cứu liên quan + Mục tiêu đề tài
+ Đối tượng và phạm vi nghiên cứu + Phương pháp nghiên cứu
+ Nội dung nghiên cứu + Bố cục của quyển luận văn
+ Chương 1: Đặc tả yêu cầu + Chương 2: Thiết kế giải pháp + Chương 3: Đánh giá kiểm thử
+ Kết quả đạt được + Hạn chế
NỘI DUNG
Người quản trị có các chức năng:
Thống kê số lượng học viên đăng ký
Thống kê đánh giá khóa học
Thống kê đánh giá chất lượng học tập
Quản lý tài khoản học viên
Xem danh sách học viên
Xem chi tiết tình hình học tập của học viên
Quản lý tài khoản giáo viên
Xem danh sách giáo viên
Xem chi tiết tình hình giảng dạy của giáo viên
Quản lý thông giảng dạy
Quản lý đơn đăng ký khóa học
Cập nhật trạng thái đơn đăng ký
Quản lý chương trình ưu đãi
Thêm chương trình ưu đãi
Sửa chương trình ưu đãi
Xóa chương trình ưu đãi
Quản lý cơ sở vật chất
Học viên có các chức năng:
Đăng ký tài khoản, đăng nhập
Tìm kiếm theo lịch học
ĐẶC TẢ YÊU CẦU
Mô tả bài toán
Người quản trị có các chức năng:
Thống kê số lượng học viên đăng ký
Thống kê đánh giá khóa học
Thống kê đánh giá chất lượng học tập
Quản lý tài khoản học viên
Xem danh sách học viên
Xem chi tiết tình hình học tập của học viên
Quản lý tài khoản giáo viên
Xem danh sách giáo viên
Xem chi tiết tình hình giảng dạy của giáo viên
Quản lý thông giảng dạy
Quản lý đơn đăng ký khóa học
Cập nhật trạng thái đơn đăng ký
Quản lý chương trình ưu đãi
Thêm chương trình ưu đãi
Sửa chương trình ưu đãi
Xóa chương trình ưu đãi
Quản lý cơ sở vật chất
Học viên có các chức năng:
Đăng ký tài khoản, đăng nhập
Tìm kiếm theo lịch học
Tìm kiếm theo ngôn ngữ
Tìm kiếm theo trình độ
Quản lý thông tin cá nhân
Cập nhật thông tin cá nhân
Theo dõi tình hình học tập
Xem chi tiết khóa học
Xem các lớp học đã đăng ký
Xem các tài liệu học tập
Làm bài tập được giao
Nhắn tín với thành viên trong lớp
Giáo viên có các chức năng:
Quản lý thông tin cá nhân
Cập nhật thông tin cá nhân
Quản lý lớp học đang giảng dạy
Xem thông tin học viên
Nhận xét và đánh giá học viên
Quản lý bài tập và chấm điểm
Quản lý tài liệu học tập
Thêm tài liệu học tập
Sửa tài liệu học tập
Xóa tài liệu học tập
Trò chuyện với học viên trong lớp
Website hoạt động tốt trên các trình duyệt phổ biến như Google Chrome, Microsoft Edge và Cốc Cốc
Yêu cầu kết nối Internet ổn định
Các ràng buộc và thực thi về thiết kế
Hệ thống đáp ứng khả năng an toàn, bảo mật thông tin
Việc thanh toán được bảo mật
Cho phép ngăn chặn và từ chối một số truy cập không hợp lệ
Giao diện thân thiện với người dùng, thao tác dễ thực hiện
Công cụ vận hành: Google Chrome
Công cụ hỗ trợ quản lý mã nguồn: Git/GitHub
Công cụ hỗ trợ lập trình: Visual code
THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP
Cơ sở lý thuyết
Hình 1 Sơ đồ tổng quan về hệ thống
Hệ thống được thiết kế dựa gồm 2 phần chính: Frontend phía Client sử dụng framework VueJS và Backend phía Server sử dụng NodeJS
Phần frontend của ứng dụng được phát triển bằng Vue.js, kết hợp với Bootstrap để tạo giao diện và xử lý logic phía client Các thành phần và dịch vụ được thiết kế sẽ được truy xuất thông qua các Components.
Phần backend của ứng dụng sử dụng Node.js để quản lý việc tạo, cập nhật và truy xuất thông tin từ phía client thông qua RESTful API Server tiếp nhận yêu cầu từ client qua giao thức HTTP, xử lý các yêu cầu này và trả về phản hồi dưới dạng XML hoặc JSON Giao thức HTTP hỗ trợ các phương thức như POST, PUT, GET, PATCH và DELETE để thực hiện các thao tác tương ứng.
Cả frontend và backend được kết nối với nhau qua giao thức HTTP, tạo ra một hệ thống hoạt động linh hoạt và dễ mở rộng.
Các nền tảng Server
Node.js là một môi trường mã nguồn mở và đa nền tảng, được xây dựng trên Chrome's V8 JavaScript engine, cho phép lập trình viên viết mã JavaScript phía server Điều này giúp phát triển ứng dụng web có hiệu suất cao và dễ bảo trì Express.js, một framework phổ biến của Node.js, cung cấp các công cụ và tính năng linh hoạt để xây dựng ứng dụng web nhanh chóng Nó hỗ trợ quản lý yêu cầu HTTP, xử lý định tuyến và tạo API một cách dễ dàng.
MongoDB là một hệ thống quản lý cơ sở dữ liệu NoSQL nổi bật, sử dụng mô hình tài liệu thay vì mô hình bảng quan hệ Hệ thống này mang lại tính linh hoạt và khả năng mở rộng, cho phép lưu trữ dữ liệu dưới dạng tài liệu JSON có cấu trúc MongoDB đặc biệt phù hợp cho việc lưu trữ dữ liệu phi cấu trúc và cho các ứng dụng yêu cầu sự thay đổi dữ liệu linh hoạt và phức tạp.
Các nền tảng phía Client
HTML (Ngôn ngữ Đánh dấu Siêu văn bản) là công cụ chính để xây dựng cấu trúc và nội dung trang web Nó bao gồm nhiều elements giúp tổ chức và định dạng nội dung, cho phép tạo ra các liên kết, thay đổi kiểu chữ, kích thước và nhiều hiệu ứng khác.
CSS (Cascading Style Sheets) là ngôn ngữ dùng để định dạng và tìm kiếm các phần tử do ngôn ngữ đánh dấu tạo ra Nói một cách đơn giản, CSS giúp tạo phong cách cho trang web, bổ sung các yếu tố như bố cục, màu sắc, font chữ và cấu trúc cho các phần tử HTML như đoạn văn, tiêu đề, và bảng.
Bootstrap là một thư viện HTML, CSS và JavaScript giúp đơn giản hóa việc phát triển các trang web thông tin Mục đích chính của Bootstrap là áp dụng các lựa chọn về màu sắc, kích thước, phông chữ và bố cục cho dự án web Người phát triển có thể chọn những định dạng sẵn có phù hợp với nhu cầu của họ Sau khi tích hợp, Bootstrap cung cấp các định nghĩa kiểu cơ bản cho tất cả các phần tử HTML, tạo ra giao diện đồng nhất cho văn xuôi, bảng và các phần tử biểu mẫu trên các trình duyệt Người dùng cũng có thể sử dụng các lớp CSS của Bootstrap để tùy chỉnh thêm hình thức nội dung.
Bootstrap cung cấp nhiều thành phần JavaScript dưới dạng plugin jQuery, bao gồm hộp thoại, chú thích (tooltips) và băng chuyền (carousels) Mỗi thành phần này đi kèm với cấu trúc HTML, khai báo CSS và đôi khi có mã JavaScript, giúp mở rộng chức năng cho các phần tử giao diện hiện có, chẳng hạn như tính năng tự động hoàn thành cho các trường đầu vào trong form.
Các thành phần bố cục nổi bật của Bootstrap có ảnh hưởng lớn đến toàn bộ trang web Thành phần bố cục cơ bản đóng vai trò quan trọng trong việc xác định cấu trúc và thiết kế của trang.
"Container", vì mọi phần tử khác trong trang đều được đặt trong đó Các nhà phát
12 triển có thể chọn giữa container có chiều rộng cố định và container có chiều rộng co giãn
JavaScript là một ngôn ngữ lập trình kịch bản phía máy khách (Client-Side Script Language) dựa trên đối tượng, được sử dụng rộng rãi trong các ứng dụng web Ngôn ngữ này nhẹ và được hỗ trợ trên hầu hết các trình duyệt, bao gồm Firefox và Chrome, cũng như các trình duyệt di động JavaScript có khả năng kết nối và thao tác với cơ sở dữ liệu trên server, và thường được nhúng vào HTML, kết hợp với các ngôn ngữ lập trình web như ASP/ASP.NET, PHP, và JSP để tạo ra các trang web động.
Vue.js (hay VueJS) là một framework JavaScript giúp tạo giao diện người dùng và ứng dụng một trang (SPA) thân thiện Phát triển bởi Evan You, Vue.js sử dụng kiến trúc component và có các tính năng nổi bật như Single File Component (SFC) Người dùng chỉ cần sử dụng thư viện lõi của Vue, dễ học và tích hợp với các dự án hiện có Kết hợp với các kỹ thuật hiện đại, Vue.js đáp ứng nhu cầu phát triển các ứng dụng SPA phức tạp.
Khi phát triển lớp giao diện với Vue, người dùng chỉ cần sử dụng thư viện lõi dễ học và dễ tích hợp với các dự án hiện có Kết hợp với các kỹ thuật hiện đại như SFC (single file components) và các thư viện hỗ trợ, Vue có khả năng đáp ứng nhu cầu xây dựng các ứng dụng một trang (SPA) với độ phức tạp cao.
Thiết kế dữ liệu hệ thống
4.1.1 Use case diagram của Người quản trị
Hình 2 Use case người quản trị
Sơ đồ use case của người quản trị cho thấy các chức năng quan trọng mà họ có thể thực hiện, bao gồm đăng nhập vào tài khoản và thống kê thông tin như số lượng học viên đăng ký, khóa học phổ biến và điểm trung bình của học viên Người quản trị cũng có khả năng quản lý tài khoản của học viên, giáo viên và nhân viên trung tâm thông qua việc xem danh sách và tìm kiếm Chức năng quản lý giảng dạy bao gồm quản lý khóa học, lịch học và thời khóa biểu, cho phép thêm, sửa, xóa khóa học và lớp học Quản lý lịch giúp người quản trị điều chỉnh thời khóa biểu cho từng lớp, trong khi chức năng quản lý đơn đăng ký cho phép cập nhật trạng thái các đơn đăng ký Ngoài ra, người quản trị còn có thể quản lý chương trình ưu đãi và cơ sở vật chất, bao gồm thiết bị và phòng học Cuối cùng, người quản trị có thể đăng xuất khỏi hệ thống khi hoàn tất công việc.
4.1.2 Use case diagram của Học viên
Hình 3 Use case học viên
Học viên là thành viên trong hệ thống sau khi đăng ký tài khoản thành công, có khả năng đăng nhập và đăng xuất Họ có thể quản lý tài khoản bằng cách xem thông tin, đổi mật khẩu và cập nhật thông tin cá nhân Học viên có thể tìm kiếm khóa học tại trung tâm theo từ khóa, lịch học, ngôn ngữ và cấp độ Họ cũng có thể xem lịch khai giảng các lớp học sắp tới và đăng ký tham gia Sau khi đăng ký, học viên có thể truy cập thông tin như bài tập được giao và tài liệu học tập, cũng như nhắn tin với các thành viên trong lớp.
4.1.3 Use case diagram của Giáo viên
Hình 4 Use case giáo viên
Sơ đồ use case cho giáo viên trong hệ thống cho thấy rằng giáo viên là thành viên đã đăng ký tài khoản thành công Họ có thể đăng nhập và đăng xuất, đồng thời quản lý tài khoản của mình như xem thông tin, đổi mật khẩu và cập nhật thông tin Giáo viên quản lý lớp học bao gồm các chức năng như quản lý bài tập, tài liệu học tập, thông tin học viên, điểm danh và nhận xét Trong chức năng quản lý bài tập, giáo viên có thể giao bài, thêm, sửa, xóa và chấm điểm Đối với tài liệu học tập, giáo viên có khả năng thêm, sửa và xóa tài liệu Bên cạnh đó, giáo viên cũng có thể nhắn tin với các thành viên trong lớp.
4.2 Mô hình dữ liệu mức quan niệm (CDM)
Hình 5.Mô hình mức quan niệm (CDM)
4.3 Mô hình dữ liệu mức vật lý (PDM)
Hình 6.Mô hình mức vật lý (PDM)
Bảng thực thể “HOC_VIEN” (học viên): mỗi học viên có ID riêng và các thông tin như họ tên, email,…
Bảng 1 Bảng thực thể "HOC_VIEN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 HV_ID Integer Mã học viên
2 HV_HOTEN String Họ tên học viên
3 HV_EMAIL String Email đăng nhập
4 HV_MATKHAU String Mật khẩu
5 HV_ANHDAIDIEN String Ảnh đại diện
6 HV_GIOITINH String Giới tính
7 HV_NGAYSINH Timestamp Ngày sinh
8 HV_SODIENTHOAI String Số điển thoại
9 HV_TRANGTHAI String Trạng thái
10 LH_ID Integer Mã lớp học
11 LICHHOC_ID Integer Mã lịch học
Bảng thực thể “GIAO_VIEN” (giáo viên): mỗi giáo viên có ID riêng và các thông tin như họ tên, email,…
Bảng 2 Bảng thực thể "GIAO_VIEN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 GV_ID Integer Mã giáo viên
2 GV_HOTEN String Họ tên giáo viên
3 GV_EMAIL String Email đăng nhập
4 GV_MATKHAU String Mật khẩu
5 GV_ANHDAIDIEN String Ảnh đại diện
6 GV_GIOITINH String Giới tính
7 GV_NGAYSINH Timestamp Ngày sinh
8 GV_SODIENTHOAI String Số điển thoại
9 GV_TRANGTHAI String Trạng thái
Bảng thực thể “KINH_NGHIEM_LAM_VIEC” (kinh nghiệm làm việc): Mỗi kinh nghiệm làm việc có ID riêng
Bảng 3 Bảng thực thể "KINH_NGHIEM_LAM_VIEC"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 KNLV _ID Integer Mã kinh nghiệm làm việc
2 KNLV_ NOILAMVIEC String Nơi làm việc
3 KNLV_ NGAYBATDAU Timestamp Ngày bắt đầu
4 KNLV_ NGAYKETTHUC Timestamp Ngày kết thúc
5 GV_ID String Mã giáo viên
Bảng thực thể “BANG_CAP” (bằng cấp): mỗi bằng cấp có ID riêng
Bảng 4 Bảng thực thể "BANG_CAP"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 BC_ID Integer Mã bằng cấp
2 BC _TEN String Tên bằng cấp
3 BC _NGAYCAP String Ngày cấp
4 BC _NOICAP Timestamp Nơi cấp
5 GV_ ID Integer Mã giáo viên
Bảng thực thể “DANH_MUC_KHOA_HOC” (danh mục khóa học): mỗi bằng cấp có ID riêng
Bảng 5 Bảng thực thể "DANH_MUC_KHOA_HOC"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 DMKH_ID Integer Mã danh mục khóa học
2 DMKH_HOTEN String Tên danh mục khóa học
Bảng thực thể “KHOA_HOC” (khóa học): mỗi khóa học có ID riêng
Bảng 6 Bảng thực thể "KHOA_HOC"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 KH_ID Integer Mã khóa học
2 KH _TEN String Tên khóa học
3 KH _CAPDO String Cấp độ
4 KH _MOTA Long tex Mô tả
6 DMKH _ID Integer Mã danh mục khóa học
Bảng thực thể “LOP_HOC” (lớp học): mỗi lớp học có ID riêng
Bảng 7 Bảng thực thể "LOP_HOC"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 LH_ID Integer Mã lớp học
2 LH _TEN String Tên lớp học
3 LH _SISO Integer Sỉ số
4 LH _HINHTHUC String Hình thức
5 LH _SOBUOIHOC Integer Số buổi học
6 LH _SOBUOITRENTUAN Integer Số buổi trên tuần
7 LH _THOIGIANHOC Timestamp Thời gian học
8 LH _NGAYBATDAU Timestamp Ngày bắt đầu
9 LH _NGAYKETTHUC Timestamp Ngày kết thúc
10 LH_SOLUONGHOCVIENTOIDA Integer Số lượng học viên tối đa
11 KH_ID Integer Mã khóa học
12 GV_ID Integer Mã giáo viên
Bảng thực thể “BAI_TAP” (bài tập): mỗi bài tập có ID riêng
Bảng 8 Bảng thực thể "BAI_TAP"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 BT _ID Integer Mã bài tập
2 BT _TIEUDE String Tiêu đề
3 BT _NOIDUNG Long text Nội dung
4 BT _THOIGIANLAMBAI String Thời gian làm bài
5 BT _NGAYGIAO Timestamp Ngày giao
6 BT _NGAYNOP Timestamp Ngày nộp
7 BT _HINHTHUC String Hình thức
9 BT _THANGDIEM String Thang điểm
10 LH_ID Integer Mã lớp học
Bảng thực thể “CAU_HOI” (câu hỏi): mỗi câu hỏi có ID riêng
Bảng 9 Bảng thực thể "CAU_HOI"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 CH_ID Integer Mã câu hỏi
2 CH _NOIDUNG String Nội dung
3 CH _FILEDINHKEM String File đính kèm
4 CH _DAPAN String Đáp án
5 BT _ID Integer Mã bài tập
Bảng thực thể “TAI_LIEU” (tài liệu): mỗi tài liệu có ID riêng
Bảng 10 Bảng thức thể "TAI_LIEU"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 TL_ID Integer Mã tài liệu
2 TL _URL String Đường dẫn tài liệu
3 LH_ID Integer Mã lớp học
Bảng thực thể “DON_DANG_KY” (đơn đăng ký): mỗi đơn đăng ký có ID riêng
Bảng 11 Bảng thực thể "DON_DANG_KY"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 DDK_ID Integer Mã đơn đăng ký
2 DDK _NGAYDANGKY Timestamp Ngày đăng ký
3 DDK _TONGCONG Integer Tổng cộng
4 HV_ID Integer Mã học viên
5 LH_ID Integer Mã lớp học
6 UD_ID Integer Mã ưu đãi
Bảng thực thể “UU_DAI” (ưu đãi): mỗi ưu đãi có ID riêng
Bảng 12 Bảng thực thể "UU_DAI"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 UD_ID Integer Mã ưu đãi
2 UD_TEN String Tên ưu đãi
3 UD _GIATRI Integer Giá trị
4 UD _MOTA Long text Mô tả
5 UD _NGAYBATDAU Timestamp Ngày bắt đầu
6 UD _NGAYKETTHUC Timestamp Ngày kết thúc
Bảng thực thể “LICH_HOC” (lịch học): mỗi lịch học có ID riêng
Bảng 13 Bảng thực thể "LICH_HOC"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 LICHHOC_ID Integer Mã lịch học
2 LICHHOC _GIOBATDAU Timestamp Giờ bắt đầu
3 LICHHOC _GIOKETTHUC Timestamp Giờ kết thúc
4 LICHHOC_TRANGTHAI String Trạng thái
5 BUOI_ ID Integer Mã buổi
6 PHONG_ ID Integer Mã phòng
7 TTT_ ID Integer Mã thứ trong tuần
8 LH_ ID Integer Mã lớp học
Bảng thực thể “PHONG” (giáo viên): mỗi phòng có ID riêng
Bảng 14 Bảng thực thể "PHONG"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 PHONG _ID Integer Mã phòng
2 PHONG_TEN String Tên phòng
3 PHONG_SUCCHUA Integer Sức chứa
Bảng thực thể “BUOI” (buổi): mỗi buổi có ID riêng
Bảng 15 Bảng thực thể "BUOI"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 BUOI_ID Integer Mã buổi
2 BUOI_STT String Buổi trong ngày
Bảng thực thể “THU_TRONG_TUAN” (thứ trong tuần): mỗi thứ trong tuần có ID riêng
Bảng 16 Bảng thực thể "THU_TRONG_TUAN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 TTT_ID Integer Mã thứ trong tuần
2 TTT_STT String Thứ trong tuần
Bảng thực thể “DIEM_DANH” (Điểm danh): mỗi điểm danh có ID riêng
Bảng 17 Bảng thực thể "DIEM_DANH"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 DD_ID Integer Mã điểm danh
2 DD _GHICHU String Ghi chú
3 HV _ID Integer Mã học viên
4 LICHHOC _ ID Integer Mã lịch học
Bảng thực thể “QUAN_TRI_VIEN” (quản trị viên): mỗi quản trị viên có ID riêng
Bảng 18 Bảng thực thể "QUAN_TRI_VIEN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 QTV_ID Integer Mã quản trị viên
2 QTV _HOTEN String Họ tên quản trị viên
3 QTV _EMAIL String Email đăng nhập
4 QTV _MATKHAU String Mật khẩu
Bảng thực thể “NHAN_VIEN” (nhân viên): mỗi nhân viên có ID riêng
Bảng 19 Bảng thực thể "NHAN_VIEN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 NV_ID Integer Mã nhân viên
2 NV _HOTEN String Họ tên nhân viên
3 NV _EMAIL String Email đăng nhập
4 NV _MATKHAU String Mật khẩu
5 NV _VAITRO String Vai trò
Bảng thực thể “THONG_BAO” (thông báo): mỗi thông báo có ID riêng
Bảng 20 Bảng thực thể "THONG_BAO"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 TB_ID Integer Mã thông báo
2 TB _TIEUDE String Tiêu đề
3 TB _NOIDUNG Long text Nội dung
4 TB _THOIGIAN Timestamp Thời gian
5 GV_ID String Mã giáo viên
6 HV_ID String Mã học viên
Bảng thực thể “TIN_NHAN” (giáo viên): mỗi giáo viên có ID riêng
Bảng 21 Bảng thực thể "TIN_NHAN"
STT Tên thuộc tính Kiểu dữ liệu Mô tả
1 TN_ID Integer Mã thông báo
3 TN _NOIDUNG String Nội dung
4 TN _THOIGIAN Timestamp Thời gian
5 TN_TEPDINHKEM String Tệp đính kèm
6 GV_ID String Mã giáo viên
7 HV_ID String Mã học viên
4.5 Các yêu cầu ràng buộc cần thiết khi xử lý dữ liệu
- Tài khoản: Email của các tài khoản của tất cả người dùng không được trùng
- Mật khẩu: Mật khẩu của các tài khoản phải dài hơn 6 ký tự
- Lớp học: Học viên chỉ đăng ký các lớp trước khi khai giảng , lớp học chưa hết chỗ và không trùng lịch học với lớp học đã đăng ký
4.6 Các chức năng chính trong hệ thống
4.6.1 Chức năng đăng ký khóa học
Học viên truy cập trang khóa học, lựa chọn lớp học mong muốn và thực hiện đăng ký Sau khi hoàn tất các bước thanh toán, hệ thống sẽ gửi thông tin đăng ký đến quản lý đơn đăng ký.
Người quản trị sẽ xem xét thông tin trong đơn đăng ký Nếu đơn được duyệt, học viên sẽ nhận thông báo thành công; nếu không, đơn đăng ký sẽ bị từ chối.
Chức năng tìm kiếm giúp người dùng dễ dàng và nhanh chóng tìm khóa học phù hợp với nhu cầu của mình.
Giao diện Học viên
Giao diện trang chủ với màu sắc hấp dẫn không chỉ thu hút học viên mà còn nâng cao tinh thần học tập của họ Tại đây, học viên dễ dàng tra cứu thông tin về lịch khai giảng và các khóa học, giúp họ chủ động hơn trong việc lựa chọn chương trình học phù hợp.
Hình 9 Giao diện trang chủ
Sử dụng chatbot giúp bạn nhanh chóng tìm kiếm thông tin về khóa học, lớp học và lịch học Bên cạnh đó, chatbot còn cung cấp tư vấn chính xác, giúp học viên lựa chọn khóa học phù hợp với nhu cầu của mình.
5.2 Giao diện đăng ký, đăng nhập Để trở thành thành viên của hệ thống, học viên phải đăng ký tài khoản gồm các thông tin họ tên, email, mật khẩu Sau khi đăng ký, người dùng cần xác nhận tài khoản thông qua email xác nhận tài khoản
Sau khi người dùng hoàn tất việc đăng ký tài khoản, một email xác thực sẽ được gửi đến địa chỉ email cá nhân của họ Mục đích của email này là xác minh tính chính xác của thông tin và đảm bảo rằng tài khoản được tạo ra là hợp lệ trong hệ thống.
Tại trang lịch khai giảng, học viên có thể xem lịch khai giảng của các lớp học sắp tới
Hình 14 Giao diện trang lịch khai giảng
5.4 Học viên tìm các khóa học
Học viên có thể tìm các khóa học theo từ khóa hoặc các lựa chọn khác ở bộ lọc Tiếp theo học viên có thể xem chi tiết khóa học
Hình 15 Giao diện trang Kết quả tìm kiếm
5.5 Xem chi tiết các khóa học
Học viên có thể vào chi tiết mỗi khóa học để biết thêm thông tin về khóa học
Hình 16 Giao diện trang Chi tiết khóa học
5.6 Giao diện đăng ký lớp học
Khi học viên nhấp vào lớp học để đăng ký, họ sẽ được chuyển đến trang đăng ký lớp học, nơi hiển thị đầy đủ thông tin về lớp học và thông tin của học viên.
Hình 17 Giao diện trang đăng ký lớp học
Hình 18 Giáo diện thanh toàn online bằng Momo
5.7 Giao diện thông tin cá nhân của học viên
Người dùng có thể xem thông tin và cập nhật lại thông tin cá nhân
Khi chuyển sang tab thông tin học tập, học viên có thể xem tình hình học tập của bản thân ở các lớp mà học viên đã đăng ký
Hình 20 Giao diện thông tin học tập Hình 19 Giao diện thông tin cá nhân
Khi chuyển sang tab tin nhắn, người dùng có thể trò chuyện với các thành viên trong lớp học đã đăng ký
Khi người dùng chuyển sang tab đơn đăng ký, họ có thể dễ dàng xem lịch sử các đơn đăng ký và truy cập thông tin chi tiết liên quan.
Hình 22 Giao diện đơn đăng ký
5.8 Giao diện lớp học đã đăng ký
Tại đây, học viên có thể xem tất cả các lớp đã đăng ký
Hình 23 Giao diện lớp học đã đăng ký
5.9 Giao diện chi tiết lớp học
Với trang chi tiết lớp học, học viên có thể xem các bài tập và tài liệu được giáo viên của lớp giao cho
Hình 24 Giao diện chi tiết lớp học
5.10 Giao diện làm bài tập
Hình 25 Giao diện làm bài tập trắc nghiệm
Giao diện Giáo viên
Giáo viên nhập email và mật khẩu đã được cấp để đăng nhập vào hệ thống và sử dụng các chức năng
Hình 26 Form Đăng nhập giáo viên
6.2 Giao diện quản lý thông tin cá nhân
Tại đây, giáo viên có thể xem thông tin về lịch dạy và bảng công của mình
Hình 27 Gao diện lịch dạy
Hình 28 Giao diện bảng công
6.3 Giao diện quản lý lớp học
Giáo viên có thể dễ dàng quản lý lớp học thông qua trang quản lý lớp học, nơi cung cấp thông tin tổng quan về lớp và học viên, cũng như các bài tập và tài liệu học tập đã được giao.
Hình 29 Giao diện thông tin lớp học
Hình 30 Giao diện bài tập lớp học
Hình 31 Giao diện tài liệu lớp học
Giáo viên tiến hành điểm danh tại đây và thêm các nhận xét về từng học viên trong buổi học ngày hôm đó
Hình 32 Giao diện điểm danh
Giao diện quản trị viên
7.1 Giao diện đăng nhập quản trị viên
Quản trị viên đăng nhập vào hệ thống để sử dụng các chức năng
Hình 33 Form đăng nhập quản trị viên
Sau khi đăng nhập thành công, quản trị viên sẽ vào trang chủ để xem các thống kê tình hình trung tâm
Hình 34 Giao diện trang thống kê
Hình 35 Cửa sổ thông báo
7.3 Giao diện quản lý học viên
Trang quản lý học viên cho phép người quản trị theo dõi danh sách học viên đã đăng ký trong hệ thống Bên cạnh đó, người quản trị có khả năng thực hiện các thao tác như thêm, sửa đổi hoặc xóa tài khoản học viên một cách dễ dàng.
Hình 36 Giao diện trang quản lý học viên
7.4 Giao diện chi tiết học viên
Người quản trị có thể xem thông tin chi tiết của một học viên, bao gồm lớp học đã đăng kì và tình hình học tập
Hình 37 Giao diện chi tiết học viên
7.5 Giao diện quản lý giáo viên
Tại đây người quản trị có thể xem danh sách giảo viên và các thông tin chi tiết Ngoài ra có thể thêm, sửa, xóa tài khoán giáo viên
Hình 38 Giao diện trang quản lý giáo viên
7.6 Giao diện quản lý khóa học
Người quản trị có thể xem danh sách khóa học tại trung tâm và các thông tin chi tiết
Hình 39 Giao diện trang quản lý khóa học
7.7 Giao diện quản lý lớp học
Tại đây người quản trị có thể xem danh sách lớp học và các thông tin chi tiết Người quản trị thể thêm, sửa, xóa các lớp học
Hình 40 Giao diện trang quản lý lớp học
Hình 41 Giáo diện thêm lớp học mới
7.8 Giao diện quản lý lịch học
Người quản trị có thể xem thời khóa biểu của trung tâm để nắm rõ các lớp học trong ngày Bên cạnh đó, họ cũng có khả năng thay đổi thông tin liên quan đến lịch học khi cần thiết.
Hình 42 Giao diện quản lý lịch học
7.9 Giao diện quản lý đơn đăng ký
Người quản trị có thể xem đơn đăng ký và cập nhật trạng thái
Hình 43 Giao diện quản lý đơn đăng ký
7.10 Giao diện quản lý phòng học
Tại đây, người quản trị có thêm xem danh sách phòng học cùng với các chức năng thêm, sửa xóa
ĐÁNH GIÁ VÀ KIỂM THỬ
Giới thiệu
Để đảm bảo hệ thống hoạt động hiệu quả và đáp ứng các yêu cầu đã đề ra, việc xác định lỗi trong các tình huống có thể xảy ra là rất quan trọng Quá trình kiểm thử không chỉ kiểm tra tính khả dụng và chức năng mà còn bao gồm kiểm thử cơ sở dữ liệu Điều này giúp đảm bảo tính hoàn thiện của hệ thống trước khi sản phẩm được bàn giao cho khách hàng.
1.2 Phạm vi kiểm thử Đặc tả các trường hợp kiểm thử tương ứng với một số chức năng được mô tả trong tài liệu này.
Quản lý kiểm thử
Quá trình kiểm thử hệ thống sẽ được tiến hành theo các bước sau:
- Lập kế hoạch kiểm thử
- Phần cứng: o Bộ xử lý: Intel core i5-7200u o RAM: 8GB o Ổ cứng: SSD 512GB o Cấu hình mạng: có kết nối internet
- Phần mềm: o Hệ điều hành: Window 10 o Trình duyệt: Google Chrome o Hệ quản trị cơ sở dữ liệu: MongoDB
Chi tiết kiểm thử
3.1 Các chức năng sẽ được kiểm thử
- Kịch bản kiểm thử chức năng
Bảng 22 Kịch bản kiểm thử chức năng
STT Mô tả Ngày kiểm thử
2 Chức năng đăng ký khóa học 7/5/2024
3 Chức năng duyệt đơn đăng ký 7/5/2024
4 Chức năng tìm kiếm khóa học 7/5/2024
3.2 Các chức năng sẽ không được kiểm thử
Các chức năng không được kiểm thử thường là những chức năng đơn giản, không có xử lý phức tạp Chúng cũng có thể là những chức năng tương tự các chức năng đã được kiểm thử trước đó hoặc là những chức năng chưa hoàn thiện.
Tiêu chí kiểm thử thành công là kết quả thực hiện chức năng đúng vớimong đợi, phù hợp với đặc tả yêu cầu
Tiêu chí kiểm thử thất bại là kết quả không như mong đợi, xuất hiện lỗi, không phù hợp với đặc tả yêu cầu.
Tiến hành kiểm thử
Bảng 23 Kiểm thử chức năng đăng nhập
STT Trường hợp kiểm thử Các bước kiểm thử
1 Học viên đăng nhập tài khoản hợp lệ
B1: Chọn đăng nhập B2: Đăng nhập với email và mật khẩu Đăng nhập thành công
2 Giáo viên đăng nhập với tài khoản hợp lệ
B1: Chọn đăng nhập Giáo viên
B2: Đăng nhập với email và mật khẩu Đăng nhập thành công
3 Quản trị viên đăng nhập với tài khoản hợp lệ
B1: Chọn đăng nhập Quản trị viên
B2: Đăng nhập với email và mật khẩu Đăng nhập thành công
4.2 Chức năng đăng ký khóa học
Bảng 24 Kiểm thử chức năng đăng ký khóa học
STT Trường hợp kiểm thử Các bước kiểm thử
1 Học viên đăng ký khóa học
B1: Đăng nhập với email và mật khẩu
B2: Chọn lớp học trong khóa học muốn đăng ký và chuyển đến trang thanh toán B3: Chọn phương thức thành toán và tiến hành thanh toán
Hiển thị thông báo đăng ký thành công
4.3 Chức năng duyệt đơn đăng ký
Bảng 25 Kiểm thử chức năng duyệt đơn đăng ký
STT Trường hợp kiểm thử Các bước kiểm thử
“Chờ duyệt” thành “Đã duyệt”
B1: Đăng nhập với email và mật khẩu Nhà quản trị B2: Vào trang quản lý đơn đăng ký
B3: Tìm đơn đăng ký cập nhật trạng thái
“Chờ duyệt” thành “Từ chối”
B1: Đăng nhập với email và mật khẩu Nhà quản trị B2: Vào trang quản lý đơn đăng ký
B3: Tìm đơn đăng ký cập nhật trạng thái
4.4 Chức năng tìm kiếm khóa học
Bảng 26 Kiểm thử chức năng tìm kiếm khóa học
STT Trường hợp kiểm thử Các bước kiểm thử
1 Nhập tiêu đề không có trong hệ thống
B1: Nhập tiêu đề không có trong hệ thống
Không tìm thấy dữ liệu
Không tìm thấy dữ liệu
2 Nhập tiêu đề có trong hệ thống
B1: Nhập tiêu đề có trong hệ thống B2: Bấm tìm kiếm