1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng website hệ thống quản lý học tập trực tuyến

97 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Website hệ thống quản lý học tập trực tuyến
Tác giả Nguyễn Hữu Hiếu, Lê Văn Tuấn
Người hướng dẫn TS. Lê Vĩnh Thịnh
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ Thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 97
Dung lượng 8,4 MB

Cấu trúc

  • Phần 1: MỞ ĐẦU (14)
    • 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (14)
    • 2. ĐỐI TƯỢNG NGHIÊN CỨU (14)
    • 3. PHẠM VI NGHIÊN CỨU (14)
    • 4. MỤC TIÊU ĐỀ TÀI (15)
    • 6. PHÂN CÔNG CÔNG VIỆC (15)
  • Phần 2: NỘI DUNG (16)
  • CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU (16)
    • 1.1. KHẢO SÁT HIỆN TRẠNG (16)
      • 1.1.1. Ucademy (16)
      • 1.1.2. ClassTime (16)
    • 1.2. XÁC ĐỊNH YÊU CẦU (17)
      • 1.2.1. Yêu cầu chức năng (17)
      • 1.2.2. Định hướng phát triển (17)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (18)
    • 2.1. KIẾN TRÚC CHUNG CỦA HỆ THỐNG (18)
    • 2.2. REACTJS (18)
      • 2.2.1. Tổng quan về ReactJS (18)
      • 2.2.2. Ưu điểm của ReactJs (19)
      • 2.2.3. Hạn chế của ReactJs (19)
    • 2.3. SPRING (20)
      • 2.3.1. Tổng quan về Spring (20)
      • 2.3.2. Ưu điểm của Spring (20)
    • 2.4. MySQL (20)
  • CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM (22)
    • 3.1. MÔ HÌNH HÓA YÊU CẦU (22)
      • 3.1.1. Lược đồ usecase (22)
      • 3.1.2. Mô tả chi tiết usecase (23)
    • 3.2. LƯỢC ĐỒ TUẦN TỰ (44)
      • 3.2.1. Chức năng đăng nhập (44)
      • 3.2.2. Chức năng chỉnh sửa thông tin tài khoản (45)
      • 3.2.3. Chức năng làm bài quiz (45)
      • 3.2.4. Chức năng đăng bài thảo luận trong lớp học (46)
      • 3.2.5. Chức năng bình luận bài thảo luận trong lớp học (46)
      • 3.2.6. Chức năng upload tài liệu (47)
      • 3.2.7. Chức năng download tài liệu (48)
      • 3.2.8. Chức năng tạo bài quiz (49)
      • 3.2.9. Chức năng chỉnh sửa bài quiz (49)
      • 3.2.10. Chức năng xóa bài quiz (50)
      • 3.2.11. Chức năng quản lý người hướng dẫn (51)
      • 3.2.12. Chức năng quản lý học sinh (52)
      • 3.2.13. Chức năng quản lý chuyên ngành (53)
      • 3.2.14. Chức năng quản lý môn học (54)
      • 3.2.15. Chức năng quản lý kỳ học (55)
      • 3.2.16. Chức năng quản lý lớp học (56)
    • 3.3. LƯỢC ĐỒ LỚP (57)
    • 3.4. THIẾT KẾ CƠ SỞ DỮ LIỆU (58)
      • 3.4.1. Lược đồ thực thể kết hợp (ERD) (58)
      • 3.4.2. Chi tiết bảng dữ liệu (58)
    • 3.5. THIẾT KẾ GIAO DIỆN (75)
      • 3.5.1. Giao diện của học sinh (75)
      • 3.5.2. Giao diện của người hướng dẫn (82)
      • 3.5.3. Giao diện của người quản trị (88)
  • CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ (91)
    • 4.1. CÀI ĐẶT (91)
      • 4.1.1. Yêu cầu hệ thống (91)
      • 4.1.2. Truy cập bằng trang web (91)
      • 4.1.3. Khởi động sản phẩm bằng source (92)
    • 4.2. KIỂM THỬ (92)
      • 4.2.1. Test plan (92)
      • 4.2.2. Phương pháp tiếp cận (92)
      • 4.2.3. Kiểm thử phần mềm (93)
  • KẾT LUẬN (94)
    • 1. KẾT QUẢ ĐẠT ĐƯỢC (94)
      • 1.1. Về lý thuyết (94)
      • 1.2. Về ứng dụng (94)
    • 2. ƯU ĐIỂM (3)
    • 3. NHƯỢC ĐIỂM (95)
    • 4. HƯỚNG PHÁT TRIỂN (95)

Nội dung

Sự xuất hiện của các trung tâm đồng nghĩa với việc họ cần một hệ thống quản lý học tập cho học sinh để có thể tạo ra môi trường học tập thống nhất, quản lý số lượng cũng như chất lượng g

NỘI DUNG

Udemy là một nền tảng giáo dục trực tuyến nổi tiếng trên thế giới, số lượng lên đến hàng ngàn khóa học với nhiều chủ đề khác nhau từ nhiều nguồn và giáo viên khác nhau Ưu điểm:

• Đa dạng về nội dung

• Chất lượng khóa học không đồng đều bởi ai cũng có thể trở thành giáo viên trên Ucademy

• Một số khóa học không được cập nhật thường xuyên

ClassTime là một nền tảng giáo dục trực tuyến chuyên về kiểm tra và theo dõi hiệu suất học tập Ưu điểm:

• Tạo bài kiểm tra dễ dàng

• Phân loại và theo dõi kết quả tự động

• Giao diện dễ sử dụng

• Giới hạn về khả năng tích hợp với các nền tảng khác

• Gia hạn về chủ đề giáo dục

• ClassTime có thể yêu cầu về phí dịch vụ

KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

KHẢO SÁT HIỆN TRẠNG

Udemy là một nền tảng giáo dục trực tuyến nổi tiếng trên thế giới, số lượng lên đến hàng ngàn khóa học với nhiều chủ đề khác nhau từ nhiều nguồn và giáo viên khác nhau Ưu điểm:

• Đa dạng về nội dung

• Chất lượng khóa học không đồng đều bởi ai cũng có thể trở thành giáo viên trên Ucademy

