CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1. Giới thiệu về đề tài Trong kỷ nguyên chuyển đổi số, học trực tuyến đã vươn lên trở thành một trụ cột thiết yếu trong ngành giáo dục, mang lại những giá trị vượt trội và khả năng thích ứng linh hoạt trước những biến động của thời đại. Nhờ sự phát triển mạnh mẽ của Internet và các công nghệ tiên tiến như trí tuệ nhân tạo, điện toán đám mây và học máy, học trực tuyến không chỉ mở rộng biên giới giáo dục mà còn phá vỡ mọi rào cản về không gian và thời gian. Chỉ với một thiết bị kết nối Internet, người học có thể tham gia các khóa học chất lượng từ bất kỳ nơi đâu, bất kỳ lúc nào, mở ra một chân trời học tập mới với chi phí tối ưu và tiện lợi hơn bao giờ hết.
Học trực tuyến không chỉ giải quyết bài toán tiết kiệm chi phí và giảm thiểu việc di chuyển, mà còn góp phần thúc đẩy xu hướng học tập suốt đời – một yếu tố then chốt trong việc phát triển nguồn nhân lực chất lượng cao. Với hàng ngàn khóa học được thiết kế bởi các chuyên gia hàng đầu thế giới, người học có thể cập nhật kiến thức và kỹ năng liên tục, đảm bảo khả năng cạnh tranh trong thị trường lao động toàn cầu hóa. Đặc biệt, trong bối cảnh đại dịch toàn cầu, học trực tuyến đã chứng minh vai trò chiến lược trong việc duy trì giáo dục, giúp hàng triệu học sinh, sinh viên và người đi làm tiếp cận tri thức mà không ảnh hưởng đến sức khỏe cộng đồng. Đây không chỉ là giải pháp tạm thời mà còn là xu hướng lâu dài, phản ánh sự chuyển đổi mạnh mẽ của giáo dục trong thời đại số hóa.
Chính vì vậy, việc xây dựng một nền tảng website học trực tuyến không chỉ đáp ứng nhu cầu cấp thiết của hiện tại mà còn đóng vai trò định hướng tương lai giáo dục, tạo điều kiện cho mọi đối tượng – từ học sinh, sinh viên đến người đi làm – tiếp cận một nền giáo dục hiện đại, chất lượng và toàn diện hơn. Lý do chọn đề tài Nhóm chúng tôi đã có kiến thức nền tảng về phát triển website, từ thiết kế giao diện người dùng đến xây dựng và quản lý cơ sở dữ liệu. Đồng thời, qua quá trình nghiên cứu, chúng tôi nhận thấy thị trường giáo dục trực tuyến đang phát triển mạnh mẽ với tiềm năng lớn tại Việt Nam, đặc biệt khi nhu cầu học tập linh hoạt ngày càng tăng cao. Từ những hiểu biết này, chúng tôi quyết định lựa chọn đề tài xây dựng website học trực tuyến nhằm ứng dụng các kiến thức đã học vào thực tế, đồng thời tạo ra một sản phẩm phù hợp với xu hướng chuyển đổi số trong giáo dục.
Đề tài không chỉ giúp nhóm nâng cao kỹ năng chuyên môn mà còn hướng tới việc đáp ứng nhu cầu học tập hiện đại của người học. Mục tiêu đề tài Mục tiêu của đề tài là xây dựng một website học trực tuyến, phục vụ nhu cầu học tập linh hoạt của mọi đối tượng người dùng, bao gồm học sinh, sinh viên, và người đi làm. Chúng tôi hướng tới việc ứng dụng các công nghệ hiện đại như React và MongoDB để tạo ra một nền tảng học trực tuyến thân thiện, dễ sử dụng và hiệu quả. Website sẽ có giao diện trực quan, giúp người học dễ dàng tìm kiếm và tham gia các khóa học phù hợp với nhu cầu và trình độ của mình.
Đồng thời, hệ thống sẽ đảm bảo tính bảo mật cao, hỗ trợ học suốt đời và đáp ứng nhu cầu học tập liên tục. Mục tiêu cuối cùng là xây dựng một giải pháp giáo dục trực tuyến vừa hiện đại, vừa dễ dàng tiếp cận, phù hợp với nhiều đối tượng người dùng khác nhau. Các chức năng chính Bài toán đặt ra: Xây dựng website học tập trực tuyến bao gồm các chức năng của một website học tập trực tuyến đơn thuần Qua quá trình khảo sát các nguồn thông tin từ cô giáo hướng dẫn, bạn bè, những người có kinh nghiệm trong phát triển website, trải nghiệp thực tế trên một số website bán hàng trực tuyến có thương hiệu của nước ngoài cũng như trong nước như: https://www.com/, https://hocmai.vn/, https://diemthi.com/, tôi phân tích bài toán: Đây website để học tập cho người có nhu cầu học một kỹ năng nào đó, website cần bao gồm các chức năng sau: Đăng ký, đăng nhập Dark/Light Mode Quản lý đơn hàng Quản lý khóa học Quản lý bình luận Phiếu giảm giá Tìm kiếm Đánh giá khóa học Thanh toán CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Tổng quan thiết kế Hệ thống quản lý khóa học được xây dựng với hai loại người dùng chính: Admin và Học viên.
Mỗi loại người dùng có các quyền truy cập và hành động cụ thể trên hệ thống, nhằm đảm bảo quản lý và điều phối nội dung khóa học một cách hiệu quả. Admin Admin là người có quyền cao nhất trong hệ thống, có khả năng thực hiện các tác vụ quan trọng bao gồm quản lý toàn bộ khóa học và nội dung liên quan. Các quyền của Admin bao gồm: ● Quản lý khóa học: Admin có thể xem chi tiết toàn bộ các khóa học có trong hệ thống. Họ có quyền thêm mới khóa học, chỉnh sửa các thông tin như tiêu đề, nội dung, giá cả, thời lượng học.
Ngoài ra, Admin cũng có thể xóa bất kỳ khóa học nào nếu cần. ● Quản lý bình luận: Admin có quyền kiểm duyệt và quản lý tất cả các bình luận do học viên để lại. Họ có thể chỉnh sửa hoặc xóa các bình luận không phù hợp với chính sách của hệ thống, giúp duy trì môi trường học tập lành mạnh. ● Quản lý mã giảm giá (Coupon): Admin có quyền tạo mới, sửa đổi hoặc xóa các mã giảm giá cho khóa học.
Điều này cho phép họ quản lý các chương trình khuyến mãi hoặc ưu đãi một cách linh hoạt. ● Quản lý học viên: Admin có thể xem danh sách các học viên đã đăng ký khóa học, theo dõi tiến độ học tập của họ và xét duyệt quyền truy cập khóa học cho các học viên. Học viên Học viên là những người đăng ký và tham gia các khóa học trên hệ thống. Tuy nhiên, quyền của học viên bị giới hạn hơn so với Admin.
Các quyền của học viên bao gồm: a) Xem chi tiết khóa học: Học viên chỉ có thể xem chi tiết nội dung khóa học nếu họ đã hoàn tất việc mua khóa học hoặc đã được Admin phê duyệt quyền truy cập. Điều này đảm bảo rằng chỉ những người dùng có quyền hợp pháp mới có thể tiếp cận nội dung giáo dục. b) Bình luận và đánh giá khóa học: Sau khi hoàn thành khóa học hoặc trong quá trình học, học viên có thể để lại bình luận và đánh giá về khóa học. Các bình luận này có thể được xem bởi Admin để kiểm duyệt trước khi hiển thị công khai.
c) Theo dõi khóa học đã đăng ký: Học viên có thể truy cập vào danh sách các khóa học mà họ đã đăng ký và theo dõi tiến trình học của mình, bao gồm các bài giảng đã hoàn thành và các bài tập còn lại. Actors description STT Actor name Defunition & interests 1 Admin 2 Học viên 2. Use Cases Description STT Mã Tên Mô tả Cho phép học viên đăng nhập vào 1 UC-1.1 Đăng nhập hệ thống Cho phép học viên đăng ký tài 2 UC-1.2 Đăng ký khoản Admin có thể duyệt những khóa 3 UC-1.3 Duyệt khóa học học được đăng tải lên 4 UC-1.4 Mua khóa học Học viên có thể mua khóa học ở trên hệ thống Xem khóa học đã Học viên có thể xem khóa học mà 5 UC-1.5 mua mình đã mua Bình luận về khóa Học viên có thể bình luận bài học 6 UC-1.6 học mình đang học Admin có thể thêm sửa xóa các 7 UC-1.7 Quản lý khóa học khóa học trên hệ thống Admin có thể ẩn hoặc trả lời bình 8 UC-1.8 Quản lý bình luận luận Admin có thể thêm sửa xóa mã 9 UC-1.9 Quản lý mã giảm giá giảm giá trên hệ thống Admin có thể thêm sửa xóa thông 10 UC-1.10 Quản lý học viên tin, tài khoản học viên 11 UC-1. Phân tích Use Case 2.
Đăng nhập Đặc tả UseCase ● Use Case Name: Chức năng đăng nhập ● UseCase ID: UC-1.1 ● Description: Học viên có thể đăng nhập vào hệ thống ● Actor: Học viên ● Priority: Phải có ● Trigger: Người dùng muốn thực hiện các tác vụ liên quan đến đăng nhập ● Pre-Condition: o Học viên đã có tài khoản ● Post-Condition: o Học viên đăng nhập thành công ● Basic flow: 1. Học viên truy cập trang đăng ký trên hệ thống 2. Hệ thống hiển thị màn hình đăng nhập 3. Học viên nhập thông tin cần thiết để đăng nhập ▪Học viên gmail (hoặc số điện thoại), mật khẩu ▪Xong Học viên nhấn nút “Đăng nhập” ▪Hệ thống hiển thị thông báo về việc đăng nhập: ● Học viên vào được hệ thống và có thông báo đăng nhập thành công ● Học viên nhập sai tài khoản hoặc mật khẩu sẽ hiện thị thông báo đăng nhập thất bại và hiển thị input lỗi ● Alternative flow: Không có ● Exception flow: 3a.
Lỗi khi đăng nhập ▪Hệ thống ghi lại lỗi và hiển thị thông báo cho Học viên ▪UseCase tiếp tục tại bước 2 (Học viên) ● Business rule: Học viên muốn tiến hành đăng nhập phải thực hiện đầy đủ các tác vụ theo thứ tự ● Non-Functional Requirement: o Hiệu suất: ▪Thời gian đăng nhập phải ngắn gọn, không quá 10 giây ▪Hệ thống phải có khả năng xử lý nhiều yêu cầu đăng nhập cùng lúc mà không bị chậm trễ o Khả năng sử dụng: ▪Giao diện đăng nhập phải dễ sử dụng, dễ hiểu và thân thiện với người dùng o Bảo mật: ▪Thông tin cá nhân của người dùng phải được bảo vệ an toàn ▪Hệ thống phải có các biện pháp bảo vệ để ngăn chặn hành vi gian lận hoặc truy cập trái phép 2. Tạo tài khoản Đặc tả UseCase ● Use Case Name: Chức năng tạo tài khoản ● UseCase ID: UC-1.2 ● Description: Học viên có thể tạo một tài khoản mới ● Actor: Học viên ● Priority: Phải có ● Trigger: Người dùng muốn thực hiện các tác vụ liên quan đến tạo tài khoản ● Pre-Condition: o Học viên chưa có tài khoản o Học viên cung cấp thông tin để tạo tài khoản ● Post-Condition: o Học viên đã được tạo tài khoản thành công và được lưu ở trong hệ thống o Học viên nhận được thông báo đăng ký thành công ● Basic flow: 4. Học viên truy cập trang đăng ký trên hệ thống 5. Hệ thống hiển thị màn hình đăng ký 6.