• Một số khóa học không được cập nhật thường xuyên

ClassTime là một nền tảng giáo dục trực tuyến chuyên về kiểm tra và theo dõi hiệu suất học tập Ưu điểm:

• Tạo bài kiểm tra dễ dàng

• Phân loại và theo dõi kết quả tự động

• Giao diện dễ sử dụng

• Giới hạn về khả năng tích hợp với các nền tảng khác

• Gia hạn về chủ đề giáo dục

• ClassTime có thể yêu cầu về phí dịch vụ

XÁC ĐỊNH YÊU CẦU

Bảng 2 Yêu cầu chức năng

Học sinh (Student) - Xem các khóa học

- Xem thông tin cá nhân

- Download tài liệu tham khảo

- Đăng bài viết thảo luận

Người hướng dẫn (Instructor) - Xem các lớp học của cá nhân quản lý

- Quản lý bài kiểm tra

- Upload tài liệu tham khảo

Quản trị viên (Admin) - Quản lý khóa học

- Tích hợp thêm api ChatGPT 3.5 để tạo bộ câu hỏi theo chủ đề đưa ra

- Phát triển chức năng trả lời câu hỏi trong quá trình xem video bài giảng cho học sinh

CƠ SỞ LÝ THUYẾT

KIẾN TRÚC CHUNG CỦA HỆ THỐNG

Hình 1 Kiến trúc chung của hệ thống

REACTJS

React là một thư viện JavaScript được sử dụng để xây dựng giao diện người dùng Facebook và một cộng đồng phát triển mã nguồn mở quản lý nó Mặc dù React chỉ là một thư viện chứ không phải là một ngôn ngữ, nhưng nó rất phổ biến trong phát triển web Thư viện này xuất hiện lần đầu vào tháng 5 năm 2013 và hiện đang là một trong những thư viện frontend phổ biến nhất cho phát triển web

React cung cấp các phần mở rộng khác nhau để hỗ trợ toàn bộ kiến trúc ứng dụng, như Flux và React Native, không chỉ là giao diện người dùng

So với các công nghệ khác trên thị trường, React là một công nghệ mới Jordan Walke, một kỹ sư phần mềm tại Facebook, sáng lập thư viện vào năm 2011, đưa nó trở nên phổ biến Các công nghệ như XHP, một framework thành phần HTML đơn giản cho PHP, đã ảnh hưởng đến React Ứng dụng đầu tiên của React là newsfeed, ra mắt vào năm 2011 Sau đó, Instagram áp dụng và tích hợp nó vào nền tảng của họ

React cung cấp một số đặc điểm nổi bật làm cho nó trở thành thư viện phổ biến nhất cho phát triển ứng dụng frontend Dưới đây là danh sách những đặc điểm nổi bật đó:

- JSX (JavaScript Syntactic Extension): JSX là một mở rộng cú pháp của JavaScript Đây là một thuật ngữ được sử dụng trong React để mô tả cách giao diện người dùng nên hiển thị Bạn có thể viết cấu trúc HTML trong cùng một tệp với mã JavaScript bằng cách sử dụng JSX

- Virtual Document Object Model (DOM): Đây là phiên bản nhẹ của Real DOM trong React Việc thay đổi Real DOM một cách thủ công chậm hơn đáng kể so với việc thao tác Virtual DOM Khi trạng thái của một đối tượng thay đổi, Virtual DOM chỉ cập nhật đối tượng đó trong Real DOM thay vì cập nhật tất cả

Sử dụng cấu trúc JavaScript được biết đến là Virtual DOM Vì Virtual DOM của JavaScript nhanh hơn so với DOM truyền thống, điều này sẽ tăng tốc độ của các chương trình

React tích hợp nhiều kiến trúc khác nhau Việc sử dụng được với nhiều hệ thống và cả hai phía, cả client và server, là đáng khen ngợi

Các thành phần và nhận biết xu hướng giúp quản lý dễ dàng hơn cho các ứng dụng lớn bằng cách tăng tính rõ ràng; Các mô-đun và dữ liệu hợp lệ giúp quản lý dễ dàng hơn cho các ứng dụng lớn bằng cách tăng tính đọc dễ hiểu; React làm cho toàn bộ quá trình môi trường kịch bản trở nên đơn giản hơn; Nó làm cho việc bảo trì nâng cao dễ dàng hơn và tăng hiệu suất Đảm bảo tốc độ hiển thị nhanh hơn

Hơn nữa, ReactJS tạo điều kiện cho một giao diện người dùng tuyệt vời; ReactJS thân thiện với công cụ tìm kiếm; ReactJS được hỗ trợ bởi một cộng đồng lớn

Chỉ giải quyết góc và khoảng cách của ứng dụng; do đó, bạn phải chọn các kỹ thuật bổ sung nếu muốn có bộ sưu tập đầy đủ các công cụ phát triển

Sử dụng tập lệnh nội tuyến và JSX, điều mà một số lập trình viên có thể cảm thấy không thoải mái

SPRING

Spring Framework là một nền tảng Java cung cấp hỗ trợ cơ sở hạ tầng toàn diện cho việc phát triển ứng dụng Java Spring xử lý cơ sở hạ tầng để bạn có thể tập trung vào ứng dụng của mình

Spring cho phép bạn xây dựng ứng dụng từ "các đối tượng Java cũ đơn giản" (POJOs) và áp dụng các dịch vụ doanh nghiệp một cách không xâm phạ vào POJOs Khả năng này áp dụng cho mô hình lập trình Java SE và cho Java EE đầy đủ và bán phần

Spring cho phép các lập trình viên sử dụng POJOs, và việc sử dụng POJOs này sẽ đảm bảo bạn không cần phải làm việc với EJBs, ứng dụng, cấu hình, và luồng chúng sẽ trở nên đơn giản hơn Hơn nữa, Spring thường được tổ chức dựa trên tính modular, do đó số lượng các lớp và gói có thể trở nên khá lớn Tuy nhiên, người dùng chỉ cần quan tâm đến những gì họ cần và có thể bỏ qua phần còn lại

Spring thường được sử dụng để hỗ trợ nhiều loại công nghệ như ORM Framework, JEE, thư viện có khả năng tạo mã lập trình,

Module Web của Spring được thiết kế dựa trên mô hình MVC, nên có khả năng cung cấp một sự thay thế hoàn chỉnh cho các framework web tương tự như Struts

Framework Web của Spring, là một framework Web MVC với thiết kế tốt, sẽ giúp bạn thay thế Struts và các công nghệ ít phổ biến hơn

Spring có khả năng cung cấp một API thuận tiện để chuyển đổi các ngoại lệ cụ thể của công nghệ thành các ngoại lệ không kiểm soát và nhất quán

Container IoC nhẹ, do đó rất có lợi cho việc phát triển và triển khai ứng dụng mới trên máy tính có tài nguyên bộ nhớ và CPU hạn chế

Spring sẽ cung cấp một giao diện quản lý giao dịch nhất quán Từ đó, nó có thể mở rộng từ giao dịch cục bộ lên giao dịch toàn cầu.

MySQL

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server RDBMS

20 là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng

Cách vận hành chính trong môi trường MySQL:

- MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó

- Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL

- Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client

Hình 2 Vận hành giữa server và client

Cách ưu điểm của MySQL:

- Linh hoạt và dễ dùng

PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM

MÔ HÌNH HÓA YÊU CẦU

3.1.2 Mô tả chi tiết usecase

Người dùng sử dụng chức năng này để đăng nhập vào hệ thống Đối tượng -

Người dùng đã có tài khoản

Người dùng đã đăng kí tài khoản trong hệ thống

Nếu đăng nhập thành công: Người dùng được xác thực và hệ thống hiển thị trang web tương ứng với từng quyền hạn của người dùng

Nếu đăng nhập không thành công: Người dùng không được xác thực và hiển thị thông báo

Use case bắt đầu khi người dùng truy cập vào trang login

1 Hệ thống hiển thị form đăng nhập

2 Người dùng nhập username và password

3 Hệ thống xác thực tài khoản thông qua jwt

4 Hệ thống thông báo đăng nhập thành công

5 Hệ thống mở các chức năng được phép truy cập của người dùng

Nếu người dùng nhập email và password không chính xác

1 Hệ thống hiển thị thông báo lỗi “Sai tài khoản hoặc mật khẩu”

2 Hệ thống yêu cầu người dùng đăng nhập lại

3 Bước 2 ở luồng cơ bản được thực hiện

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.2 Chức năng chỉnh sửa thông tin tài khoản

Bảng 4 Usecase chỉnh sửa thông tin tài khoản

Tên - Name Chỉnh sửa thông tin cá nhân

Người dùng sử dụng chức năng chỉnh sửa thông tin cá nhân để thay đổi thông tin cá nhân Đối tượng -

Người dùng đã đăng nhập thành công

1 Người dùng nhấn vào avatar

2 Người dùng nhấn vào nút “Profile”

3 Người dùng chỉnh sửa thông tin muốn thay đổi

4 Người dùng nhấn nút “OK”

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.3 Chức năng làm bài quiz

Bảng 5 Usecase làm bài quiz

Tên - Name Làm bài quiz

Người dùng làm bài quiz của môn học Đối tượng -

Pre-conditions Đã đăng nhập thành công, tài khoản đã được kích hoạt

Các câu trả lời bài quiz của học sinh sẽ được lưu

1 Người dùng chọn vào bài quiz

2 Hệ thống hiển thị thông tin bài quiz

3 Người dùng chọn vào nút “Start”

4 Người dùng chọn câu trả lời cho các câu hỏi

5 Người dùng nhấn nút “Finish attempt” để kết thúc

Alternative flow Ở bước 5, nếu người dùng không nộp bài trong thời gian làm bài, hệ thống sẽ tự động nộp bài và kết thúc

Quy định nghiệp vụ - Professional regulations

Nếu quá hạn thời gian làm bài, bài quiz sẽ bị khóa, người dùng không thể tiếp tục làm bài quiz đó

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.4 Chức năng đăng bài thảo luận trong lớp học

Bảng 6 Usecase đăng bài thảo luận trong lớp học

Tên - Name Đăng bài thảo luận trong lớp học

Người dùng đặt câu hỏi và chia sẽ kiến thức trong lớp học và mọi người cùng thảo luận Đối tượng -

Học sinh, giáo viên của lớp học

Pre-conditions Đã đăng nhập thành công

1 Người dùng click nút “New post”

2 Người dùng nhập thông tin muốn thảo luận

3 Người dùng nhấn nút “Post” để đăng bài

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.5 Chức năng bình luận bài thảo luận trong lớp học

Bảng 7 Usecase bình luận bài thảo luận trong lớp học

Tên - Name Bình luận bài thảo luận trong lớp học

Người dùng trả lời, chia sẽ thông tin trong bài thảo luận Đối tượng -

Học sinh, giáo viên trong lớp học

Pre-conditions Đã đăng nhập thành công

1 Người dùng nhấn vào bất kỳ bài post

2 Người dùng nhấn nút “Reply”

3 Người dùng nhập nội dung

4 Người dùng nhấn nút “Send”

Alternative flow Ở bước 4, người dùng có thể hủy bình luận bằng cách nhấn nút

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non-

3.1.2.6 Chức năng thay đổi mật khẩu

Bảng 8 Usecase thay đổi mật khẩu

Tên - Name Thay đổi mật khẩu

Người dùng thay đổi mật khẩu Đối tượng -

Pre-conditions Đã đăng nhập thành công

1 Người dùng nhấn vào avatar

2 Người dùng nhấn vào nút “Profile”

3 Người dùng nhấn vào “Change password”

4 Nhập password cũ, password mới, xác nhận password

6 Hệ thống thông báo thay đổi mật khẩu thành công

Alternative flow Ở bước 5, thay vì chọn nút “Save”, người dùng có thể nhấn nút

“Cancel” để hủy thay đổi mật khẩu

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.7 Chức năng upload tài liệu

Bảng 9 Usecase upload tài liệu Tên - Name Upload tài liệu

Mô tả - Description Giáo viên upload tài liệu lên website để học sinh có thể tham khảo Đối tượng -

Người dùng đã login thành công

1 Giáo viên chọn một lớp học trong danh sách

2 Giáo viên nhấn “Upload” ở mỗi phần

3 Cửa sổ hiện ra, giáo viên chọn loại để upload lên

4 Giáo viên nhấn nút “Confirm”

5 Hệ thống cập nhật tài liệu cho học sinh

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.8 Chức năng download tài liệu

Bảng 10 Usecase download tài liệu

Tên - Name Download tài liệu

Người dùng có thể download tài liệu từ website Đối tượng -

Người dùng đã login thành công

1 Người dùng chọn một lớp học bất kỳ

2 Người dùng nhấn vào tài liệu bất kỳ

3 Hệ thống sẽ xử lý và download tài liệu

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.9 Chức năng tạo bài quiz

Bảng 11 Usecase tạo bài quiz

Tên - Name Tạo bài quiz

Giáo viên tạo bài quiz Đối tượng -

Người dùng đã login thành công và tài khoản đã được kích hoạt

1 Giáo viên chọn 1 lớp học bất kỳ

2 Giáo viên chọn nút “Upload” ở mỗi phần

3 Cửa sổ hiện ra, giáo viên chọn loại để tải lên (quiz – chọn loại có sẵn)

4 Giáo viên nhấn nút “Confirm”

5 Hệ thống cập nhật bài quiz trong lớp học

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.10 Chức năng chỉnh sửa bài quiz

Bảng 12 Usecase chỉnh sửa bài quiz

Tên - Name Chỉnh sửa bài quiz

Giáo viên chỉnh sửa bài quiz của lớp học Đối tượng -

Người dùng đã login thành công

1 Giáo viên chọn 1 lớp học trong danh sách

2 Giáo viên chọn bài quiz để chỉnh sửa ở mỗi phần

3 Hệ thống chuyển hướng đến trang bài quiz

4 Kiểm tra chọn lọc bài giảng

5 Cửa sổ xuất hiện và chỉnh sửa các thông tin khác

7 Hệ thống cập nhật bài quiz

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.11 Chức năng xóa bài quiz

Bảng 13 Usecase xóa bài quiz

Tên - Name Xóa bài quiz

Giáo viên xóa bài quiz Đối tượng -

Người dùng đã login thành công

1 Giáo viên chọn bài quiz để xóa

2 Hệ thống yêu cầu xác nhận

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.12 Chức năng quản lý người hướng dẫn

Bảng 14 Usecase quản lý người hướng dẫn

Tên - Name Quản lý người hướng dẫn

Những thông tin của người hướng dẫn được quản lý bời admin Đối tượng -

Người hướng dẫn đã đăng nhập thành công

1 Hệ thống hiển thị danh sách người hướng dẫn

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin của người hướng dẫn

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý người hướng dẫn

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.13 Chức năng quản lý học sinh

Bảng 15 Usecase quản lý học sinh

Tên - Name Quản lý học sinh

Những thông tin của học sinh được quản lý bời admin Đối tượng -

Học sinh đã đăng nhập thành công

1 Hệ thống hiển thị danh sách học sinh

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin của học sinh

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý học sinh

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.14 Chức năng quản lý chuyên ngành

Bảng 16 Usecase quản lý chuyên ngành

Tên - Name Quản lý chuyên ngành

Những thông tin về chuyên ngành được quản lý bởi admin Đối tượng -

Người dùng đã đăng nhập thành công

1 Hệ thống hiển thị danh sách các chuyên ngành

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin chuyên ngành

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý chuyên ngành

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.15 Chức năng quản lý môn học

Bảng 17 Usecase quản lý môn học

Tên - Name Quản lý môn học

Những thông tin về môn học được quản lý bởi admin

Pre-conditions Đăng nhập thành công

1 Hệ thống hiển thị danh sách môn học

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin môn học

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý môn học

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.16 Chức năng quản lý kỳ học

Bảng 18 Usecase quản lý kỳ học

Tên - Name Quản lý kỳ học

Những thông tin về kỳ học được quản lý bởi admin Đối tượng -

Pre-conditions Đăng nhập thành công

1 Hệ thống hiển thị danh sách kỳ học

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin của kỳ học

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý kỳ học

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.17 Chức năng quản lý lớp học

Bảng 19 Usecase quản lý lớp học

Tên - Name Quản lý lớp học

Những thông tin về lớp học được quản lý bởi admin Đối tượng -

Pre-conditions Đăng nhập thành công

1 Hệ thống hiển thị danh sách lớp học

2 Người quản trị lựa chọn các chức năng như thêm, xóa, chỉnh sửa thông tin của lớp học

3 Xác nhận thay đổi thông tin

4 Hệ thống kiểm tra thông tin

5 Hệ thống xác nhận thay đổi và reload lại trang quản lý lớp học

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.18 Chức năng thống kê điểm

Bảng 20 Usecase thống kê điểm

Tên - Name Thống kê điểm

Thống kê điểm số của học sinh Đối tượng -

Pre-conditions Đăng nhập thành công với tài khoản admin

Use case bắt đầu khi quản trị viên chọn mục thống kê:

1 Người quản trị chọn mục thống kê

2 Hệ thống thống kê điểm học phần của sinh viên

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.19 Chức năng xem điểm cá nhân

Bảng 21 Usecase xem điểm cá nhân

Tên - Name Xem điểm cá nhân

Học sinh xem thông tin điểm của mình Đối tượng -

Pre-conditions Đăng nhập thành công với tài khoản học sinh

1 Người dùng nhấn vào avatar

2 Người dùng nhấn vào nút “Grades”

3 Người dùng chọn vào lớp học muốn xem điểm

4 Hiển thị danh sách các điểm số của lớp học đó

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

Học sinh và người hướng dẫn có thể nhắn tin với nhau Đối tượng -

Học sinh, người hướng dẫn

Pre-conditions Đăng nhập thành công với tài khoản học sinh hoặc người hướng dẫn

1 Người dùng nhấn vào icon tin nhắn trên header

2 Hiển thị danh sách những người đã nhắn tin trước đó (nếu có)

3 Nhấn vào tin nhắn của bất kỳ người hiển thị trong danh sách

4 Hiển thị popup nội dung tin nhắn cũ (nếu có)

5 Nhập nội dung muốn nhắn tin vào ô input

6 Nhấn enter hoặc nhấn nút gửi để gửi tin nhắn

Tại bước 3, nếu chưa nhắn tin với bất kỳ ai:

1 Người dùng nhập email của người muốn nhắn tin trên thanh tìm kiếm trong popup

2 Hiển thị người cần tìm kiếm

3 Nhấn vào người cần tìm kiếm

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.21 Chức năng xem thông tin cá nhân

Bảng 23 Usecase xem thông tin cá nhân

Tên - Name Xem thông tin cá nhân

Người dùng sử dụng có thể xem thông tin cá nhân của mình Đối tượng -

Người dùng đã đăng nhập thành công

1 Người dùng nhấn vào avatar

2 Người dùng nhấn vào nút “Profile”

3 Hiển thị các thông tin của người dùng

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.22 Chức năng quản lý điểm số

Bảng 24 Usecase quản lý điểm số

Tên - Name Quản lý điểm số

Những điểm số của các học sinh theo từng bài kiểm tra trong lớp học Đối tượng -

Pre-conditions Đăng nhập thành công

1 Hệ thống hiển thị danh sách lớp học

2 Chọn vào một lớp học

3 Nhấn vào menu ở trên bên trái để hiển thị sidebar

4 Nhấn vào “Điểm số các thành viên”

5 Hiển thị danh sách các bài kiểm tra có trong lớp học

6 Nhấn vào một bài bất kỳ

7 Hiển thị danh sách điểm của các học sinh

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non- functional requirements

3.1.2.23 Chức năng thêm học sinh vào lớp

Bảng 25 Usecase thêm học sinh vào lớp

Tên - Name Thêm học sinh vào lớp

Thêm học sinh mới vào lớp học Đối tượng -

Pre-conditions Đăng nhập thành công

1 Hệ thống hiển thị danh sách lớp học

2 Chọn vào một lớp học

4 Nhập email của học sinh muốn thêm vào lớp học

6 Hiển thị thông báo thành công

Nếu người hướng dẫn nhập email không chính xác:

1 Hệ thống hiển thị thông báo lỗi “Tài khoản chưa được đăng ký”

2 Hệ thống yêu cầu người dùng nhập lại Nếu người hướng dẫn nhập email đã có trong lớp học:

1 Hệ thống hiển thị thông báo “Thành viên này đã có trong lớp học”

Quy định nghiệp vụ - Professional regulations

Yêu cầu phi chức năng - Non-

LƯỢC ĐỒ TUẦN TỰ

Hình 5 Lược đồ chức năng đăng nhập

3.2.2 Chức năng chỉnh sửa thông tin tài khoản

Hình 6 Lược đồ chức năng chỉnh sửa thông tin tài khoản

3.2.3 Chức năng làm bài quiz

Hình 7 Lược đồ chức năng làm bài quiz

3.2.4 Chức năng đăng bài thảo luận trong lớp học

Hình 8 Lược đồ đăng bài thảo luận trong lớp học

3.2.5 Chức năng bình luận bài thảo luận trong lớp học

Hình 9 Lược đồ chức năng bình luận bài thảo luận trong lớp học

3.2.6 Chức năng upload tài liệu

Hình 10 Lược đồ chức năng upload tài liệu

3.2.7 Chức năng download tài liệu

Hình 11 Lược đồ chức năng download tài liệu

3.2.8 Chức năng tạo bài quiz

Hình 12 Lược đồ chức năng tạo bài quiz

3.2.9 Chức năng chỉnh sửa bài quiz

Hình 13 Lược đồ chức năng chỉnh sửa bài quiz

3.2.10 Chức năng xóa bài quiz

Hình 14 Lược đồ chức năng xóa bài quiz

3.2.11 Chức năng quản lý người hướng dẫn

Hình 15 Lược đồ chức năng quản lý người hướng dẫn

3.2.12 Chức năng quản lý học sinh

Hình 16 Lược đồ chức năng quản lý học sinh

3.2.13 Chức năng quản lý chuyên ngành

Hình 17 Lược đồ chức năng quản lý chuyên ngành

3.2.14 Chức năng quản lý môn học

Hình 18 Lược đồ chức năng quản lý môn học

3.2.15 Chức năng quản lý kỳ học

Hình 19 Lược đồ chức năng quản lý kỳ học

3.2.16 Chức năng quản lý lớp học

Hình 20 Lược đồ chức năng quản lý lớp học

LƯỢC ĐỒ LỚP

THIẾT KẾ CƠ SỞ DỮ LIỆU

3.4.1 Lược đồ thực thể kết hợp (ERD)

Hình 22 Lược đồ thực thể kết hợp

3.4.2 Chi tiết bảng dữ liệu

Bảng 26: Bảng mô tả dữ liệu "Chuyên ngành"

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 name varchar Tên chuyên ngành Not null

3 description text Mô tả chuyên ngành

4 is_deleted bit Trạng thái xóa

Bảng 27: Bảng mô tả dữ liệu “Môn học”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 name varchar Tên môn học Not null

3 description text Mô tả về môn học

4 category_id int Mã id của chuyên ngành

Khóa ngoại liên kết đến id của chuyên ngành

5 is_deleted bit Trạng thái xóa

Bảng 28: Bảng mô tả dữ liệu “Kỳ học”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 name varchar Tên học kỳ Not null

3 start_date bigint Thời gian bắt đầu kỳ học

5 end_date bigint Thời gian kết thúc kỳ học

6 is_deleted bit Trạng thái xóa

3.4.2.4 Bảng môn học trong học kỳ (course_per_cycle)

Bảng 29: Bảng mô tả dữ liệu “Môn học trong học kỳ”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 course_id int Mã id của môn học

Khóa ngoại liên kết đến id của môn học

3 cycle_id int Mã id của học kỳ

Khóa ngoại liên kết đến id của học kỳ

4 course_start_date bigint Thời gian học bắt đầu

5 course_end_date bigint Thời gian học kết thúc

6 is_deleted bit Trạng thái xóa

3.4.2.5 Bảng người hướng dẫn (instructor)

Bảng 30: Bảng mô tả dữ liệu “Người hướng dẫn”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 email varchar Địa chỉ email của tài khoản Unique

3 username varchar Tên đăng nhập của tài khoản

4 password varchar Mật khẩu của tài khoản

5 is_actived int Trạng thái hoạt động

6 first_name varchar Tên người hướng dẫn

7 last_name varchar Họ lót người hướng dẫn

8 phone varchar Số điện thoại của tài khoản

9 create_date bigint Ngày tạo tài khoản

10 update_date bigint Ngày chỉnh sửa tài khoản

11 is_deleted bit Trạng thái xóa

Bảng 31: Bảng mô tả dữ liệu “Học sinh”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 email varchar Địa chỉ email của tài khoản Unique

3 Tên đăng nhập của tài khoản

4 password varchar Mật khẩu của tài khoản

5 is_actived role_id Trạng thái hoạt động

6 first_name varchar Tên người hướng dẫn

7 last_name varchar Họ lót người hướng dẫn

8 phone varchar Số điện thoại của tài khoản

9 created_date bigint Ngày tạo tài khoản

10 update_date bigint Ngày chỉnh sửa tài khoản

11 is_deleted bit Trạng thái xóa

3.4.2.7 Bảng người hướng dẫn khóa học trong học kì (instructor_per_cycle)

Bảng 32: Bảng mô tả dữ liệu “Người hướng dẫn khóa học trong học kỳ”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 instructor_id int Mã id của người hướng dẫn

Khóa chính, khóa ngoại liên kết đến id của người hướng dẫn

2 course_per_cycle_id int Mã id của môn học trong học kỳ

Khóa chính, khóa ngoại liên kết đến id của môn học trong học kỳ

Bảng 33: Bảng mô tả dữ liệu “Lớp học”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của lớp học

3 class_date bigint Thời gian bắt đầu lớp học

4 instructor_id int Mã id của người hướng dẫn

Khóa ngoại liên kết đến id của người hướng dẫn

5 course_per_cycle_id int Mã id của môn học trong học kỳ

Khóa ngoại liên kết đến id của môn học trong học kỳ

6 quantity int Số lượng người trong lớp

7 is_deleted bit Trạng thái xóa

3.4.2.9 Bảng đăng ký lớp học (enrollment)

Bảng 34: Bảng mô tả dữ liệu “Đăng ký lớp học”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 class_id int Mã id của lớp học

Khóa ngoại liên kết đến id của lớp học

3 student_id int Mã id của học sinh

Khóa ngoại liên kết đến id của lớp học

4 enrollment_date date Thời điểm đăng ký lớp học

5 cancelled bit Trạng thái hủy

3.4.2.10 Bảng người tham gia lớp học (attendance)

Bảng 35: Bảng mô tả dữ liệu “Người tham gia lớp học”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 student_id int Mã id của học sinh

Khóa ngoại liên kết đến id của học sinh

3 class_id int Mã id của lớp học

Khóa ngoại liên kết đến id của lớp học

4 attendance_date bigint Thời điểm tham gia lớp học

5 is_deleted bit Trạng thái xóa

3.4.2.11 Bảng mục học tập của lớp (lesson)

Bảng 36: Bảng mô tả dữ liệu “Mục học tập của lớp”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của mục học tập

3 content varchar Nội dung mô tả của mục học tập

4 class_id int Mã id của lớp học

Khóa ngoại liên kết đến id của lớp học

5 is_deleted bit Trạng thái xóa

Bảng 37: Bảng mô tả dữ liệu “Tài liệu”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của tài liệu

3 content varchar Nội dung mô tả của tài liệu

4 type varchar Loại nội dung pdf, word

5 lesson_id int Mã id của mục học tập

Khóa ngoại liên kết đến id của mục học tập

6 instructor_id int Mã id của người hướng dẫn

Khóa ngoại liên kết đến id của người hướng dẫn

7 created_date bigint Ngày tạo tài liệu

8 link varchar Đường dẫn đến tài liệu

9 extension varchar Phần mở rộng của tài liệu

10 is_deleted bit Trạng thái xóa

Bảng 38: Bảng mô tả dữ liệu “Thảo luận”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của thảo luận

3 content varchar Nội dung mô tả của thảo luận

4 type varchar Loại nội dung forum

5 lesson_id int Mã id của mục học tập

Khóa ngoại liên kết đến id của mục học tâp

6 instructor_id int Mã id của người hướng dẫn

Khóa ngoại liên kết đến id của người hướng dẫn

7 created_date bigint Ngày tạo thảo luận

8 is_deleted bit Trạng thái xóa

3.4.2.14 Bảng bài viết thảo luận (post)

Bảng 39: Bảng mô tả dữ liệu “Bài viết thảo luận”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 forum_id int Mã id của thảo luận

Khóa ngoại liên kết đến id của thảo luận

3 author_id int Mã id của người tạo bài viết

4 author_role varchar quyền hạn của người tạo bài viết

5 title varchar Tiêu đề của bài viết

6 content varchar Nội dung của bài viết

7 created_date bigint Ngày tạo bài viết

8 is_deleted bit Trạng thái xóa

Bảng 40: Bảng mô tả dữ liệu “Bình luận”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 comment varchar Nội dung bình luận

3 comment_id int Mã id của bình luận

Khóa ngoại liên kết đến id của bình luận

4 author_id int Mã id của người viết bình luận

Quyền hạn của người viết bình luận

6 post_id int Mã id của bài viết

Khóa ngoại liên kết đến id của bài viết

7 is_deleted bit Trạng thái xóa

3.4.2.16 Bảng bài kiểm tra (test)

Bảng 41: Bảng mô tả dữ liệu “Bài kiểm tra”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của bài kiểm tra

3 content varchar Nội dung mô tả của bài kiểm tra

4 type varchar Loại nội dung quiz

5 lesson_id int Mã id của mục học tập

Khóa ngoại liên kết đến id của mục học tập

6 instructor_id int Mã id của người hướng dẫn

Khóa ngoại liên kết đến id của người hướng dẫn

7 created_date bigint Thời gian tạo bài kiểm tra

8 test_date_start bigint Thời gian bắt đầu làm bài kiểm tra

Thời gian phải nhỏ hơn thời gian kết thúc

9 test_date_end bigint Thời gian kết thúc làm bài kiểm tra

Thời gian phải lớn hơn thời gian bắt đầu

Thời gian quy định làm bài kiểm tra

11 allowed_attempts int Số lần cho phép làm bài

12 sentences int Số câu hỏi

13 is_deleted bit Trạng thái xóa

3.4.2.17 Bảng chi tiết bài kiểm tra (testDetail)

Bảng 42: Bảng mô tả dữ liệu “Chi tiết bài kiểm tra”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 test_id int Mã id của bài kiểm tra

Khóa ngoại liên kết đến id của bài kiểm tra

3 question_id int Mã id của câu hỏi

Khóa ngoại liên kết đến id của câu hỏi

4 is_deleted bit Trạng thái xóa

3.4.2.18 Bảng câu trả lời bài kiểm tra (test_choose)

Bảng 43: Bảng mô tả dữ liệu “Câu trả lời bài kiểm tra”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 test_detail_id int Mã id của chi tiết bài kiểm tra

Khóa ngoại liên kết đến id của chi tiết bài kiểm tra

3 test_result_id int Mã id của kết quả bài kiểm tra

Khóa ngoại liên kết đến id của kết quả bài kiểm tra

4 chose varchar Đáp án đã lựa chọn

3.4.2.19 Bảng kết quả bài kiểm tra (test_result)

Bảng 44: Bảng mô tả dữ liệu “Kết quả bài kiểm tra”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 score double Điểm làm bài kiểm tra

3 student_id int Mã id của học sinh

Khóa ngoại liên kết đến mã id của học sinh

4 test_id int Mã id của bài kiểm tra

Khóa ngoại liên kết đến mã

70 id của bài kiểm tra

5 is_deleted bit Trạng thái xóa

Bảng 45: Bảng mô tả dữ liệu “Câu hỏi”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

3 options text Đáp án lựa chọn

4 answer varchar Đáp án đúng

5 type_question_id int Loại câu hỏi

6 is_deleted bit Trạng thái xóa

3.4.2.21 Bảng loại câu hỏi (question_type)

Bảng 46: Bảng mô tả dữ liệu “Loại câu hỏi”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 name varchar Tên loại câu hỏi

3 alias varchar Viết tắt loại câu hỏi

4 is_deleted bit Trạng thái xóa

Bảng 47: Bảng mô tả dữ liệu “Video”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 title varchar Tiêu đề của viedeo

3 content varchar Nội dung mô tả của video

4 type varchar Loại nội dung video

5 lesson_id int Mã id của mục học tập

Khóa ngoại liên kết đến id của mục học tập

6 instructor_id int Mã id của người hướng dẫn

Khóa ngoại liên kết đến id của người hướng dẫn

7 created_date bigint Ngày tạo video

8 link varchar Đường dẫn đến video

9 prerequisite varchar Điều kiện tiên quyết để xem video

10 correct_question int Số câu hỏi đúng để pass video

11 is_deleted bit Trạng thái xóa

3.4.2.23 Bảng câu hỏi của video (question_video)

Bảng 48: Bảng mô tả dữ liệu “Câu hỏi của video”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 time_stop varchar Thời điểm làm câu hỏi

3 video_id int Mã id của video

Khóa ngoại liên kết đến id của video

4 question_id int Mã id của câu hỏi

Khóa ngoại liên kết đến id của câu hỏi

3.4.2.24 Bảng câu trả lời câu hỏi của video (video_test_choose)

Bảng 49: Bảng mô tả dữ liệu “Câu trả lời câu hỏi của video”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 question_video_id int Mã id của câu hỏi video

Khóa ngoại liên kết đến id của câu hỏi video

3 video_test_result_id int Mã id của kết quả trả lời video

Khóa ngoại liên kết đến id của kết quả trả lời video

4 chose varchar Đáp án đã lựa chọn

3.4.2.25 Bảng kết quả trả lời video (video_test_result)

Bảng 50: Bảng mô tả dữ liệu “Kết quả trả lời video”

STT Thuộc tính Kiểu dữ liệu Ý nghĩa Ghi chú

1 id int Id của bảng Khóa chính, tự động tăng

2 score double Điểm trả lời câu hỏi video

3 student int Mã id của học sinh

Khóa ngoại liên kết đến id của học sinh

4 video_id int Mã id của video

Khóa ngoại liên kết đến id của video

THIẾT KẾ GIAO DIỆN

3.5.1 Giao diện của học sinh

Hình 23 Giao diện trang đăng nhập

Hình 24 Giao diện trang home

3.5.1.3 Trang chi tiết lớp học

Hình 25 Giao diện trang chi tiết lớp học

Hình 26 Giao diện trang bài quiz

Hình 27 Giao diện trang video

Hình 28 Giao diện trang câu hỏi video

3.5.1.7 Trang thông tin cá nhân

Hình 29 Giao diện trang thông tin cá nhân

3.5.2 Giao diện của người hướng dẫn

Hình 30 Giao diện trang home (người hướng dẫn)

3.5.2.2 Trang chi tiết lớp học

Hình 31 Giao diện trang chi tiết lớp học

3.5.2.3 Trang chi tiết lớp học chế độ chỉnh sửa

Hình 32 Giao diện trang chi tiết lớp học chế độ chỉnh sửa

Hình 33 Giao diện trang tạo bài quiz

3.5.2.5 Danh sách các hoạt động tạo cho lớp học

Hình 34 Giao diện danh sách các hoạt động tạo cho lớp học

Hình 35 Giao diện trang tạo video

3.5.3 Giao diện của người quản trị

3.5.3.1 Trang quản lý học sinh

Hình 36 Giao diện trang quản lý học sinh

3.5.3.2 Trang quản lý người hướng dẫn

Hình 37 Giao diện trang quản lý người hướng dẫn

3.5.3.3 Trang quản lý lớp học

Hình 38 Giao diện trang quản lý lớp học

3.5.3.4 Trang quản lý chuyên ngành

Hình 39 Giao diện trang quản lý chuyên ngành

3.5.3.5 Trang quản lý môn học

Hình 40 Giao diện trang quản lý môn học

3.5.3.6 Trang quản lý kỳ học

Hình 41 Giao diện trang quản lý kỳ học

CÀI ĐẶT VÀ KIỂM THỬ

CÀI ĐẶT

Máy phải cài đặt các phần mềm sau:

4.1.2 Truy cập bằng trang web

Link deploy API backend: https://lms-project-final.herokuapp.com/

Link deploy Frontend quyền student, instructor: https://codex-cool-codex-cool- lmsfront.vercel.app/

Link deploy Frontend quyền Admin: https://codex-cool-codex-cool- backoffice.vercel.app/

Tên đăng nhập: admin Mật khẩu: 123456 Tài khoản instructor:

Tên đăng nhập: instructor1 Mật khẩu: 123456

Tên đăng nhập: student1 Mật khẩu: 123456

Link database: https://auth- db625.hstgr.io/index.php?db=u206789035_codex_db&fbclid=IwAR1QpgxzVipsq9VbFY TOR62dghiuQQlKD9s4C2WS5v8H2MJq-GzH8EtyiR8

Tên đăng nhập: u206789035_codex Mật khẩu: 3K/P9U#Za

4.1.3 Khởi động sản phẩm bằng source

Bước 1: Clone hoặc download project từ link gitlab:

• Backend: https://gitlab.com/co-dex/codex-cool/codex-cool-backend

• Phía frontend được chia thành 2 projects (codex-cool-lmsfront, codex-cool- backoffice) riêng biệt để dễ cho việc quản lý: o Source Admin: https://gitlab.com/co-dex/codex-cool/codex-cool- backoffice o Source Instructor, Student: https://gitlab.com/co-dex/codex-cool/codex- cool-lmsfront

• Sau khi clone source backend về máy, chuột phải vào thư mục code và chọn open with intellij idea

• Sau đó mở source code bằng intellij idea và chờ idea load các cài đặt project xong, bấm nút start để khởi động

• Sau khi clone source frontend về máy, mở source bằng visual studio code

• Mở terminal và gõ lệnh npm i để cài đặt tất cả các thư viện

• Sau khi cài đặt thư viện hoàn thành, gõ lệnh npm start để chạy source

KIỂM THỬ

Mục đích của việc kiểm tra nhằm đảm bảo ứng dụng đáp ứng được các chức năng hoạt động được trong quá trình người dùng sử dụng

Website học tập trực tuyến bao gồm phần Front-end sẽ xử lý giao diện và Back-end sẽ xử lý các dữ liệu được gửi từ Front-end hoặc lấy từ cơ sở dữ liệu để phản hồi cho Front- end hoặc lưu vào cơ sở dữ liệu

Description Test steps Expected Output Result

_001 Kiểm tra việc đăng nhập khi chưa có tài khoản

1 Nhập tên đăng nhập và mật khẩu chưa đăng kí trong hệ thống

Hiện ra thông báo “Sai tài khoản hoặc mật khẩu”

_002 Đăng nhập trang student và instructor

1 Nhập email và password của tài khoản user

2 Nhấn nút Đăng nhập Đăng nhập thành công hệ thống chuyển sang trang HomePage Đăng nhập thất bại sẽ show lỗi ra màn hình

1 Nhập email và password của tài khoản admin

2 Nhấn nút Sign In Đăng nhập thành công hệ thống chuyển sang trang quản lý của admin Đăng nhập thất bại reload trang yêu cầu nhập lại

4.2.3.2 Chức năng thêm môn học

Description Test steps Expected Output Result

_001 Kiểm tra việc tạo môn học

1 Không nhập tên môn học

“ [ Name Of Course ] is require.”

Tạo môn học 1 Nhập thông tin môn học

Tạo môn học thành công, load lại danh sách môn học

Ngày đăng: 01/10/2024, 12:19

HÌNH ẢNH LIÊN QUAN

Hình 3. Lược đồ usecase - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 3. Lược đồ usecase (Trang 22)
Hình 6. Lược đồ chức năng chỉnh sửa thông tin tài khoản - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 6. Lược đồ chức năng chỉnh sửa thông tin tài khoản (Trang 45)
Hình 10. Lược đồ chức năng upload tài liệu - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 10. Lược đồ chức năng upload tài liệu (Trang 47)
Hình 11. Lược đồ chức năng download tài liệu - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 11. Lược đồ chức năng download tài liệu (Trang 48)
Hình 14. Lược đồ chức năng xóa bài quiz - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 14. Lược đồ chức năng xóa bài quiz (Trang 50)
Hình 18. Lược đồ chức năng quản lý môn học - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 18. Lược đồ chức năng quản lý môn học (Trang 54)
Hình 21. Lược đồ lớp - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 21. Lược đồ lớp (Trang 57)
Hình 22. Lược đồ thực thể kết hợp - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 22. Lược đồ thực thể kết hợp (Trang 58)
3.4.2.24. Bảng câu trả lời câu hỏi của video (video_test_choose) - xây dựng website hệ thống quản lý học tập trực tuyến
3.4.2.24. Bảng câu trả lời câu hỏi của video (video_test_choose) (Trang 73)
Hình 23. Giao diện trang đăng nhập - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 23. Giao diện trang đăng nhập (Trang 75)
Hình 24. Giao diện trang home - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 24. Giao diện trang home (Trang 76)
Hình 27. Giao diện trang video - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 27. Giao diện trang video (Trang 79)
Hình 32. Giao diện trang chi tiết lớp học chế độ chỉnh sửa - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 32. Giao diện trang chi tiết lớp học chế độ chỉnh sửa (Trang 84)
Hình 33. Giao diện trang tạo bài quiz - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 33. Giao diện trang tạo bài quiz (Trang 85)
Hình 34. Giao diện danh sách các hoạt động tạo cho lớp học - xây dựng website hệ thống quản lý học tập trực tuyến
Hình 34. Giao diện danh sách các hoạt động tạo cho lớp học (Trang 86)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w