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

Xây dựng hệ thống kết nối sinh viên sư phạm kỹ thuật sử dụng spring boot

193 0 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 hệ thống kết nối sinh viên Sư Phạm Kỹ Thuật sử dụng Spring Boot
Tác giả Phan Thị Diễm Trinh, Huỳnh Anh Vũ
Người hướng dẫn ThS. Nguyễn Hữu Trung
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 Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 193
Dung lượng 18,55 MB

Cấu trúc

  • 1. Tính cấp thiết của đề tài (13)
  • 2. Mục đích của đề tài (13)
  • 3. Đối tượng nghiên cứu của đề tài (13)
  • 4. Phạm vi nghiên cứu của đề tài (13)
  • 5. Phương pháp thực hiện đề tài (13)
  • 6. Kết quả dự kiến đạt được (13)
  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT (0)
    • 1.1. Ngôn ngữ lập trình Java (25)
      • 1.1.1. Giới thiệu [2] (25)
      • 1.1.2. Ưu điểm (26)
      • 1.1.3. Nhược điểm (26)
    • 1.2. Spring Framework (27)
      • 1.2.1. Giới thiệu (27)
      • 1.2.2. Spring Boot [5] (29)
      • 1.2.3. Spring Data JPA (30)
      • 1.2.4. Spring Security & JWT (30)
      • 1.2.5. SpringDocs Open API (31)
    • 1.3. RESTful API [6] (31)
    • 1.4. ReactJS (31)
      • 1.4.1. Giới thiệu [7] (31)
      • 1.4.2. Ưu điểm (32)
      • 1.4.3. Nhược điểm (32)
    • 1.5. Python (33)
      • 1.5.1. Giới thiệu (33)
      • 1.5.2. Đặc điểm Python (0)
    • 1.6. Kiến trúc Transformer (34)
    • 1.7. Kỹ Thuật RAG (Retrieval Augmented generation) (36)
  • CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG (0)
    • 2.1. Khảo sát hiện trạng (38)
    • 2.2. Phân tích yêu cầu của đề tài (42)
      • 2.2.1. Yêu cầu chức năng (42)
      • 2.2.2. Yêu cầu phi chức năng (50)
  • CHƯƠNG 3. MÔ HÌNH HÓA YÊU CẦU (0)
    • 3.1. Lược đồ Usecase (52)
    • 3.2. Đặc tả Usecase (52)
  • CHƯƠNG 4. THIẾT KẾ PHẦN MỀM (97)
    • 4.1. Lược đồ ERD (97)
    • 4.2. Lược đồ tuần tự (97)
      • 4.2.1. Đăng nhập (97)
      • 4.2.2. Đăng ký (98)
      • 4.2.3. Tạo mới bài viết (98)
      • 4.2.4. Tìm kiếm bài viết (99)
      • 4.2.5. Thêm mới tài liệu (99)
      • 4.2.6. Quản lý tài khoản và thông tin cá nhân (100)
      • 4.2.7. Quản lý bài viết (101)
      • 4.2.8. Quản lý danh mục tin tức (102)
      • 4.2.9. Quản lý khoa (103)
      • 4.2.10. Quản lý ngành (104)
      • 4.2.11. Quản lý nhóm (105)
      • 4.2.12. Quản lý tin tức (106)
      • 4.2.13. Quản lý tải khoản người dùng (107)
      • 4.2.14. Quản lý tài liệu (108)
      • 4.2.15. Quản lý đơn vị (109)
      • 4.2.16. Thêm mới tài liệu (110)
      • 4.2.17. Tạo mới bài viết (111)
      • 4.2.18. Xem bài viết (112)
  • CHƯƠNG 5. THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ (113)
    • 5.1. Giao diện phân hệ Admin (113)
      • 5.1.1. Giao diện trang thống kê (113)
      • 5.1.2. Giao diện trang Giới thiệu chung – Nội dung (114)
      • 5.1.3. Giao diện trang Giới thiệu chung – Tìm hiểu thêm về trường (0)
      • 5.1.4. Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm (0)
      • 5.1.5. Giao diện trang Tìm hiểu thêm – Các khoa và bộ môn (0)
      • 5.1.6. Giao diện trang Tìm hiểu thêm – Cơ sở vật chất (0)
      • 5.1.7. Giao diện trang Lịch sử hình thành và phát triển (125)
      • 5.1.8. Giao diện trang Đơn vị liên kết (126)
      • 5.1.9. Giao diện trang Các thông tin khác (128)
      • 5.1.10. Giao diện trang Quản lý bài viết (130)
      • 5.1.11. Giao diện trang Quản lý nhóm (131)
      • 5.1.12. Giao diện trang Quản lý tài liệu (132)
      • 5.1.13. Giao diện trang Quản lý tin tức (133)
      • 5.1.14. Giao diện trang Quản lý đơn vị (134)
      • 5.1.15. Giao diện trang Quản lý khoa (135)
      • 5.1.16. Giao diện trang Quản lý ngành (136)
      • 5.1.17. Giao diện trang Quản lý tài khoản hệ thống (137)
      • 5.1.18. Giao diện trang Quản lý người dùng (138)
      • 5.1.19. Giao diện trang Quản lý trưởng nhóm (139)
      • 5.1.20. Giao diện trang Quản lý giảng viên (140)
      • 5.1.21. Giao diện trang Quản lý lịch sử thao tác (141)
      • 5.1.22. Giao diện trang Quản lý danh mục tin tức (142)
      • 5.1.23. Giao diện trang Quản lý danh mục nhóm (143)
      • 5.1.24. Giao diện trang Quản lý tố cáo nhóm (144)
      • 5.1.25. Giao diện trang Quản lý tố cáo bài viết (145)
    • 5.2. Giao diện phân hệ Trưởng nhóm (146)
      • 5.2.1. Giao diện trang Thống kê (146)
      • 5.2.2. Giao diện trang Đăng nhập (147)
      • 5.2.3. Giao diện trang Quản lý bài viết (148)
      • 5.2.4. Giao diện trang Quản lý tài liệu (149)
      • 5.2.5. Giao diện trang Quản lý lĩnh vực bài viết (150)
      • 5.2.6. Giao diện trang Quản lý môn học (151)
      • 5.2.7. Giao diện trang Quản lý tài khoản (152)
      • 5.2.8. Giao diện Thông báo Trưởng nhóm (155)
    • 5.3. Giao diện phân hệ người dùng (156)
      • 5.3.1. Giao diện trang Đăng nhập (156)
      • 5.3.2. Giao diện trang Đăng ký (157)
      • 5.3.3. Giao diện Trang chủ (158)
      • 5.3.4. Giao diện trang Giới thiệu (160)
      • 5.3.5. Giao diện trang Tin tức và sự kiện (161)
      • 5.3.6. Giao diện chi tiết trang Tin tức và sự kiện (162)
      • 5.3.7. Giao diện trang Nhóm (162)
      • 5.3.8. Giao diện chi tiết trang Nhóm (163)
      • 5.3.9. Giao diện Bài viết của bạn (164)
      • 5.3.10. Giao diện trang Tài liệu của bạn (165)
      • 5.3.11. Giao diện trang Chỉnh sửa thông tin (165)
      • 5.3.12. Giao diện trang Đổi mật khẩu (166)
      • 5.3.13. Giao diện trang Chia sẻ tài liệu (167)
      • 5.3.14. Giao diện trang Chi tiết tài liệu (168)
      • 5.3.15. Giao diện trang Tạo bài viết mới (168)
      • 5.3.16. Giao diện Bình luận bài viết (169)
      • 5.3.17. Giao diện Tìm kiếm bài viết (170)
      • 5.3.18. Giao diện Thêm tài liệu mới (171)
      • 5.3.19. Giao diện Thông báo người dùng (172)
      • 5.3.20. Giao diện Chat bot (173)
    • 5.4. Giao diện phân hệ giảng viên (174)
      • 5.4.1. Giao diện Hiển thị bài viết được phân công (0)
      • 5.4.2. Giao diện thông báo Giảng viên (175)
  • CHƯƠNG 6. CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG (0)
    • 6.1. Cài đặt và triển khai hệ thống (0)
    • 6.2. Cài đặt (176)
      • 6.2.1. Backend (176)
      • 6.2.2. Frontend (176)
    • 6.3. Kiểm thử ứng dụng (0)
      • 6.3.1. Các chức năng trang đăng nhập đăng ký (177)
      • 6.3.2. Các chức năng trang diễn đàn sinh viên (177)
      • 6.3.3. Các chức năng trang quản lý bài viết, tin tức và sự kiện (178)
      • 6.3.4. Các chức năng trang chia sẻ tài liệu (179)
      • 6.3.5. Kiểm thử chi tiết chức năng trang diễn đàn sinh viên, chia sẻ tài liệu (0)
    • 1. Kết quả đạt được (187)
      • 1.1. Về kiến thức (187)
      • 1.2. Về đề tài (187)
      • 1.3. Về kinh nghiệm (188)
    • 2. Ưu điểm và nhược điểm (3)
      • 2.1. Ưu điểm (188)
      • 2.2. Nhược điểm (188)

Nội dung

Phương pháp thực hiện đề tài Phương pháp thực hiện đề tài bao gồm các bước sau: - Thu thập và xác định yêu cầu của đề tài : thu thập yêu cầu từ các trang tư vấn, giải đáp thắc mắc bao g

Kết quả dự kiến đạt được

Chương 1 Cơ sở lý thuyết

Chương 2 Khảo sát, phân tích

Chương 3 Mô hình hóa yêu cầu

Chương 4 Thiết kế phần mềm

Chương 5 Thiết kế giao diện xử lý

Chương 6 Cài đặt và kiểm thử hệ thống

1 Những kết quả đạt được

DANH SÁCH TÀI LIỆU THAM KHẢO

STT Thời gian Công việc

+ Tìm hiểu đề tài + Thảo luận, đề ra các chức năng hệ thống và các chức năng phát triển

+ Tìm hiểu các công nghệ mới, framework áp dụng vào hệ thống

+ Phân tích hiện trạng và lập kế hoạch thực hiện + Xác định các yêu cầu cần cập nhật và phân công công việc

+ Đánh giá mức độ khả thi của các chức năng hệ thống, thiết kế thêm chức năng hệ thống

+ Cập nhật thiết kế database cho hệ thống, xây dựng database postgres

+ Thiết kế, xây dựng và cải tiến RESTful API cho các chức năng

+ Thiết kế, xây dựng và cải tiến giao diện cho hệ thống + Tích hợp hệ thống

+ Tiến hành kiểm thử toàn bộ hệ thống để hoàn thiện trang web theo yêu cầu và thiết kế ban đầu.

+ Tiến hành viết báo cáo

+ Hoàn thành báo cáo và hoàn chỉnh hệ thống

+ Khảo sát và phân tích đề tài

+ Phụ trách cơ sở lý thuyết

+ Vẽ lược đồ Usecase và viết đặc tả Usecase, lược đồ hoạt động và lược đồ tuần tự

+ Viết hướng dẫn cài đặt front-end

+ Viết báo cáo phần Mở đầu, chương Lý thuyết, Khảo sát, Mô hình hóa yêu cầu, Thiết kế giao diện và xử lý, Cài đặt và kiểm thử, phần Kết luận.

+ Khảo sát và phân tích đề tài

+ Triển khai hệ thống front-end + Phụ trách cơ sở lý thuyết back-end

+ Vẽ lược đồ Usecase và viết đặc tả Usecase, lược đồ hoạt động và lược đồ tuần tự

+ Thiết kế cơ sở dữ liệu

+ Viết hướng dẫn cài đặt back-end

+ Kiểm thử front-end và back-end

+ Triển khai hệ thống với Docker Ý kiến của Giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

Nguyễn Hữu Trung Phan Thị Diễm Trinh

DANH MỤC BẢNG 5 ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP 1

1 Tính cấp thiết của đề tài 10

2 Mục đích của đề tài 10

3 Đối tượng nghiên cứu của đề tài 11

4 Phạm vi nghiên cứu của đề tài 11

5 Phương pháp thực hiện đề tài 12

6 Kết quả dự kiến đạt được 12

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 14

1.1 Ngôn ngữ lập trình Java 14

1.7 Kỹ Thuật RAG (Retrieval Augmented generation) 25

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG 27

2.1.1 Trang tư vấn sinh viên Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ

2.2 Phân tích yêu cầu của đề tài 31

2.2.2 Yêu cầu phi chức năng 39

CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU 41

CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 86

4.2.6 Quản lý tài khoản và thông tin cá nhân 89

4.2.8 Quản lý danh mục tin tức 91

4.2.13 Quản lý tải khoản người dùng 96

CHƯƠNG 5 THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 102

5.1 Giao diện phân hệ Admin 102

5.1.1 Giao diện trang thống kê 102

5.1.2 Giao diện trang Giới thiệu chung – Nội dung 103

5.1.3 Giao diện trang Giới thiệu chung – Tìm hiểu thêm về trường 104

5.1.4 Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm 105

5.1.5 Giao diện trang Tìm hiểu thêm – Các khoa và bộ môn 107

5.1.6 Giao diện trang Tìm hiểu thêm – Cơ sở vật chất 112

5.1.7 Giao diện trang Lịch sử hình thành và phát triển 114

5.1.8 Giao diện trang Đơn vị liên kết 115

5.1.9 Giao diện trang Các thông tin khác 117

5.1.10 Giao diện trang Quản lý bài viết 119

5.1.11 Giao diện trang Quản lý nhóm 120

5.1.12 Giao diện trang Quản lý tài liệu 121

5.1.13 Giao diện trang Quản lý tin tức 122

5.1.14 Giao diện trang Quản lý đơn vị 123

5.1.15 Giao diện trang Quản lý khoa 124

5.1.16 Giao diện trang Quản lý ngành 125

5.1.17 Giao diện trang Quản lý tài khoản hệ thống 126

5.1.18 Giao diện trang Quản lý người dùng 127

5.1.19 Giao diện trang Quản lý trưởng nhóm 128

5.1.20 Giao diện trang Quản lý giảng viên 129

5.1.21 Giao diện trang Quản lý lịch sử thao tác 130

5.1.22 Giao diện trang Quản lý danh mục tin tức 131

5.1.23 Giao diện trang Quản lý danh mục nhóm 132

5.1.24 Giao diện trang Quản lý tố cáo nhóm 133

5.1.25 Giao diện trang Quản lý tố cáo bài viết 134

5.2 Giao diện phân hệ Trưởng nhóm 135

5.2.1 Giao diện trang Thống kê 135

5.2.2 Giao diện trang Đăng nhập 136

5.2.3 Giao diện trang Quản lý bài viết 137

5.2.4 Giao diện trang Quản lý tài liệu 138

5.2.5 Giao diện trang Quản lý lĩnh vực bài viết 139

5.2.6 Giao diện trang Quản lý môn học 140

5.2.7 Giao diện trang Quản lý tài khoản 141

5.2.8 Giao diện Thông báo Trưởng nhóm 144

5.3 Giao diện phân hệ người dùng 145

5.3.1 Giao diện trang Đăng nhập 145

5.3.2 Giao diện trang Đăng ký 146

5.3.4 Giao diện trang Giới thiệu 149

5.3.5 Giao diện trang Tin tức và sự kiện 150

5.3.6 Giao diện chi tiết trang Tin tức và sự kiện 151

5.3.8 Giao diện chi tiết trang Nhóm 152

5.3.9 Giao diện Bài viết của bạn 153

5.3.10 Giao diện trang Tài liệu của bạn 154

5.3.11 Giao diện trang Chỉnh sửa thông tin 154

5.3.12 Giao diện trang Đổi mật khẩu 155

5.3.13 Giao diện trang Chia sẻ tài liệu 156

5.3.14 Giao diện trang Chi tiết tài liệu 157

5.3.15 Giao diện trang Tạo bài viết mới 157

5.3.16 Giao diện Bình luận bài viết 158

5.3.17 Giao diện Tìm kiếm bài viết 159

5.3.18 Giao diện Thêm tài liệu mới 160

5.3.19 Giao diện Thông báo người dùng 161

5.4 Giao diện phân hệ giảng viên 163

5.4.1 Giao diện Hiển thị bài viết được phân công 163

5.4.2 Giao diện thông báo Giảng viên 164

CHƯƠNG 6 CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG 165

6.1 Cài đặt và triển khai hệ thống 165

6.3.1 Các chức năng trang đăng nhập đăng ký 166

6.3.2 Các chức năng trang diễn đàn sinh viên 166

6.3.3 Các chức năng trang quản lý bài viết, tin tức và sự kiện 167

6.3.4 Các chức năng trang chia sẻ tài liệu 168

6.3.5 Kiểm thử chi tiết chức năng trang diễn đàn sinh viên, chia sẻ tài liệu 168

2 Ưu điểm và nhược điểm 177

3 Hướng phát triển 178TÀI LIỆU THAM KHẢO 179NHẬT KÝ BÁO CÁO GIÁO VIÊN HƯỚNG DẪN 181

1 Tính cấp thiết của đề tài

Trong thời đại chuyển đổi số, sự tiến bộ của công nghệ thông tin và internet đã thay đổi cách chúng ta tương tác và chia sẻ thông tin Điều này đã tác động tới sinh viên tại trường Sư phạm Kỹ thuật nơi mà trao đổi kiến thức và thông tin là một phần không thể thiếu trong quá trình học tập và nghiên cứu Vì vậy, chúng em đã quyết định tập trung vào việc xây dựng trang web học tập: "Website kết nối sinh viên Sư phạm Kỹ thuật"

Website kết nối sinh viên Sư phạm Kỹ thuật là một nền tảng trực tuyến, ngôi nhà chung cho sinh viên và giảng viên Tại đây, mọi người không chỉ có thể chia sẻ thông tin mà còn tạo cơ hội cho sự hợp tác và học hỏi từ nhau Website này sẽ cung cấp các tiện ích như đăng nhập hệ thống, quản lý tài khoản cá nhân, diễn đàn thảo luận, thông tin về tin tức và sự kiện, nơi tìm kiếm các tài liệu liên quan đến nhu cầu học tập của các sinh viên

Mục tiêu của dự án này là tạo ra một không gian trực tuyến mà mọi người có thể dễ dàng tương tác và chia sẻ ý kiến Thông qua việc kết nối cộng đồng sinh viên Sư phạm Kỹ thuật, chúng ta có thể tạo ra môi trường năng động và sáng tạo

2 Mục đích của đề tài

Xây dựng một môi trường trực tuyến để sinh viên Sư phạm Kỹ thuật có thể dễ dàng thảo luận về các vấn đề liên quan đến học tập, chia sẻ kinh nghiệm và trao đổi thông tin và các thắc mắc liên quan trong quá trình học tập

Website cho phép sinh viên chia sẻ, tải lên, và truy cập tài liệu học tập, bài giảng và tài liệu tham khảo để hỗ trợ quá trình học tập

Thiết kế giao diện đơn giản, tiện lợi, dễ sử dụng, gần gũi với người dùng

Website cung cấp thông tin về chương trình học, tin tức sự kiện và các nguồn hỗ trợ tư vấn khác, giúp sinh viên tìm kiếm thông tin quan trọng Áp dụng công nghệ phát triển web và các framework để tạo môi trường trực tuyến chuyên nghiệp và thân thiện

3 Đối tượng nghiên cứu của đề tài

Các đối tượng nghiên cứu của đề tài:

- Người dùng cuối : Sinh viên, cựu sinh viên, giảng viên có thể truy cập và tương tác với website như đăng bài, thảo luận, chia sẻ tải xuống các tài liệu, truy cập và quản lý thông tin tài khoản cá nhân

- Giảng viên: Đối tượng này có quyền giải đáp tư vấn các bài viết trong quyền hạn được chỉ định

- Trưởng nhóm: Đối tượng này có quyền quản lý các chức năng của hệ thống bao gồm quản lý bài viết, quản lý tài liệu, quản lý lĩnh vực bài viết, quản lý môn học, quản lý tài khoản giảng viên trực thuộc khoa

- Quản trị viên hệ thống : Đối tượng có quyền truy cập và quản lý toàn bộ hệ thống Họ có khả năng truy cập đầy đủ vào các chức năng của hệ thống bao gồm quản lý người dùng, phân quyền truy cập và thực hiện các tác vụ quản lý trên hệ thống

4 Phạm vi nghiên cứu của đề tài

Phạm vi nghiên cứu đề tài bao gồm:

- Thiết kế giao diện hệ thống: Thiết kế giao diện người dùng đảm bảo tính trực quan và thân thiện của trang web Khám phá cách thiết kế giao diện để đảm bảo rõ ràng và dễ sử dụng cho tất cả người dùng

- Kết nối, đăng bài thảo luận: tạo các tính năng để sinh viên kết nối trao đổi với nhau bằng cách đăng bài thảo luận giải đáp thắc mắc trên chủ đề học tập

- Upload và chia sẻ tài liệu: Cho phép sinh viên tải lên, tải về tài liệu học tập và bài giảng giúp tận dụng tài nguyên một cách hiệu quả

- Tìm kiếm bài viết: Người dùng có thể dựa vào yếu tố tiêu đề và nội dung để tìm kiếm bài viết

- Tra cứu lọc tài liệu: Tạo công cụ tra cứu và lọc tài liệu giúp người dùng có thể tìm kiếm thông tin cụ thể, việc tra cứu dựa vào các têu chí lọc như tên tài liệu, tên khoa, môn học

- Quản lý tài khoản cá nhân: Quản lý tài khoản cá nhân của sinh viên, cựu sinh viên, giảng viên bao gồm chỉnh sửa các thông tin cá nhân, lịch sử bài viết đã đăng và thay đổi mật khẩu

- Quản trị hệ thống: thiết kế các chức năng để dễ dàng thực hiện các chức năng quản lý như kiểm duyệt bài viết, quản lý tài liệu,…

5 Phương pháp thực hiện đề tài

Phương pháp thực hiện đề tài bao gồm các bước sau:

CƠ SỞ LÝ THUYẾT

Ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình bậc cao, hướng đối tượng và giúp bảo mật mạnh mẽ, còn được định nghĩa là một Platform, ban đầu Java được phát triển với Sun Micrisystems, do James Gosling khởi xướng và phát hành vào năm 1995 Java hoạt động trên rất nhiều nền tảng như Windows, Mac và các phiên bản khác nhau của UNIX

Các tính năng của Java:

+ Hướng đối tượng: Trong Java, tất cả đều là một Object Java có thể mở rộng và bảo trì dễ dàng bởi nó được xây dựng dựa trên mô hình Object

+ Nền tảng độc lập: Java sử dụng mã byte để đảm bảo tính độc lập với nền tảng, với khả năng thực thi trên nhiều máy ảo Java khác nhau

+ Đơn giản: Java thiết kế đơn giản và dễ học, với việc tập trung vào khái niệm cơ bản của lập trình hướng đối tượng

+ Bảo mật: Tính năng bảo mật cao, hỗ trợ xác thực, mã hóa, và kiểm soát truy cập để đảm bảo ứng dụng an toàn

+ Kiến trúc – trung lập: Trình biên dịch của Java tạo ra các định dạng tệp đối tượng kiến trúc trung lập, khiến mã biên dịch được thực thi trên nhiều bộ vi xử thông qua máy ảo Java

+ Mạnh mẽ: Java kiểm tra lỗi tại thời điểm biên dịch và runtime để loại bỏ các tình huống lỗi

+ Đa luồng: Giúp tạo ra các chương trình thực hiện cùng lúc nhiều tác vụ, cho phép các nhà phát triển xây dựng ứng dụng tương tác chạy trơn tru hơn

+ Thông dịch: Các mã byte Java được dịch trực tiếp tới các máy tính gốc và không được lưu trữ ở bất cứ đâu

+ Phân tán: Java được sử dụng thiết kế cho môi trường phân tán của Internet

Chương 2: Khảo sát và phân tích hiện trạng

+ Năng động: Java năng động hơn C hoặc C++ do được thiết kế với mục đích thích ứng môi trường đang phát triển Các chương trình Java sở hữu lượng lớn thông tin tại runtime có thể được sử dụng để xác minh hay giải quyết các truy cập vào các đối tượng tại runtime

Java có các ưu điểm như:

+ Java có thể chạy trên nhiều nền tảng khác nhau, nhờ vào máy ảo JVM giúp viết mã một lần và chạy trên nhiều hệ điều hành và kiến trúc khác nhau

+ Là một ngôn ngữ hướng đối tượng, giúp tạo ra các mã có cấu trúc, dễ bảo trì và mở rộng

+ Là ngôn ngữ lập trình cấp cao dễ học và dễ hiểu

+ Java có kiến trúc bảo mật cao với các tính năng như kiểm soát truy cập và xác thực, giúp ngăn chặn các tấn công bảo mật

+ Java hỗ trợ đa luồng một cách nội bộ, giúp xây dựng các ứng dụng đồng thời và tận dụng tốt tài nguyên hệ thống

+ Là ngôn ngữ hướng đối tượng làm tăng khả năng phát triển mã dễ dàng và tăng hiệu quả

+ Có nhiều tính năng: tự động thu gom rác, không sử dụng con trỏ, xử lý ngoại lệ…

Tuy sở hữu nhiều ưu điểm nhưng Java vẫn tồn tại một số nhược điểm như: + Java thường chậm hơn các ngôn ngữ biên dịch khác như C++ vì java cần được thông dịch qua JVM

+ Java hạn chế trong việc tương tác trực tiếp với các thành phần hệ thống thấp hơn hoặc phần cứng

Chương 2: Khảo sát và phân tích hiện trạng

Spring Framework

Spring là một Framwork phát triển các ứng dụng Java giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng tại code, …

Spring được thiết kế để có kích thước nhẹ và impose quá nhiều cấu trúc và quy tắc lên lập trình viên để giúp lập trình viên có sự kinh hoạt và kiểm soát cao hơn khi phát triển ứng dụng

Spring giúp tối ưu hóa hiệu năng của ứng dụng thông qua việc quản lý bộ nhớ và cung cấp cơ hội cho việc sử dụng lại code thông qua Dependency Injection và AOP

Spring không giới hạn việc phát triển chỉ trên một loại ứng dụng cụ thể Nó có thể được sử dụng để phát triển ứng dụng web (Spring Web), ứng dụng di động, ứng dụng desktop, và nhiều loại ứng dụng khác dựa trên Java

Một trong những mục tiêu chính của Spring là đảm bảo việc phát triển ứng dụng dựa trên mô hình sử dụng POJO (Plain Old Java Object) trở nên dễ dàng hơn Điều này giúp giảm sự phức tạp và tăng tính linh hoạt của mã nguồn

Spring được chia thành nhiều module riêng biệt, mỗi module có chức năng cụ thể, cho phép lập trình viên sử dụng chỉ những phần cần thiết cho dự án của họ

Spring được chia thành nhiều module, mỗi module làm một chức năng, ví dụ Spring Core, Web, Data access, AOP, … Spring được xây dựng dựa trên 2 khái niệm

Chương 2: Khảo sát và phân tích hiện trạng nền tảng là Dependency injection và AOP (Aspect Oriented Programming).

Hình 1.2.1 Kiến trúc tổng thể của Spring Framework [2]

Các lợi ích khi sử dụng Spring Framework:

+ Spring cho phép sử dụng POJOs (Plan Old Java Objects) để phát triển ứng dụng Điều này giúp giảm sự phức tạp và trừu tượng hóa việc phát triển ứng dụng, làm cho mã nguồn dễ đọc và bảo trì hơn

+ Spring được tổ chức thành các module riêng biệt, mỗi module thực hiện một chức năng cụ thể giúp tách biệt và quản lý các thành phần của ứng dụng một cách hiệu quả Giảm thiểu sự phức tạp, cho phép sử dụng chỉ những module cần thiết cho dự án

+ Spring cung cấp tích hợp với nhiều công nghệ và frameworks khác nhau như ORM (Object-Relational Mapping), logging framework, JEE và nhiều thư viện khác Điều này giúp tạo ra ứng dụng phức tạp với tích hợp dễ dàng

+ Spring cung cấp một module Web theo mô hình MVC, giúp xây dựng ứng dụng web có cấu trúc và dễ dàng bảo trì Spring Web có nhiều tính năng mạnh mẽ để xử lý các yêu cầu HTTP và các tương tác người dùng

Chương 2: Khảo sát và phân tích hiện trạng

+ Spring cung cấp các tiện ích và thư viện tiện lời để giải quyết các vấn đề phổ biến trong phát triển ứng dụng như xử lý ngoại lệ, quản lý giao dịch, bảo mật và giao tiếp với cơ sở dữ liệu

+ Spring được tổ chức theo kiểu mô đun Số lượng các gói và các lớp khá nhiều, nhưng chỉ cần quan tâm đến những gì ta cần và không cần quan tâm đến phần còn lại

+ Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)…

+ Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủ các tính năng giúp thay thế các web framework khác

Spring Boot là một trong số những module của Spring Framework chuyên cung cấp các tính năng Rapid Application Development (RAD) để tạo ra và phát triển nhanh các ứng dụng độc lập dựa trên Spring, ra đời ra đời với mục đích loại bỏ những cấu hình phức tạp của Spring cung cấp các tiện íchvó không yêu cầu cấu hình XML và nâng cao năng suất cho các nhà phát triển Với sự góp mặt của Spring Boot, hệ sinh thái Spring đã trở nên mạnh mẽ, phổ biến và hiệu quả hơn bao giờ hết

Spring Boot là một ngôn ngữ framework phát triển ứng dụng Java dựa trên nền tảng Spring Framework, được thiết kế để giúp các nhà phát triển xây dựng ứng dụng Java nhanh chóng, dễ dàng và hiệu quả, đặc biệt là các ứng dụng Web và dịch vụ Nó không yêu cầu cấu hình XML, chỉ nâng cao năng suất của nhà phát triển

Hình 1.2.2 Mô hình cấu tạo của Spring Boot [3]

Một số ưu điểm chính của Spring boot:

Chương 2: Khảo sát và phân tích hiện trạng

+ Sở hữu đầy đủ các tính năng của Spring Framework

+ Cho phép nhúng trực tiếp lên các web server mà không cần triển khai cái file WAR

+ Tối ưu hóa công đoạn cấu hình cho ứng dụng, không sinh ra code cấu hình từ đó tiết kiệm thời gian viết code và tăng năng suất lao động

+ Spring boot cung cấp tích hợp sẵn các máy chủ HTTPs (HTTP/HTTPS servers) có thể phát triển kiểm thử, deploy một cách dễ dàng

+ Cung cấp các công cụ CLI, cho phép phát triển và kiểm tra ứng dụng Spring Boot một cách nhanh chóng từ dòng lệnh

Spring Data JPA là một phần của hệ thống Spring data giúp giảm thiểu việc thực hiện quá nhiều bước có thể triển khai JPA Nó cho phép truy cập và lưu trữ dữ liệu giữa các object/class Java và database quan hệ JPA tuân theo Object-Relation Mapping

RESTful API [6]

RESTful API là một kiến trúc thiết kế cho các dịch vụ web hoặc ứng dụng web, dựa trên các nguyên tắc cơ bản của REST Nó chú trọng vào tài nguyên hệ thống (văn bản, ảnh, âm thanh, video, hoặc dữ liệu động, …), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng

+ GET (SELECT): Trả về một Resource hoặc một danh sách Resource + POST (CREATE): Tạo mới một Resource

+ PUT (UPDATE): Cập nhật thông tin cho Resource

+ DELETE (DELETE): Xoá một Resource

RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API.

ReactJS

ReactJs là một opensource được phát triển bởi Facebook, được ra mắt vào năm

2013, bản thân là một thư viện của Javascript dùng để xây dụng các tương tác với các thành phần tren website Nó được sử dụng dể xây dựng giao diện người dùng (UI) cho các ứng dụng web hiểu quả và dễ bảo trì ReactJs nổi tiếng với khả năng tạo ra các ứng dụng đơn trang (Single Page Applications - SPAs) và cũng thường được sử dụng trong các dự án phức tạp hơn

ReactJS có các tính năng hết sức nổi bật bao gồm:

Chương 2: Khảo sát và phân tích hiện trạng

+ SX (JavaScript Extension): JSX là một phần của ReactJS, cho phép bạn viết mã JavaScript dễ đọc hơn và biểu thị cấu trúc giao diện người dùng trong các thành phần JSX kết hợp mã JavaScript và HTML-like syntax để tạo giao diện người dùng

+ Components (Thành phần): ReactJS xây dựng giao diện người dùng bằng cách tạo và sắp xếp các thành phần riêng biệt Các thành phần có thể là hàm (functional components) hoặc lớp (class components), cho phép tái sử dụng và cấu trúc gọn gàng

+ Virtual DOM (DOM ảo): ReactJS sử dụng một Virtual DOM để quản lý và cập nhật trạng thái của ứng dụng Thay vì cập nhật trực tiếp DOM thật, React cập nhật DOM ảo trước, sau đó so sánh với DOM thật và cập nhật chỉ các phần thay đổi, giúp cải thiện hiệu suất

+ Javascript Expressions (Biểu thức JavaScript): React cho phép sử dụng biểu thức JavaScript trong mã JSX bằng cặp dấu ngoặc nhọn {} Điều này giúp tích hợp logic và dữ liệu động vào giao diện người dùng

ReactJS có những ưu điểm sau:

+ React có ngưỡng học thấp và cú pháp dễ đọc, làm cho việc bắt đầu và làm việc với nó dễ dàng cho người phát triển mới

+ React cho phép tái sử dụng mã một cách hiệu quả thông qua các thành phần, giúp giảm độ phức tạp của ứng dụng và tiết kiệm thời gian phát triển

+ Sử dụng Virtual DOM giúp tối ưu hóa hiệu suất ứng dụng bằng cách giảm độ phức tạp của việc cập nhật DOM và chỉ cập nhật các phần thay đổi

+ React có một cộng đồng lớn, đông đảo và nhiều tài liệu học tập, cùng với nhiều thư viện và công cụ hỗ trợ giúp phát triển ứng dụng dễ dàng hơn

+ React hỗ trợ SSR, cho phép tạo các ứng dụng web có khả năng tìm kiếm tốt hơn và cải thiện trải nghiệm người dùng

Tuy nhiên, React cũng tồn tại một số nhược điểm như:

+ Các file của ReactJS chiếm dung lượng khá lớn

Chương 2: Khảo sát và phân tích hiện trạng

+ Hầu hết code được viết dưới dạng JSX, tức là HTML và CSS là một phần của JavaScript, nó không giống như những framework khác vẫn tách biệt giữa HTML và CSS Mặc dù phần mở rộng cú pháp JSX giúp một số nhà phát triển dễ dàng hơn, nhưng một số nhóm nhà phát triển lại coi JSX là một nhược điểm của React Nhiều nhà phát triển mới coi JSX là một rào cản để thành thạo ReactJS

+ Tốc độ phát triển của React: có thể được coi là một lợi thế hoặc một bất lợi, tùy thuộc vào bạn là ai Các nhà phát triển coi sự phát triển liên tục này là một lợi ích sẽ lập luận rằng React không ngừng cải tiến và khiến công việc của họ trở nên dễ dàng hơn Các nhà phát triển nhận thấy tốc độ phát triển là một bất lợi phải liên tục học lại cách sử dụng ReactJS và rất khó theo kịp Tốc độ phát triển của ReactJS là một nhược điểm phổ biến, nhưng API cốt lõi của React đã ổn định hơn nhiều trong những năm gần đây.

Python

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển

Các đặc điểm sau tạo nên sự độc đáo của ngôn ngữ lập trình Python:

- Python là một ngôn ngữ thông dịch, điều này nghĩa là ngôn ngữ này trực tiếp chạy từng dòng mã Nếu có lỗi trong mã chương trình, nó sẽ ngừng chạy Do đó, lập trình viên có thể nhanh chóng tìm ra lỗi trong đoạn mã

- Python là một ngôn ngữ dễ sử dụng Python sử dụng từ ngữ giống trong tiếng Anh Không giống như các ngôn ngữ lập trình khác, Python không sử dụng dấu ngoặc tròn Thay vào đó, ngôn ngữ này sử dụng thụt đầu dòng

Chương 2: Khảo sát và phân tích hiện trạng

- Python là một ngôn ngữ linh hoạt Các lập trình viên không cần phải khai báo loại biến khi viết mã bởi vì Python sẽ xác định chúng vào thời điểm chạy Vì vậy có thể viết các chương trình Python một cách nhanh chóng hơn

- Python là một ngôn ngữ cấp cao Python gần gũi với ngôn ngữ con người hơn các ngôn ngữ lập trình khác Do đó, các lập trình viên không cần phải lo lắng về những chức năng cơ bản của nó như kiến trúc và quản lý bộ nhớ

- Python là một ngôn ngữ lập trình hướng đối tượng Python coi mọi thứ đều là đối tượng, nhưng ngôn ngữ này cũng hỗ trợ các phương thức lập trình khác như lập trình hàm và lập trình cấu trúc.

Kiến trúc Transformer

Cấu trúc của transformer được giới thiệu trong bài báo "Attention is all you need” Ở bên trái là encoder, thông thường có Nx = 6 layers chồng lên nhau Mỗi layer sẽ có multi-head attention như đã tìm hiểu và khối feed-forward Ngoài ra còn các các kết nối residual giống như trong mạng Resnet Ở bên phải là decoder, tương tự cũng có Nx = 6 layers chồng lên nhau Kiến trúc thì khá giống encoder những chỉ có thên khối masked multi-head attention ở vị trí đầu tiên

Chương 2: Khảo sát và phân tích hiện trạng

Hình 1.6.1 Cấu trúc của Transformer[11]

- Positional encoding: Bởi vì transformer không có các mạng hồi tiếp hay mạng tích chập nên nó sẽ không biết được thứ tự của các token đầu vào Vì vậy, cần phải có cách nào đó để cho mô hình biết được thông tin này Đó chính là nhiệm vụ của positional encoding Như vậy, sau bước nhúng từ (embedding layers) để thu được các tokens thì ta sẽ cộng nó với các vector thể hiển vị trí của từ trong câu

- Lớp Normalization: Trong hình ảnh cấu trúc, có lớp "Add & Norm" thì từ Norm thể hiển cho lớp Normalization Lớp này đơn giản là sẽ chuẩn hóa lại

Chương 2: Khảo sát và phân tích hiện trạng đầu ra của multi-head attention, mang lại hiệu quả cho việc nâng cao khả năng hội tụ

- Kết nối Residual: Kết nối residual bản chất rất đơn giản, thêm đầu vào của một khối vào đầu ra của nó Với kết nối này giúp mạng có thể chồng được nhiều layers Như trên hình, kết nối residual sẽ được sử dụng sau các khối FFN và khối attention Như trên hình từ "Add" trong "Add & Norm" sẽ thể hiện cho kết nối residual

- Khối Feed-Forward: Đây là khối cơ bản, sau khi thực hiện tính toán ở khối attention ở mỗi lớp thì khối tiếp theo là FFN Có thể hiểu là cơ chế attention giúp thu thập thông tin từ những tokens đầu vào thì FFN là khối xử lí những thông tin đó.

Kỹ Thuật RAG (Retrieval Augmented generation)

RAG là một kỹ thuật nhằm nâng cao độ chính xác và độ tin cậy của các mô hình GenAI với các dữ kiện được lấy từ các nguồn bên ngoài

Nói cách khác, nó lấp đầy khoảng trống trong cách thức hoạt động của LLM Về cơ bản, các LLM là mạng lưới thần kinh nhân tạo (neural networks), thường được đo bằng số lượng tham số mà chúng chứa Các tham số của một LLM về cơ bản thể hiện các mẫu chung về cách con người sử dụng các từ để tạo thành câu

Tóm tắt ngắn gọn quá trình của RAG như sau:

- Create Vector database: Đầu tiên, convert toàn bộ dữ liệu tri thức thành các vector và lưu trữ chúng vào một vector database

- User input: User cung cấp 1 câu truy vấn (query) bằng ngôn ngữ tự nhiên nhằm tìm kiếm câu trả lời hoặc để hoàn thành câu truy vấn đó

- Information retrieval: Cơ chế retrieval quét toàn vộ vector trong database để xác định các phân đoạn tri thức (chính là paragraphs) nào có ngữ nghĩa tương đồng với câu truy vấn của người dùng Các paragraphs này sau đó được vào LLM để làm tăng context cho quá trình sinh ra câu trả lời

- Combining data: Các paragraphs được lấy sau quá trình retrieval từ database được kết hợp với câu query ban đầu của user tạo thành 1 câu prompt

Chương 2: Khảo sát và phân tích hiện trạng

- Generate text: Câu prompt được bổ sung thêm context sau đó được đưa qua

LLM để sinh ra câu phản hồi cuối cùng theo context bổ sung

Mô tả nguyên lý hoạt động của RAG:

Hình 3 Mô hình retrieval – augmented generation (RAG)

Bước 1: Truy vấn ban đầu

Người dùng đặt câu hỏi hoặc cung cấp một đoạn văn bản yêu cầu Hệ thống sẽ tiếp nhận thông tin này và bắt đầu xử lý

Bước 2: Truy xuất thông tin

Câu hỏi hoặc đoạn văn bản yêu cầu được chuyển thành một truy vấn tìm kiếm Hệ thống truy xuất thông tin sẽ tìm kiếm và trả về các tài liệu hoặc đoạn văn bản liên quan từ cơ sở dữ liệu vectơ Cơ sở dữ liệu vectơ này lưu trữ các biểu diễn vectơ của các tài liệu, giúp hệ thống có thể tìm kiếm nhanh chóng và hiệu quả

Bước 3: Tích hợp thông tin

Các tài liệu hoặc đoạn văn bản được lấy về từ bước 2 sẽ được kết hợp và cung cấp cho mô hình ngôn ngữ lớn (LLM) LLM sẽ sử dụng thông tin này làm ngữ cảnh để tạo ra câu trả lời chính xác và phù hợp với yêu cầu của người dùng

LLM sử dụng thông tin ngữ cảnh thu thập được từ các tài liệu hoặc đoạn văn bản liên quan để tạo ra câu trả lời Câu trả lời này sẽ được trình bày cho người dùng dưới dạng văn bản.

KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG

Khảo sát hiện trạng

Trong thời đại công nghệ thông tin phát triển mạnh mẽ, Internet đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của mọi người, và sinh viên cũng không ngoại lệ Internet mang đến nhiều tiện ích, giúp kết nối bạn bè, hỗ trợ học tập, giải trí và tìm kiếm thông tin một cách dễ dàng

Nhu cầu kết nối và chia sẻ thông tin giữa sinh viên ngày càng cao Việc thiếu đi một nền tảng chung khiến sinh viên gặp khó khăn trong việc trao đổi học tập, cập nhật thông tin từ nhà trường và tham gia các hoạt động ngoại khóa Hiện nay, sinh viên chủ yếu kết nối với nhau qua các mạng xã hội như Facebook, Instagram, Zalo Tuy nhiên, các nền tảng này vẫn có những hạn chế nhất định Chẳng hạn quản lý nội dung còn kém, dẫn đến việc lan truyền thông tin sai lệch và không chính thống, khó tạo ra một cộng đồng sinh viên gắn kết Để khắc phục những vấn đề trên, việc xây dựng một website kết nối sinh viên trở thành giải pháp cần thiết Trang web này có thể được thiết kế với nhiều tính năng hữu ích như trao đổi thông tin, tài liệu, theo dõi các hoạt động mới từ nhà trường, đăng ký tài khoản, đăng nhập và quản lý thông tin cá nhân Sinh viên có thể sử dụng chức năng tìm kiếm, bình luận và thảo luận về các chủ đề liên quan đến học tập và hoạt động

Việc xây dựng hệ thống kết nối sinh viên không chỉ tạo ra một môi trường giao lưu mạnh mẽ giữa các sinh viên, mà còn hỗ trợ mục tiêu chia sẻ, học hỏi và trao đổi thông tin Nó giúp sinh viên cập nhật thông tin về các hoạt động và sự kiện của trường Để đảm bảo hiệu quả của website, cần chú trọng thiết kế giao diện thân thiện, cung cấp đầy đủ các tính năng cần thiết, bảo mật thông tin cá nhân và tăng cường quản lý nội dung để ngăn chặn thông tin không chính thống Với những lợi ích và yêu cầu này, nhóm chúng em triển khai xây dựng hệ thống kết nối sinh viên Sư Phạm Kỹ Thuật sử dụng Spring boot

Chương 2: Khảo sát và phân tích hiện trạng

2.1.1 Trang tư vấn sinh viên Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ

Hình 2.1.1 Giao diện trang Đăng nhập

Hình 2.1.2 Giao diện trang chủ Tư vấn sinh viên

Chương 2: Khảo sát và phân tích hiện trạng

Hình 2.1.3 Giao diện Form đặt câu hỏi cho ban tư vấn

Hình 2.1.4 Giao diện Câu hỏi và câu trả lời

Hình 2.1.5 Giao diện trang Ban tư vấn viên

Chương 2: Khảo sát và phân tích hiện trạng

Hình 2.1.6 Giao diện Trang thư viện câu hỏi

Hình 2.1.7 Giao diện Trang hoạt động

Bảng 2.1.1 Nhận xét trang Tư vấn sinh viên

Các chức năng Hạn chế

- Có chức năng đăng nhập,

- Gửi câu hỏi và câu trả lời

- Có danh sách đội ngũ tư vấn viên

- Giao diện chưa thân thiện người dùng

Chương 2: Khảo sát và phân tích hiện trạng

- Có hệ thống câu hỏi, lọc câu hỏi theo từng đơn vị

- Có thư viện câu hỏi

- Chưa bảo mật thông tin người dùng khi trao đổi vấn đề

- Thời gian phản hồi trang web chưa tối ưu

- Một vài tính năng chưa thể sử dụng.

Phân tích yêu cầu của đề tài

Xây dựng website tư vấn sinh viên trong đó người dùng có thể chia sẻ, tải xuống và truy cập tài liệu học tập, bài giảng và tài liệu tham khảo để hỗ trợ quá trình học tập Với giao diện đơn giản, tiện lợi, dễ sử dụng, gần gũi với người dùng Áp dụng công nghệ phát triển web và các framework để tạo môi trường trực tuyến chuyên nghiệp và thân thiện

Xây dựng hệ thống website trong đó người dùng có thể theo dõi các tin tức, thông báo của nhà trường, trao đổi chia sẻ thông tin, tài liệu nhằm gắn kết một cộng đồng sinh viên Bên cạnh đó hệ thống cung cấp website quản trị để quản lý người dùng, quản lý bài viết, tin tức, thông báo,… Thiết kế giao diện đơn giản, tiện lợi, dễ sử dụng, gần gũi với người dùng Áp dụng công nghệ phát triển web và các framework để tạo môi trường trực tuyến chuyên nghiệp và thân thiện

2.2.1.1 Yêu cầu chức năng nghiệp vụ Đối với người dùng chưa đăng nhập :

+ Xem các thông báo mới nhất từ trường

+ Xem các thông tin như giới thiệu chung, lịch sử hình thành, đơn vị liên kết và những thông tin khác liên quan tới trường

+ Xem chi tiết, lọc (ngày phát hành, danh mục), tìm kiếm theo từ khóa tin tức và sự kiện

+ Xem, lọc (đơn vị, lĩnh vực), tìm kiếm (nội dung, tiêu đề) bài viết

+ Xem chi tiết, lọc (khoa, ngành, môn học), tìm kiếm theo tiêu đề của tài liệu

Chương 2: Khảo sát và phân tích hiện trạng Đối với người dùng đã đăng nhập

+ Đăng nhập vào hệ thống

+ Quản lý thông tin cá nhân: Xem, cập nhật thông tin cá nhân

+ Quản lý bài viết: Xem, cập nhật, xóa thông tin bài viết

+ Quản lý tài liệu: Xem, xóa tài liệu đã tải lên trước đó

+ Thay đổi mật khẩu: Thực hiện thay đổi mật khẩu

+ Trò chuyện với trợ lý ảo về các quy chế, quy định liên quan đến sinh viên trường

+ Xem các thông báo mới nhất từ trường

+ Xem các thông tin như giới thiệu chung, lịch sử hình thành, đơn vị liên kết và những thông tin khác liên quan tới trường

+ Xem chi tiết, lọc (ngày phát hành, danh mục), tìm kiếm theo từ khóa tin tức và sự kiện

+ Xem, lọc (đơn vị, lĩnh vực), tìm kiếm (nội dung, tiêu đề) bài viết

+ Xem chi tiết, tải về, lọc (khoa, ngành, môn học), tìm kiếm theo tiêu đề của tài liệu

+ Phản hồi bài viết của người dùng

+ Quản lý bài viết: Xem chi tiết, lọc (trạng thái, chế độ, lĩnh vực), tra cứu theo tiêu đề, cập nhật trạng thái hoạt động, xóa bài viết

+ Quản lý tài liệu: Xem chi tiết, lọc (trạng thái, ngành), tra cứu theo tên, cập nhật trạng thái hoạt động, xóa tài liệu

+ Quản lý lĩnh vực bài viết: Xem chi tiết, lọc trạng thái, tra cứu tên lĩnh vực, cập nhật trạng thái hoạt động, xóa lĩnh vực bài viết

+ Quản lý môn học: Xem, lọc (trạng thái, ngành), tra cứu tên môn học, cập nhật trạng thái hoạt động, chỉnh sửa thông tin, xóa môn học

+ Quản lý tài khoản: Xem, lọc (trạng thái, lĩnh vực), tra cứu theo tên giảng viên, thêm mới, chỉnh sửa thông tin, cập nhật trạng thái hoạt động, khóa tài khoản, xóa tài khoản, xuất file danh sách tài khoản, thêm mới hàng loạt tài khoản

+ Đăng xuất hệ thống Đối với giảng viên

Chương 2: Khảo sát và phân tích hiện trạng

+ Xem các thông báo mới nhất từ trường

+ Xem các thông tin như giới thiệu chung, lịch sử hình thành, đơn vị liên kết và những thông tin khác liên quan tới trường

+ Xem chi tiết, lọc (ngày phát hành, danh mục), tìm kiếm theo từ khóa tin tức và sự kiện

+ Xem, lọc (đơn vị, lĩnh vực), tìm kiếm (nội dung, tiêu đề) bài viết

+ Xem chi tiết, lọc (khoa, ngành, môn học), tìm kiếm theo tiêu đề của tài liệu Đối với Trưởng nhóm

+ Xem các thông báo mới nhất từ trường

+ Xem các thông tin như giới thiệu chung, lịch sử hình thành, đơn vị liên kết và những thông tin khác liên quan tới trường

+ Xem chi tiết, lọc (ngày phát hành, danh mục), tìm kiếm theo từ khóa tin tức và sự kiện

+ Xem, lọc (đơn vị, lĩnh vực), tìm kiếm (nội dung, tiêu đề ) bài viết

+ Xem chi tiết, lọc (khoa, ngành, môn học), tìm kiếm theo tiêu đề của tài liệu

+ Đăng ký tài khoản Đối với admin

+ Quản lý tài liệu: Thêm, sửa, xóa tài liệu học tập

+ Quản lý cấu hình giới thiệu

+ Quản lý bài viết: Xem chi tiết, tra cứu (trạng thái, chế độ, đơn vị, từ khóa), cập nhật trạng thái, xóa bài viết

+ Quản lý tài liệu: Xem chi tiết, tra cứu (trạng thái, khoa), cập nhật trạng thái, xóa tài liệu

+ Quản lý tin tức: Xem chi tiết, cập nhật, lọc theo danh mục, tra cứu theo nội dung, bật tắt trạng thái, xóa, thêm mới tin tức

+ Quản lý đơn vị: Xem, lọc trạng thái, tra cứu theo tên đơn vị, cập nhật trạng thái, chỉnh sửa thông tin, xóa, thêm mới đơn vị

+ Quản lý khoa: Xem chi tiết, tra cứu theo tên khoa, cập nhật trạng thái, chỉnh sửa, xóa, thêm mới khoa

Chương 2: Khảo sát và phân tích hiện trạng

+ Quản lý ngành: Xem, lọc (trạng thái, khoa), tra cứu theo ngành, thêm mới, cập nhật trạng thái, chỉnh sửa, xóa ngành

+ Quản lý tài khoản hệ thống: Xem chi tiết, thêm mới, xóa tài khoản hệ thống + Quản lý tài người dùng: Xem chi tiết, lọc (trạng thái, khoa), tra cứu tên người dùng, xác nhận yêu cầu đổi ngành, cập nhật hiển thị, khóa tài khoản, xóa tài khoản người dùng

+ Quản lý trưởng nhóm: Xem chi tiết, lọc theo (trạng thái, đơn vị), tra cứu (Email tài khoản, tên giảng viên, mã giảng viên), thêm mới, khóa tài khoản, chỉnh sửa thông tin, khôi phục mật khẩu, chuyển đổi vai trò, xóa tài khoản, xuất file danh sách tài khoản hiện có, thêm mới hàng loạt trưởng nhóm

+ Quản lý giảng viên: Xem chi tiết, lọc theo (trạng thái, đơn vị), tra cứu( Email tài khoản, tên giảng viên, mã giảng viên), thêm mới, cập nhật hiển thị, khóa tài khoản, chuyển vai trò, xóa tài khoản

+ Quản lý lịch sử thao tác: Xem chi tiết thông tin, tra cứu người dùng, khóa tài khoản lịch sử thao tác

+ Quản lý lĩnh vực tin tức: Xem, lọc trạng thái, tra cứu tên, cập nhật hoạt động, chỉnh sửa, xóa lĩnh vực tin tức

+ Quản lý người dùng: Sửa, xóa thông tin của người dùng

+ Thống kê: Thống kê bài số lượng bài viết của khoa (ngày, tuần, tháng, năm), lọc theo đơn vị và thời gian

2.2.1.2 Yêu cầu chức năng hệ thống

Ngoài các chức năng cơ bản cần có của một website tư vấn sinh viên, hệ thống còn cung cấp các chức năng đặc trưng sau:

Bảng 2.2.1 Mô tả yêu cầu chức năng hệ thống

TT Chức năng Mô tả chi tiết Ghi chú

Chương 2: Khảo sát và phân tích hiện trạng

Hệ thống đảm bảo chỉ người dùng đã xác thực mới có thể truy cập vào các chức năng và tài nguyên của hệ thống

Người dùng chưa đăng nhập chỉ có thể truy cập vào các tài nguyên công khai

Hệ thống cung cấp các chức năng để thêm, xem, sửa, và xóa các dữ liệu trong hệ thống

• Quản trị viên (Admin): có quyền sử dụng các chức năng của hệ thống quản lý; trong đó quản trị viên có thể tạo thêm các tài khoản của trưởng nhóm cũng như các tài khoản hệ thống, đồng thời quản lý quyền của các vai trò này

• Trưởng nhóm: có quyền sử dụng các chức năng quản lý bài viết, phân công giải đáp, duyệt bài viết, quản lý giảng viên

• Giảng viên: có quyền theo dõi, giải đáp các thắc thắc của người dùng, có quyền cũng như các chức năng của người dùng

• Người dùng: Được quyền sử dụng các chức năng quản lý tài khoản và thông tin cá nhân, tạo mới bài viết, xem bài viết, cập nhật bài viết, xóa bài viết, bình luận bài viết, chỉnh sửa bình luận, thả emoticon bài viết, gỡ emoticion bài viết, tạo nhóm, trao đổi trong nhóm

• Hệ thống có nhiều tài khoản thuộc các vai trò mặc định: Quản trị viên, trưởng nhóm, giảng viên, người dùng

• Ngoài các vai trò mặc định, Quản trị viên có thể tạo thêm vai trò Giảng viên cũng như cập nhật quyền của vai trò ở hệ thống quản lý

Chương 2: Khảo sát và phân tích hiện trạng

Quản lý các file phương tiện

• Các file phương tiện (hình ảnh và các file doc và excel) khi đưa vào hệ thống để lưu trữ đầu tiên sẽ được kiểm tra phải chính xác là các file phương tiện, sau đó hệ thống sẽ sử dụng dịch vụ bên thứ 3 là Firebase để lưu trữ và quản lý

• Khi có ngoại xảy ra trong các chức năng có liên quan đến upload file phương tiện, khi rollback hệ thống cũng sẽ tự động xóa các file đã upload trước đó

Chức năng xóa tài nguyên

• Khi thực hiện các chức năng có liên quan đến file phương tiện bị thay thế, bị xóa, hệ thống đồng sẽ xóa file phương tiện đó tại dịch vụ bên thứ 3

Hệ thống dùng dịch vụ bên thứ 3 là Google Gmail để gửi OTP qua email

OTP sẽ được tạo bên trong hệ thống và lưu trong database và sử dụng mail.smtp để gửi mail

Chương 2: Khảo sát và phân tích hiện trạng

7 Thời gian Thời gian hệ thống tự động chuyển đổi và lưu dưới dạng UTC

• Múi giờ mặc định của hệ thống là GMT+7

• Hệ thống hỗ trợ định dạng múi giờ mặc định trả về và chấp nhận định dạng múi giờ là định dạng đầu vào (nếu không chỉ định sẽ theo múi giờ mặc định của hệ thống)

8 Định danh người dùng bằng JWT

Hệ thống sử dụng JWT để xác thực người dùng đã đăng nhập

JWT sẽ hết hạn sau 24 giờ kể từ thời gian cấp token

Hệ thống sử dụng Postgresql để lưu trữ dữ liệu chính cho hệ thống

Hệ thống áp dụng hướng tiếp cận Code- First giúp đơn giản hoá thao tác với cơ sở dữ liệu; tập trung vào mã nguồn và từ mã nguồn cơ sở dữ liệu sẽ được tạo một cách hoàn toàn tự động; đồng bộ hóa cấu trúc cơ sở dữ liệu với mã nguồn; giảm phụ thuộc vào loại cơ sở dữ liệu sử dụng

Chương 2: Khảo sát và phân tích hiện trạng

Xác thực dữ liệu đầu vào

Hệ thống sử dụng tính năng Validation của Javax để validate dữ liệu của request đầu vào, đồng thời có chức năng ngăn chặn người dùng cố ý nhập sai thông tin (nhập thông tin do người dùng khác sở hữu, …)

Hệ thống sử dụng mã hóa Bjcrypt để mã hóa và lưu trữ thông tin nhạy cảm như mật khẩu

Phân quyền hệ thống quản lý

Hệ thống có phân quyền trên các chức năng quản lý, chỉ có người dùng có vai trò có quyền của chức năng đó mới sử dụng được

Chức năng quản lý truy cập tài nguyên

Các tài nguyên có chức năng vô hiệu hóa sẽ ẩn các tài nguyên khỏi hệ thống, người dùng sẽ không thể tìm thấy/truy cập tài nguyên đó nữa Và tương tự khi hủy vô hiệu hóa tài nguyên đó

Khóa tài khoản người dùng

Người quản lý (hệ thống quản lý) có thể khóa tài khoản của người dùng, giảng viên, trưởng nhóm

Thông báo đến người sử dụng các thông báo cần thiết thông qua socket và thời gian thực

Cung cấp nhật ký hệ thống

Ghi lại lịch sử khóa hoạt động của các tài khoản người dùng

Chương 2: Khảo sát và phân tích hiện trạng

Cấu hình mặc định hệ thống

• Hệ thống có các cấu hình mặc định như kích thước trang mặc định, múi giờ mặc định nếu người dùng không chỉ định các tham số đó

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

Lược đồ Usecase

Hình 3.1.1 Lược đồ Usecase hệ thống

Đặc tả Usecase

Bảng 3.2.1 Đặc tả usecase Đăng nhập

Mô tả Usecase Usecase này cho phép người dùng đăng nhập vào hệ thống Actor chính Admin, Trưởng nhóm, User

Tiền điều kiện Truy cập thành công vào hệ thống

Hậu điều kiện Đăng nhập thành công

1 Người dùng truy cập vào trang đăng nhập

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

3 Người dùng nhập Email và mật khẩu

4 Hệ thống kiểm tra thông tin hợp lệ

5 Hệ thống chuyển đến trang chủ, đăng nhập thành công

Luồng thay thế Không có

Chương 3: Mô hình hóa yêu cầu

4a Hệ thống kiểm tra thông tin không hợp lệ, Usecase kết thúc

Bảng 3.2.2 Đặc tả usecase Đăng xuất

Mô tả Usecase Usecase này cho phép người dùng đăng xuất khỏi hệ thống Actor chính Admin, Trưởng nhóm , User

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Hậu điều kiện Đăng xuất thành công

1 Người dùng chọn Đăng xuất

2 Hệ thống hủy phiên đăng nhập của người dùng

3 Đưa người dùng về trang chủ của hệ thống Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.3 Đặc tả usecase Đăng ký

Mô tả Usecase Usecase cho phép khách tạo tài khoản trên hệ thống

Tiền điều kiện Người dùng chưa có tài khoản hệ thống

+ Tài khoản được tạo thành công trên hệ thống + Thông báo đăng kí tài khoản thành công

1 Khách hàng truy cập vào trang đăng ký tài khoản

2 Hệ thống hiển thị cửa sổ đăng ký tài khoản

3 Người dùng nhập thông tin đăng ký tài khoản và chọn "Sign up”

4 Hệ thống kiểm tra thông tin đăng ký hợp lệ

Chương 3: Mô hình hóa yêu cầu

5 Hệ thống tạo tài khoản đăng ký vào hệ thống đồng thời hiển thị thông báo thành công

Luồng thay thế Không có

4b Hệ thống kiểm tra thông tin không hợp lệ, Usecase kết thúc

Bảng 3.2.4 Đặc tả usecase Quản lý bài viết

Tên Usecase Quản lý tài liệu

Mô tả Usecase Usecase cho phép Trưởng nhóm quản lý bài viết

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Trưởng nhóm chọn chức năng Quản lý bài viết

2 Hệ thống hiển thị danh sách tất cả các bài viết

3 Trưởng nhóm bật switch để duyệt bài hoặc xóa các bài viết không hợp lệ

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

3a Trưởng nhóm lọc theo trạng thái, chế độ hoặc lĩnh vực bài viết

4a Hệ thống hiển thị các bài viết liên quan đến dữ liệu lọc

3b Trưởng nhóm nhập từ khóa tìm kiếm và nhấp button Tìm kiếm

4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

Chương 3: Mô hình hóa yêu cầu

4 Lưu thay đổi thất bại.Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Bảng 3.2.5 Đặc tả usecase Quản lý tài liệu

Tên Usecase Quản lý tài liệu

Mô tả Usecase Usecase cho phép trưởng nhóm quản lý tài liệu

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Trưởng nhóm chọn chức năng Quản lý tài liệu

2 Hệ thống hiển thị danh sách tất cả các tài liệu

3 Trưởng nhóm bật switch để duyệt bài hoặc xóa các tài liệu không hợp lệ

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

3a Trưởng nhóm lọc theo trạng thái, chế độ hoặc lĩnh vực bài viết

4a Hệ thống hiển thị các bài viết liên quan đến dữ liệu lọc

3b Trưởng nhóm nhập từ khóa tìm kiếm và nhấp button Tìm kiếm

4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

Luồng ngoại lệ 4 Lưu thay đổi thất bại.Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Bảng 3.2.6 Đặc tả usecase Quản lý lĩnh vực bài viết

Tên Usecase Quản lý danh mục tài liệu

Mô tả Usecase Usecase cho Trưởng nhóm quản lý lĩnh vực bài viết

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Trưởng nhóm chọn chức năng Quản lý lĩnh vực bài viết

2 Hệ thống hiển thị danh sách tất cả các danh sách lĩnh vực bài viết

3 Trưởng nhóm chọn buton Thêm mới

4 Hệ thống hiển thị form để Trưởng nhóm điền thông tin tạo mới lĩnh vực

5 Admin nhập thông tin sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin lĩnh vực và thông báo Thêm mới thành công

3a Trưởng nhóm nhấp icon Chỉnh sửa ở lĩnh vực cần cập nhật 4a Hệ thống hiển thị form để Trưởng nhóm điền thông tin cần chỉnh sửa

5a Trưởng nhóm nhập các thông tin cần sửa và nhấp Lưu 6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

Chương 3: Mô hình hóa yêu cầu

3b Trưởng nhóm trượt switch button ở danh mục cần thay đổi trạng thái hiển thị

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

Luồng ngoại lệ 6a Hệ thống kiểm tra thông tin không hợp lệ

7a Thông báo lỗi không hợp lệ Usecase kết thúc

Bảng 3.2.7 Đặc tả usecase Quản lý môn học

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

Mô tả Usecase Usecase cho phép trưởng nhóm quản lý môn học

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Trưởng nhóm chọn chức năng Quản lý môn học

2 Hệ thống hiển thị danh sách tất cả các môn học

3 Admin chọn buton Thêm mới

4 Hệ thống hiển thị form điền thông tin tạo mới môn học

5 Trưởng nhóm nhập thông tin sau đó chọn Thêm mới

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin môn học và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở môn học cần cập nhật

4a Hệ thống hiển thị form để Trưởng nhóm điền thông tin cần chỉnh sửa

5a Trưởng nhóm nhập các thông tin cần sửa và nhấp Cập nhật 6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

Chương 3: Mô hình hóa yêu cầu

3b Admin trượt switch button ở môn học cần thay đổi trạng thái hiển thị

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

3c Trưởng nhóm lọc theo trạng thái, chế độ hoặc lĩnh vực môn học

4c Hệ thống hiển thị các bài viết liên quan đến dữ liệu lọc 3d Trưởng nhóm nhập từ khóa tìm kiếm và nhấp button Tìm kiếm

4d Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

6 Hệ thống kiểm tra thông tin không hợp lệ

7 Thông báo lỗi không hợp lệ Usecase kết thúc

4b Hệ thống thay đổi không thành công

4c Hệ thống lọc môn học không thành công

4d Hệ thống tìm kiếm bài viết không thành công

Bảng 3.2.8 Đặc tả usecase Quản lý tài khoản

Tên Usecase Quản lý người dùng

Mô tả Usecase Usecase cho phép trưởng nhóm quản lý tài khoản giảng viên Actor chính Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

Chương 3: Mô hình hóa yêu cầu

1 Trưởng nhóm chọn chức năng Quản lý tài khoản

2 Hệ thống hiển thị danh sách tất cả các tài khoản giảng viên hiện có

3 Admin chọn buton Thêm tài khoản

4 Hệ thống hiển thị form điền thông tin Thêm mới giảng viên

5 Trưởng nhóm nhập thông tin sau đó chọn Thêm giảng viên

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Trưởng nhóm nhấp icon Chỉnh sửa ở tài khoản cần chỉnh sửa lĩnh vực

4a Hệ thống hiển thị form để Trưởng nhóm thay đổi lĩnh vực đảm nhận

5a Trưởng nhóm nhập các thông tin cần sửa và nhấp Cập nhật 6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở tài khoản cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

3c Trưởng nhóm chọn icon Cấp lại mật khẩu 4c Hệ thống hiển thị thông báo xác nhận cấp lại mật khẩu 5c Trưởng nhóm nhấp button Xác nhận để cấp lại mật khẩu 6c Hệ thống hiển thị thông báo thành công

3d Trưởng nhóm chọn icon Xóa tài khoản 4d Hệ thống hiển thị thông báo xác nhận xóa tài khoản

5d Trưởng nhóm nhấp button Xác nhận xóa mật khẩu

6d Hệ thống hiển thị thông báo thành công

Chương 3: Mô hình hóa yêu cầu

3e Trưởng nhóm chọn button Xuất file Excel 4e Hệ thống tải xuống các tài khoản hiển tại

3f Trưởng nhóm chọn button Tải File 4f Hệ thống hiển thị Form thêm mới giảng viên 5f Trưởng nhóm upload danh sách giảng viên 6f Trưởng nhóm nhấp button Thêm giảng viên 7e Hệ thống thêm mới thành công đồng thời hiển thị thông báo

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

6b Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4e Hệ thống tải xuống thất bại Usecase kết thúc

4f Hệ thống thêm mới thất bại Usecase kết thúc

Bảng 3.2.9 Đặc tả Usecase Thống kê

Mô tả Usecase Usecase cho phép Trưởng nhóm theo dõi quá trình thống kê phân tích bài viết trên hệ thống

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Hiển thị thống kê bài viết và giảng viên trên hệ thống

1 Trưởng nhóm chọn chức năng Thống kê bài viết

2 Hệ thống hiển thị thống kê theo lĩnh vực và giảng viên

Chương 3: Mô hình hóa yêu cầu

3 Trưởng nhóm chọn lọc các thông tin hiển thị

4 Hệ thống hiển thị thực hiện phân tích dữ liệu theo dữ liệu lọc

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.10 Đặc tả Usecase Thống kê đơn vị

Tên Usecase Thống kê đơn vị

Mô tả Usecase Usecase cho phép Admin theo dõi quá trình thống kê phân tích đơn vị trên hệ thống

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Hiển thị thống kê đơn vị hệ thống

1 Admin chọn chức năng Thống kê

2 Hệ thống hiển thị thống kê theo đơn vị hiện có

3 Admin chọn lọc các thông tin hiển thị

4 Hệ thống hiển thị thực hiện phân tích dữ liệu theo dữ liệu lọc

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.11 Đặc tả usecase quản lý bài viết

Tên Usecase Quản lý tài liệu

Mô tả Usecase Usecase cho phép Admin quản lý bài viết

Chương 3: Mô hình hóa yêu cầu

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý bài viết

2 Hệ thống hiển thị danh sách tất cả các bài viết

3.Admin bật switch để duyệt bài hoặc xóa các bài viết không hợp lệ

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

3a Admin lọc theo trạng thái, chế độ hoặc lĩnh vực bài viết 4a Hệ thống hiển thị các bài viết liên quan đến dữ liệu lọc

3b Admin nhập từ khóa tìm kiếm và nhấp button Tìm kiếm 4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

4 Lưu thay đổi thất bại Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Bảng 3.2.12 Đặc tả usecase quản lý tài liệu

Tên Usecase Quản lý tài liệu

Mô tả Usecase Usecase cho phép admin quản lý tài liệu

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

Chương 3: Mô hình hóa yêu cầu

1 Admin chọn chức năng Quản lý tài liệu

2 Hệ thống hiển thị danh sách tất cả các tài liệu

3 Admin nhóm bật switch để duyệt bài hoặc xóa các tài liệu không hợp lệ

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

3a Admin lọc theo trạng thái, chế độ hoặc lĩnh vực bài viết 4a Hệ thống hiển thị các bài viết liên quan đến dữ liệu lọc

3b Admin nhập từ khóa tìm kiếm và nhấp button Tìm kiếm 4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

4 Lưu thay đổi thất bại Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Bảng 3.2.13 Đặc tả usecase quản lý tin tức

Tên Usecase Quản lý tin tức

Mô tả Usecase Usecase cho phép trưởng nhóm quản lý tin tức hiển thị ở trang chủ Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý tin tức

2 Hệ thống hiển thị danh sách tất cả các tài liệu

3 Admin nhóm bật switch để bật tắt hiển thị tin tức

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

Chương 3: Mô hình hóa yêu cầu

3a Admin lọc theo chế độ hiển thị tin tức

4a Thay đổi thành công hệ thống hiển thị thông báo

3b Admin nhập từ khóa tìm kiếm và nhấp button Tìm kiếm 4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

3c Admin nhấp icon Chỉnh sửa

4c Hệ thống hiển thị form chỉnh sửa tin tức

5c Admin thay đổi các thông tin cần chỉnh sửa

7c Hệ thống lưu thay đổi và cập nhật hiển thị thành công

4 Lưu thay đổi thất bại Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Bảng 3.2.14 Đặc tả usecase Quản lý đơn vị

Tên Usecase Quản lý đơn vị

Mô tả Usecase Usecase cho phép admin quản lý đơn vị của hệ thống

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý đơn vị

2 Hệ thống hiển thị danh sách tất cả các đơn vị hiện có trên hệ thống

3 Admin chọn buton Thêm đơn vị

Chương 3: Mô hình hóa yêu cầu

4 Hệ thống hiển thị form điền thông tin Thêm đơn vị mới

5 Admin nhập thông tin sau đó chọn Thêm đơn vị mới

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở đơn vị cần chỉnh thông tin 4a Hệ thống hiển thị form để Admin chỉnh sửa thông tin đơn vị

5a Admin nhập các thông tin cần sửa và nhấp Cập nhật

6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở đơn vị cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

3c Admin lọc trạng thái đơn vị hoặc tìm kiếm đơn vị 4c Hệ thống hiển thị các đơn vị liên quan đến các thông tin tìm kiếm

3d Admin chọn icon Xóa đơn vị

4d Hệ thống hiển thị thông báo xác nhận xóa đơn vị

5d Admin nhấp button Xác nhận đơn vị 6d Hệ thống hiển thị thông báo thành công

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4c Hệ thống không hiển thị hoặc hiển thị sai đơn vị cần tìm kiếm Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.15 Đặc tả usecase Quản lý khoa

Tên Usecase Quản lý khoa

Mô tả Usecase Usecase cho phép admin quản lý khoa của hệ thống

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý khoa

2 Hệ thống hiển thị danh sách tất cả các khoa hiện có trên hệ thống

3 Admin chọn buton Thêm khoa

4 Hệ thống hiển thị form điền thông tin Thêm khoa

5 Admin nhập thông tin sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở khoa cần chỉnh thông tin 4a Hệ thống hiển thị form để Admin chỉnh sửa thông tin khoa 5a Amin nhập các thông tin cần sửa và nhấp Cập nhật

6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở khoa cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

Chương 3: Mô hình hóa yêu cầu

3c Admin lọc trạng thái hoặc tìm kiếm khoa 4c Hệ thống hiển thị các khoa liên quan đến các thông tin tìm kiếm

3d Admin chọn icon Xóa khoa 4d Hệ thống hiển thị thông báo xác nhận xóa khoa

5d Admin nhấp button Xác nhận xóa khoa

6d Hệ thống hiển thị thông báo thành công

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4c Hệ thống không hiển thị hoặc hiển thị sai đơn vị cần tìm kiếm Usecase kết thúc

Bảng 3.2.16 Đặc tả usecase Quản lý ngành

Tên Usecase Quản lý ngành

Mô tả Usecase Usecase cho phép admin quản lý ngành của hệ thống

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý ngành

2 Hệ thống hiển thị danh sách tất cả các khoa hiện có trên hệ thống

3 Admin chọn buton Thêm ngành

4 Hệ thống hiển thị form điền thông tin Thêm ngành

5 Admin nhập thông tin sau đó chọn Lưu

Chương 3: Mô hình hóa yêu cầu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở ngành cần chỉnh thông tin 4a Hệ thống hiển thị form để Admin chỉnh sửa thông tin ngành

5a Amin nhập các thông tin cần sửa và nhấp Cập nhật

6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở ngành cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

3c Admin lọc trạng thái hoặc tìm kiếm ngành, khoa 4c Hệ thống hiển thị các khoa liên quan đến các thông tin tìm kiếm

3d Admin chọn icon Xóa ngành 4d Hệ thống hiển thị thông báo xác nhận xóa ngành 5d Admin nhấp button Xác nhận xóa ngành

6d Hệ thống hiển thị thông báo thành công

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4c Hệ thống không hiển thị hoặc hiển thị sai đơn vị cần tìm kiếm Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.17 Đặc tả usecase Quản lý tài khoản hệ thống

Tên Usecase Quản lý tài khoản hệ thống

Mô tả Usecase Usecase cho phép admin quản lý người dùng của hệ thống Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý tài khoản hệ thống

2 Hệ thống hiển thị danh sách tất cả các tài khoản hệ thống đang có trên hệ thống

3 Admin chọn buton Thêm mới

4 Hệ thống hiển thị form điền thông tin thêm tài khoản

5 Admin nhập thông tin sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp chọn xem chi tiết ở tài khoản muốn xem 4a Hệ thống hiển thị chi tiết tài khoản đã chọn

3b Admin chọn icon Xóa thành viên ở tài khoản muốn xóa 4b Hệ thống hiển thị thông báo xác nhận xóa tài khoản

5b Admin nhấp button Xác nhận

6b Hệ thống hiển thị thông báo thành công

Luồng ngoại lệ 4a Hệ thống không hiển thị hoặc hiển thị sai đơn vị cần tìm kiếm Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.18 Đặc tả usecase Quản lý danh mục tin tức

Tên Usecase Quản lý danh mục tin tức

Mô tả Usecase Usecase cho phép admin quản lý danh mục tin tức và các thao tác thay đổi liên quan đến hiển thị danh mục tin tức Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý danh mục tin tức

2 Hệ thống hiển thị danh sách tất cả các danh mục hiện có trên hệ thống

3 Admin chọn buton Thêm mới

4 Hệ thống hiển thị form điền thông tin thêm danh mục

5 Admin nhập thông tin sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở danh mục cần chỉnh thông tin

4a Hệ thống hiển thị form để Admin chỉnh sửa thông tin khoa 5a Amin nhập các thông tin cần sửa và nhấp Lưu

6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở danh mục cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

Chương 3: Mô hình hóa yêu cầu

3c Admin lọc trạng thái hoặc tìm kiếm danh mục tin tức

4c Hệ thống hiển thị các danh mục liên quan đến các thông tin tìm kiếm

3d Admin chọn icon Xóa khoa 4d Hệ thống hiển thị thông báo xác nhận xóa 5d Admin nhấp button Xác nhận

6d Hệ thống hiển thị thông báo thành công

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4c Hệ thống không hiển thị hoặc hiển thị sai danh mục cần tìm kiếm Usecase kết thúc

Bảng 3.2.19 Đặc tả usecase quản lý người dùng

Tên Usecase Quản lý người dùng

Mô tả Usecase Usecase cho phép admin quản lý người dùng, thực hiện các chức năng vô hiệu hóa người dùng Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý người dùng 2.Hệ thống hiển thị danh sách tất cả các Danh mục người dùng

3 Admin tắt switch button ở tài khoản người dùng tắt trạng thái hoạt động

Chương 3: Mô hình hóa yêu cầu

4 Hệ thống lưu trạng thái và thông báo thay đổi thành công

3a Admin lọc trạng thái hoặc tìm kiếm ngành, khoa 4a Hệ thống hiển thị các khoa liên quan đến các thông tin tìm kiếm

3b Admin chọn icon Xóa thành viên ở tài khoản cần xóa

4b Hệ thống hiển thị thông báo xác nhận xóa người dùng 5b Admin nhấp button Xác nhận

6b Hệ thống hiển thị thông báo thành công

Luồng ngoại lệ 4a Hệ thống không hiển thị hoặc hiển thị sai đơn vị cần tìm kiếm Usecase kết thúc

Bảng 3.2.20 Đặc tả usecase Quản lý trưởng nhóm

Tên Usecase Quản lý trưởng nhóm

Usecase cho phép admin quản lý trưởng nhóm, thực hiện các chức năng cấp tài khoản,vô hiệu hóa tài khoản giảng viên, cán bộ nhà trường

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý trưởng nhóm

2.Hệ thống hiển thị danh sách tất cả các Danh mục trưởng nhóm

3 Admin chọn buton Thêm mới

Chương 3: Mô hình hóa yêu cầu

4 Hệ thống hiển thị form để Admin điền thông tin tạo mới danh mục

5 Admin nhập thông tin, phân quyền sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin trưởng nhóm và thông báo Thêm mới thành công

3a Admin trượt switch button ở trưởng nhóm cần thay đổi trạng thái hiển thị

4a Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

3b Admin nhấp vào icon cấp lại mật khẩu ở tài khoản cần cấp lại mật khẩu

4b Hệ thống hiển thị thông báo xác nhận

3c Admin lọc theo đơn vị hoặc trạng thái, tìm kiếm theo tên, ngành, khoa của trưởng nhóm

4c Hệ thống hiển thị các trưởng nhóm liên quan đến các thông tin tìm kiếm

3d Admin nhấp button Xuất file exel

4d Hệ thống tải xuống thành công file các trưởng nhóm

3e Admin nhấp button tải file 4e Hệ thống hiển thị form upload file 5e Upload file thành công hệ thống hiển thị thông báo

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 4c Hệ thống hiển thị sai hoặc không hiển thị các thành viên tương ứng

4d Hệ thống tải xuống không thành công Kết thúc usecase

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.21 Đặc tả usecase quản lý giảng viên

Tên Usecase Quản lý giảng viên

Mô tả Usecase Usecase cho phép admin quản lý giảng viên, thực hiện các chức năng vô hiệu hóa người dùng, Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý giảng viên 2.Hệ thống hiển thị danh sách tất cả các giảng viên

3 Admin trượt switch button ở tài khoản giảng viên tắt trạng thái hoạt động

4 Hệ thống lưu trạng thái và thông báo thay đổi thành công

3a Admin lọc trạng thái hoặc tìm kiếm ngành, khoa, trạng thái 4a Hệ thống hiển thị các khoa liên quan đến các thông tin tìm kiếm

3b Admin chọn icon Xóa thành viên 4b Hệ thống hiển thị thông báo xác nhận xóa giảng viên 5b Admin nhấp button Xác nhận xóa giảng viên

6b Hệ thống hiển thị thông báo thành công

Luồng ngoại lệ 4a Hệ thống không hiển thị hoặc hiển thị sai giảng viên cần tìm kiếm Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.22 Đặc tả usecase Quản lý lịch sử thao tác

Tên Usecase Quản lý lịch sử thao tác

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị của tài khoản Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

1 Admin chọn chức năng Lịch sử thao tác

2 Admin chọn icon xem chi tiết ở các tài khoản muốn xem

3 Hệ thống hiển thị thông tin chi tiết của tài khoản

2a.Admin nhấp chọn khóa tài khoản ở tài khoản cần khóa 3a.Hệ thống hiển thị form nhập lý do khóa tài khoản 4a.Admin nhập lý do và chọn khóa

3a Hệ thống lưu thay đổi đồng thời hiển thị thông báo thành công

Luồng ngoại lệ 4a.Hệ thống lưu thông tin thất bại Kết thúc usecase

Bảng 3.2.23 Đặc tả usecase quản lý tài khoản và thông tin cá nhân

Tên Usecase Quản lý tài khoản và thông tin cá nhân của người dùng

Usecase này cho phép thay đổi cập nhật thông tin cá nhân của người dùng

Actor chính User, Trưởng nhóm, Giảng viên

Tiền điều kiện Đăng nhập thành công vào hệ thống

+ Các thay đổi được lưu thành công vào hệ thống

+ Thông báo thay đổi thành công

Chương 3: Mô hình hóa yêu cầu

1 Khách hàng truy cập vào trang Quản lý tài khoản

2 Hệ thống hiển thị form thông tin tài khoản

3.Người dùng chọn Cập nhật

3 Người dùng chỉnh sửa thông tin tài khoản và chọn Lưu

4 Hệ thống kiểm tra thông tin hợp lệ

5 Hệ thống lưu thay đổi và thông báo thành công

3a Người dùng chọn Đổi mật khẩu

4a Người dùng nhập mật khẩu cũ và mật khẩu mới cần đổi 4a1 Hệ thống kiểm tra mật khẩu cũ xác nhận hợp lệ

4b Hệ thống kiểm tra thông tin không hợp lệ, Usecase kết thúc

4a1 Hệ thống kiểm tra mật khẩu cũ xác nhận không hợp lệ, Usecase kết thúc

Bảng 3.2.24 Đặc tả usecase Tạo bài viết

Tên Usecase Tạo bài viết

Mô tả Usecase Usecase này cho phép user có thể tạo bài viết trên hệ thống Actor chính User, Trưởng nhóm, Giảng viên

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

+ Tạo bài viết thành công

+ Thông báo khi tạo bài viết thành công

1 User truy cập chức năng tạo bài viết trên nền tảng

2.User dùng nhập tiêu đề cho bài viết

3 User nhập nội dung chi tiết của bài viết

4 User có thể thêm hình ảnh, video hoặc các phương tiện đa phương tiện khác vào bài viết (tùy chọn)

Chương 3: Mô hình hóa yêu cầu

5.User chọn tùy chọn “Đăng bài”

6.Hệ thống lưu bài viết và chuyển đến nhân viên duyệt bài 7.Hệ thống thông báo thành công

8.Bài viết được hiển thị lên hệ thống

Luồng thay thế Không có

Luồng ngoại lệ 5a User chọn “Hủy bài viết”, Usecase kết thúc

Bảng 3.2.25 Đặc tả usecase Xem bài viết

Tên Usecase Xem bài viết

Usecase này cho phép người dùng xem bài viết được đăng tải trên hệ thống

Actor chính Trưởng nhóm, Giảng viên, User

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Người dùng có thể xem bài viết và có thể thực hiện các tương tác khác nhau với bài viết

1 Người dùng có thể đọc nội dung bài viết

2 Người dùng có thể thực hiện tương tác như bình luận, like

2a Người dùng chọn tùy chọn “Bình luận”

3a Hệ thống hiển thị bình luận trên bài viết

2a Người dùng chọn tùy chọn “Like”

3b Hệ thống ghi nhận và tăng số lượt thích

Luồng ngoại lệ Không có

Bảng 3.2.26 Đặc tả usecase Cập nhật bài viết

Tên Usecase Cập nhật bài viết

Chương 3: Mô hình hóa yêu cầu

Usecase này cho phép user cập nhật nội dung của một bài viết đã tồn tại trên hệ thống

Actor chính User, Trưởng nhóm, Giảng viên

+ Đăng nhập thành công vào hệ thống

+ Người dùng đã đăng bài viết trên hệ thống

+ Bài viết được cập nhật và hiển thị thông tin mới

+ Thông báo cập nhật bài viết thành công

1 Người dùng truy cập vào bài viết của họ muốn cập nhật trên hệ thống

2 Người dùng chọn “Chỉnh sửa” trên bài viết

3 Hệ thống cho phép người user chỉnh sửa nội dung bài viết

4 Người dùng cập nhật nội dung như mong muốn

6.Hệ thống hiển thị thông báo cập nhật thành công

7.Hệ thống cập nhật hiển thị bài viết

5a Người dùng chọn tùy chọn "Hủy",các thay đổi không được lưu và bài viết vẫn giữ nguyên nội dung ban đầu

Luồng ngoại lệ Không có

Bảng 3.2.27 Đặc tả usecase Xóa bài viết

Tên Usecase Cập nhật bài viết

Mô tả Usecase Usecase này cho phép user xóa bài viết đã tồn tại trên hệ thống Actor chính User, Trưởng nhóm, Giảng viên

+ Đăng nhập thành công vào hệ thống + User đã đăng bài viết trên hệ thống Hậu điều kiện

+ Bài viết được cập nhật và hiển thị thông tin mới

+ Thông báo xóa bài viết thành công

Chương 3: Mô hình hóa yêu cầu

1 User truy cập vào bài viết của họ muốn xóa trên hệ thống

2 User chọn “Xóa” trên bài viết

3 Hệ thống yêu cầu xác nhận từ user

4 Người dùng xác nhận xóa bài viết

6.Hệ thống xóa bài viết khỏi hệ thống

7.Hệ thống hiển thị thông báo xóa thành công

3a Người dùng chọn tùy chọn "Hủy",quá trình xóa bài viết kết thúc

4a Người dùng chọn tùy chọn "Xác nhận xóa" Hệ thống thực hiện việc xóa bài viết khỏi nền tảng

Luồng ngoại lệ Không có

Bảng 3.2.28 Đặc tả usecase bình luận bài viết

Tên Usecase Bình luận bài viết

Usecase này cho phép người dùng bình luận về bài viết được chia sẻ lên hệ thống

Actor chính User, Giảng viên, Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống và có thể truy cập vào bài viết họ muốn bình luận

Hậu điều kiện Hiển thị bình luận của người dùng được thêm vào bài viết

1 Người dùng nhấp vào icon bình luận

2 Người dùng nhập nội dung bình luận

3 Người dùng chọn “Gửi” để thêm bình luận mới

4 Hệ thống hiển thị thông báo bình luận thành công và cập nhật hiển thị bình luận trên bài viết

Luồng thay thế Không có

Luồng ngoại lệ Không có

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.29 Đặc tả usecase xóa bình luận bài viết

Tên Usecase Xóa bình luận bài viết

Usecase này cho phép user xóa bình luận của user về bài viết được chia sẻ lên hệ thống

Actor chính User, Giảng viên, Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống và ít nhất một bình luận từ user ở bài viết người dùng muốn xóa

Hậu điều kiện Xóa thành công và cập nhật trên bài viết tương ứng

1 Người dùng nhấp vào icon bình luận

2 Người dùng nhập nội dung bình luận cần xóa

3 Người dùng chọn “Xóa” bình luận

4 Hệ thống hiển thị thông báo xóa thành công và cập nhật hiển thị bình luận trên bài viết

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.30 Đặc tả usecase chỉnh sửa bình luận bài viết

Tên Usecase Chỉnh sửa bình luận bài viết

Usecase này cho phép user xóa bình luận của người dùng về bài viết được chia sẻ lên hệ thống

Actor chính User, Giảng viên, Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống và ít nhất một bình luận từ user ở bài viết người dùng muốn xóa

Bình luận được chỉnh sửa thành công và cập nhật hiển thị trên bài viết tương ứng

1 Người dùng nhấp vào icon bình luận

2 Người dùng nhập nội dung bình luận cần chỉnh sửa

Chương 3: Mô hình hóa yêu cầu

3 Người dùng chọn “Chỉnh sửa” bình luận

4 Hệ thống hiển thị giao diện chỉnh sửa với nội dung hiển tại của bình luận

5 Người dùng chỉnh sửa bình luận

6 Người chọn “Lưu” để cập nhật bình luận đã chỉnh sửa

7 Hệ thống hiển thị thông báo chỉnh sửa thành công và cập nhật hiển thị bình luận trên bài viết

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.31 Đặc tả usecase thả emoticon bài viết

Tên Usecase Thả emoticon bài viết

Mô tả Usecase Usecase này cho phép người dùng thả emoticon bài viết được chia sẻ lên hệ thống

Actor chính User, Giảng viên, Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống và có thể truy cập vào bài viết họ muốn bình luận

Hậu điều kiện Hiển thị icon của người dùng được thêm vào bài viết

1 Người dùng chọn bài viết muốn thả

2 Người dùng nhấp chọn emotion muốn thả

3 Hệ thống cập nhật hiển thị emotion vừa thả

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.32 Đặc tả usecase gỡ emoticon bài viết

Tên Usecase Gỡ emoticon bài viết

Chương 3: Mô hình hóa yêu cầu

Mô tả Usecase Usecase này cho phép user gỡ emoticon bài viết được chia sẻ lên hệ thống

Actor chính User, Giảng viên, Trưởng nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống và có thể truy cập vào bài viết họ muốn bình luận

User đã thả emoticon bài viết trước đó

Hậu điều kiện Gỡ thành công emoticon thả trước đó

1 Người dùng chọn bài viết muốn gỡ icon

2 Người dùng nhấp chọn icon emotion trên bài viết

3 Hệ thống cập nhật hiển thị gỡ emotion đã thả

Luồng thay thế Không có

Luồng ngoại lệ Không có

Bảng 3.2.33 Đặc tả usecase Quản lý tin tức

Tên Usecase Quản lý tài khoản và thông tin cá nhân của người dùng

Usecase này cho phép thay đổi cập nhật thông tin cá nhân của người dùng

Actor chính User, Trưởng nhóm, Giảng viên

Tiền điều kiện Đăng nhập thành công vào hệ thống

+ Các thay đổi được lưu thành công vào hệ thống

+ Thông báo thay đổi thành công

1 Khách hàng truy cập vào trang Quản lý tài khoản

2 Hệ thống hiển thị form thông tin tài khoản

3.Người dùng chọn Cập nhật

3 Người dùng chỉnh sửa thông tin tài khoản và chọn Lưu

4 Hệ thống kiểm tra thông tin hợp lệ

5 Hệ thống lưu thay đổi và thông báo thành công

Luồng thay thế 3a Người dùng chọn Đổi mật khẩu

Chương 3: Mô hình hóa yêu cầu

4a Người dùng nhập mật khẩu cũ và mật khẩu mới cần đổi 4a1 Hệ thống kiểm tra mật khẩu cũ xác nhận hợp lệ

4b Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4a1 Hệ thống kiểm tra mật khẩu cũ xác nhận không hợp lệ, Usecase kết thúc

Bảng 3.2.34 Đặc tả usesecase Giới thiệu chung

Tên Usecase Giới thiệu chung

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Giới thiệu chung Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Giới thiệu chung

3 Admin nhấp chọn button Chỉnh sửa

4 Admin nhập các thông tin cần thay đổi

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống thông báo thay đổi thành công

Luồng thay thế Không có

Chương 3: Mô hình hóa yêu cầu

Luồng ngoại lệ 2b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.35 Đặc tả usecase Tìm hiểu thêm về trường

Tên Usecase Tìm hiểu thêm về trường

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Tìm hiểu thêm về trường Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Tìm hiểu thêm về trường

3 Admin nhấp chọn thông tin cần cập nhật và chọn Chỉnh sửa

4 Hệ thống hiển thị form Chỉnh sửa

5 Admin nhập các thông tin cần thay đổi

7 Hệ thống kiểm tra thông tin hợp lệ

8 Hệ thống thông báo thay đổi thành công

3a Admin chọn thông tin cần cập nhật trạng thái hoạt động và chọn bật hoặc tắt thông tin

4a Hiển thị thông báo thay đổi thành công

8 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

4a Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.36 Đặc tả usecase giới thiệu các phòng ban trung tâm

Tên Usecase Giới thiệu các phòng ban

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Các phòng ban Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Các phòng ban

3 Admin nhấp chọn Thêm mới

4.Hệ thống hiển thị form Thêm mới

5 Admin nhập các thông tin phòng ban

7.Hệ thống kiểm tra thông tin hợp lệ

8 Hệ thống thông báo thay đổi thành công

3a Admin chọn thông tin cần cập nhật trạng thái hoạt động và chọn bật hoặc tắt thông tin

4a.Hiển thị thông báo thay đổi thành công

3b Admin chọn sản phẩm cần cập nhật thông tin và chọn Sửa 4a Hệ thống hiển thị form để Admin điền thông tin cập nhật sản phẩm

5b Admin sửa thông tin sản phẩm sau đó chọn Lưu

4c.Hệ thống hiển thị lời nhắc

Chương 3: Mô hình hóa yêu cầu

5c.Hệ thống hiển thị cập nhật đồng thời thông báo thành công

6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

4a.Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

5b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.37 Đặc tả usecase Các khoa và bộ môn

Tên Usecase Giới thiệu các phòng ban

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Các phòng ban Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Các khoa và bộ môn

3 Admin nhấp chọn thông tin cần chỉnh sửa và nhấp Chỉnh sửa

4.Hệ thống hiển thị form chỉnh sửa

5 Admin nhập các thông tin cần thay đổi

7 Hệ thống thông báo thay đổi thành công

Luồng thay thế 3a Admin chọn thông tin cần cập nhật trạng thái hoạt động

4a.Hiển thị thông báo thay đổi thành công

Chương 3: Mô hình hóa yêu cầu

3b.Admin chọn Xóa 4b.Admin nhấp xác nhận 5b.Hệ thống hiển thị cập nhật đồng thời thông báo thành công

6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

4a.Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

5b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.38 Đặc tả usecase Cơ sở vật chất

Tên Usecase Cơ sở vật chất

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Cơ sở vật chất

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Cơ sở vật chất

3.Admin chọn Thêm mới 4.Hệ thống hiển thị form thêm mới

5.Admin nhập thông tin và nhấp Thêm mới 8.Hệ thống hiển thị cập nhật đồng thời thông báo thêm thành công

Chương 3: Mô hình hóa yêu cầu

3a Admin nhấp chọn thông tin cần chỉnh sửa và nhấp Chỉnh sửa

4a.Hệ thống hiển thị form chỉnh sửa thông tin

5a Admin nhập các thông tin cần thay đổi

7a Hệ thống cập nhật hiển thị đồng thời thông báo thay đổi thành công

3a Admin chọn thông tin cập nhật trạng thái hoạt động

4a.Hiển thị thông báo thay đổi thành công

4b.Hệ thống hiển thị form xác nhận

5b.Hệ thống hiển thị cập nhật đồng thời thông báo thành công

6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

4a.Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

5b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.39 Đặc tả ussecase Lịch sử hình thành và phát triển

Tên Usecase Lịch sử hình thành và phát triển

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị Lịch sử hình thành và phát triển Actor chính Admin

Chương 3: Mô hình hóa yêu cầu

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Hiển thị thay đổi ở trang người dùng

1 Admin chọn chức năng Lịch sử hình thành và phát triển

4.Hệ thống hiển thị form chỉnh sửa thông tin

5 Admin nhập các thông tin cần thay đổi

7 Hệ thống thông báo thay đổi thành công

Luồng thay thế Không có

Luồng ngoại lệ 6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.40 Đặc tả usecase Đơn vị liên kết

Tên Usecase Đơn vị liên kết

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị đơn vị liên kết Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Đơn vị liên kết 3.Admin chọn Thêm mới 4.Hệ thống hiển thị form thêm mới

5.Admin nhập thông tin và nhấp Thêm mới

Chương 3: Mô hình hóa yêu cầu

8.Hệ thống hiển thị cập nhật đồng thời thông báo thêm thành công

3a Admin nhấp chọn thông tin cần chỉnh sửa và nhấp Chỉnh sửa

4a.Hệ thống hiển thị form chỉnh sửa thông tin

5a Admin nhập các thông tin cần thay đổi

7a Hệ thống cập nhật hiển thị đồng thời thông báo thay đổi thành công

3a Admin chọn thông tin cập nhật trạng thái hoạt động

4a.Hiển thị thông báo thay đổi thành công

4b.Hệ thống hiển thị form xác nhận

5b.Hệ thống hiển thị cập nhật đồng thời thông báo thành công

6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

4a.Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

5b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.41 Đặc tả usecase Các thông tin khác

Tên Usecase Các thông tin khác

Mô tả Usecase Usecase cho phép Admin quản lý thay đổi các thông tin hiển thị các thông tin khác

Chương 3: Mô hình hóa yêu cầu

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

1 Admin chọn chức năng Giới thiệu chung

2 Admin chọn Các thông tin khác 3.Admin chọn Thêm mới

4.Hệ thống hiển thị form thêm mới

5.Admin nhập thông tin và nhấp Thêm mới 8.Hệ thống hiển thị cập nhật đồng thời thông báo thêm thành công

3a Admin nhấp chọn thông tin cần chỉnh sửa và nhấp Chỉnh sửa

4a.Hệ thống hiển thị form chỉnh sửa thông tin

5a Admin nhập các thông tin cần thay đổi

7a Hệ thống cập nhật hiển thị đồng thời thông báo thay đổi thành công

3a Admin chọn thông tin cập nhật trạng thái hoạt động

4a.Hiển thị thông báo thay đổi thành công

4b.Hệ thống hiển thị form xác nhận

5b.Hệ thống hiển thị cập nhật đồng thời thông báo thành công Luồng ngoại lệ 6 Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

4a.Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

5b Hệ thống lưu thay đổi không thành công đồng thời hiển thị thông báo lỗi Usecase kết thúc

Bảng 3.2.42 Đặc tả usecase Quản lý nhóm

Tên Usecase Quản lý nhóm

Mô tả Usecase Usecase cho phép Admin quản lý nhóm

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý nhóm

2 Hệ thống hiển thị danh sách tất cả các nhóm

3 Trưởng nhóm bật switch để duyệt bài hoặc xóa các bài viết không hợp lệ

4 Hệ thống lưu thay đổi và hiển thị thông báo thành công

3a Admin lọc theo trạng thái, chế độ hoặc lĩnh vực hoạt động của nhóm

4a Hệ thống hiển thị các nhóm liên quan đến dữ liệu lọc

3b Admin nhập từ khóa tìm kiếm và nhấp button Tìm kiếm 4b Hệ thống hiển thị các bài viết liên quan đến từ khóa được nhập

4 Lưu thay đổi thất bại Usecase kết thúc

4a Hệ thống hiển thị sai bài viết Usecase kết thúc

4b Hệ thống hiển thị sai bài viết.Usecase kết thúc

Chương 3: Mô hình hóa yêu cầu

Bảng 3.2.43 Đặc tả usecase Quản lý danh mục nhóm

Tên Usecase Quản lý danh mục nhóm

Mô tả Usecase Usecase cho phép admin quản lý danh mục nhóm và các thao tác thay đổi liên quan đến hiển thị danh mục nhóm Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý danh mục nhóm

2 Hệ thống hiển thị danh sách tất cả các danh mục hiện có trên hệ thống

3 Admin chọn buton Thêm mới

4 Hệ thống hiển thị form điền thông tin thêm nhóm

5 Admin nhập thông tin sau đó chọn Lưu

6 Hệ thống kiểm tra thông tin hợp lệ

7 Hệ thống lưu thông tin và thông báo thành công

3a Admin nhấp icon Chỉnh sửa ở nhóm cần chỉnh thông tin 4a Hệ thống hiển thị form để Admin chỉnh sửa thông tin nhóm

5a Amin nhập các thông tin cần sửa và nhấp Lưu

6a Hệ thống kiểm tra thông tin hợp lệ

Tiếp tục thực hiện bước 7

3b Admin trượt switch button ở danh mục cần thay đổi trạng thái hoạt động

4b Hệ thống hiển thị thông báo Thay đổi trạng thái thành công

Chương 3: Mô hình hóa yêu cầu

3c Admin lọc trạng thái hoặc tìm kiếm danh mục nhóm

4c Hệ thống hiển thị các danh mục liên quan đến các thông tin tìm kiếm

3d Admin chọn icon Xóa ở danh mục cần xóa 4d Hệ thống hiển thị thông báo xác nhận xóa

5d Admin nhấp button Xác nhận

6d Hệ thống hiển thị thông báo thành công

6 Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc 6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4c Hệ thống không hiển thị hoặc hiển thị sai danh mục cần tìm kiếm Usecase kết thúc

Bảng 3.2.44 Đặc tả usecase Quản lý tố cáo nhóm

Tên Usecase Quản lý tố cáo nhóm

Mô tả Usecase Usecase cho phép admin quản lý tố cáo nhóm và các thao tác thay đổi liên quan đến quản lý nhóm Actor chính Admin

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này

Hậu điều kiện + Thông báo thao tác thực hiện thành công

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý tố cáo nhóm

2 Hệ thống hiển thị danh sách tất cả các nhóm bị tố cáo

Chương 3: Mô hình hóa yêu cầu

3 Admin chọn bài viết cần xem chi tiết và nhấp icon Xem chi tiết

4 Hệ thống hiển thị thông tin chi tiết và lý do tố cáo của bài viết

3a Admin chọn nhóm bị tố cáo cần xóa và nhấp chọn icon xóa bài viết

4a Hệ thống hiển thông báo xác nhận

5a Amin nhấp chọn Xác nhận

6a Hệ thống cập nhật trạng thái đồng thời hiển thị thông báo thành công

3b Admin nhập từ khóa và xác nhận tìm kiếm nhóm

4b Hệ thống hiển thị các danh mục liên quan đến các thông tin tìm kiếm

6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4b Hệ thống không hiển thị hoặc hiển thị sai bài viết cần tìm kiếm Usecase kết thúc

Bảng 3.2.45 Đặc tả usecase Quản lý tố cáo bài viết

Tên Usecase Quản lý tố cáo bài viết

Mô tả Usecase Usecase cho phép admin quản lý tố cáo bài viết và các thao tác thay đổi liên quan đến quản lý bài viết bị tố cáo

Tiền điều kiện Đăng nhập thành công vào hệ thống quản lý và có quyền truy cập chức năng này Hậu điều kiện + Thông báo thao tác thực hiện thành công

Chương 3: Mô hình hóa yêu cầu

+ Các thay đổi được lưu vào hệ thống

1 Admin chọn chức năng Quản lý tố cáo bài viết

2 Hệ thống hiển thị danh sách tất cả các bài viết được tố cáo

3 Admin chọn bài viết cần xem chi tiết và nhấp icon Xem chi tiết

4 Hệ thống hiển thị thông tin chi tiết và lý do tố cáo của bài viết

3a Admin chọn bài viết tố cáo cần xóa và nhấp chọn icon xóa bài viết

4a Hệ thống hiển thông báo xác nhận

5a Amin nhấp chọn Xác nhận

6a Hệ thống cập nhật trạng thái đồng thời hiển thị thông báo thành công

3b Admin nhập từ khóa và xác nhận tìm kiếm bài viết 4b Hệ thống hiển thị các danh mục liên quan đến các thông tin tìm kiếm

6a Hệ thống kiểm tra thông tin không hợp lệ Usecase kết thúc

4b Hệ thống không hiển thị hoặc hiển thị sai bài viết cần tìm kiếm Usecase kết thúc

Chương 4: Thiết kế phần mềm

THIẾT KẾ PHẦN MỀM

Lược đồ ERD

Hình 4.1.1 Lược đồ ERD của hệ thống

Lược đồ tuần tự

Chương 4: Thiết kế phần mềm

Hình 4.2.1 Lược đồ tuần tự Đăng nhập

Hình 4.2.2 Lược đồ tuần tự Đăng ký

Hình 4.2.3 Lược đồ tuần tự Tạo mới bài viết

Chương 4: Thiết kế phần mềm

Hình 4.2.4 Lược đồ tuần tự Tìm kiếm bài viết

Chương 4: Thiết kế phần mềm

Hình 4.2.5 Lược đồ tuần tự Upload tài liệu

4.2.6 Quản lý tài khoản và thông tin cá nhân

Hình 4.2.6 Lược đồ tuần tự Quản lý tài khoản và thông tin cá nhân

Chương 4: Thiết kế phần mềm

Hình 4.2.7 Quản lý bài viết

Chương 4: Thiết kế phần mềm

4.2.8 Quản lý danh mục tin tức

Hình 4.2.8 Quản lý danh mục tin tức

Chương 4: Thiết kế phần mềm

Chương 4: Thiết kế phần mềm

Chương 4: Thiết kế phần mềm

Chương 4: Thiết kế phần mềm

Hình 4.2.12 Quản lý tin tức

Chương 4: Thiết kế phần mềm

4.2.13 Quản lý tải khoản người dùng

Hình 4.2.13 Quản lý tải khoản người dùng

Chương 4: Thiết kế phần mềm

Hình 4.2.14 Quản lý tài liệu

Chương 4: Thiết kế phần mềm

Hình 4.2.15 Quản lý đơn vị

Chương 4: Thiết kế phần mềm

Hình 4.2.16 Thêm mới tài liệu

Chương 4: Thiết kế phần mềm

Hình 4.2.17 Tạo mới bài viết

Chương 4: Thiết kế phần mềm

Chương 5: Thiết kế giao diện và xử lý

THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ

Giao diện phân hệ Admin

5.1.1 Giao diện trang thống kê

Hình 5.1.1 Giao diện trang thống kê Bảng 5.1.1 Mô tả giao diện trang thống kê

STT Tên Loại Ghi chú

Select Lọc hiển thị các bài viết ứng với chế độ đã chọn

2 Chọn đơn vị Select Thống kê bài viết theo đơn vị

Input Thống kê các bài viết theo khoảng thời gian đã chọn

Wiget Thống kê các bài viết ứng với lĩnh vực đã chọn

Chương 5: Thiết kế giao diện và xử lý

5.1.2 Giao diện trang Giới thiệu chung – Nội dung

Hình 5.1.2 Giao diện trang Giới thiệu chung - Nội dung Bảng 5.1.2 Mô tả giao diện trang Giới thiệu chung - Nội dung

STT Tên Loại Ghi chú

1 Nhập nội dung Input Nhập nội dung hiển thị

Button Có thể chỉnh sửa thông tin sau khi nhấp

Chương 5: Thiết kế giao diện và xử lý

5.1.3 Giao diện trang Giới thiệu chung – Tìm hiểu thêm về trường

Hình 5.1.3 Giao diện trang Giới thiệu chung - Tìm hiểu thêm về trường

Bảng 5.1.3 Mô tả giao diện trang Giới thiệu chung - Tìm hiểu thêm về trường

STT Tên Loại Ghi chú

1 Duyệt Switch Tắt bật trạng thái duyệt bài

Button Hiển thị form chỉnh sửa sau khi nhấp button

Hình 5.1.4 Giao diện Chỉnh sửa danh mục

Chương 5: Thiết kế giao diện và xử lý

Bảng 5.1.4 Mô tả giao diện Chỉnh sửa danh mục

STT Tên Loại Ghi chú

1 Ảnh đại diện Image Tải ảnh đại diện

2 Tiêu đề TextField Nhập tiêu đề của bài viết

Button Hủy các chỉnh sửa đồng thời tắt form đang thực hiện thao tác

4 Lưu Button Lưu thông tin vừa được cập nhật

5.1.4 Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm

Hình 5.1.5 Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm

Bảng 5.1.5 Mô tả giao diện Tìm hiểu thêm - Các phòng ban và trung tâm

STT Tên Loại Ghi chú

1 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

2 Duyệt Switch Tắt bật trạng thái hiển thị

3 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các phòng ban

Chương 5: Thiết kế giao diện và xử lý

4 Xóa phòng ban Button Hiển thị thông báo xác nhận xóa phòng ban khi nhấp vào button

Hình 5.1.6 Giao diện Chỉnh sửa phòng ban

Hình 5.1.7 Giao diện Chỉnh sửa phòng ban Bảng 5.1.6 Mô tả giao diện Chỉnh sửa phòng ban

STT Tên Loại Ghi chú

Chương 5: Thiết kế giao diện và xử lý

5.1.5 Giao diện trang Tìm hiểu thêm – Các khoa và bộ môn

Hình 5.1.8 Giao diện trang Tìm hiểu thêm - Các khoa và bộ môn Bảng 5.1.7 Mô tả giao diện Tìm hiểu thêm - Các khoa và bộ môn

STT Tên Loại Ghi chú

1 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

2 Duyệt Switch Tắt bật trạng thái hiển thị

3 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các khoa và bộ môn

4 Xóa Button Hiển thị thông báo xác nhận xóa khoa và bộ khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.9 Giao diện trang Chỉnh sửa khoa và bộ môn

Hình 5.1.10 Giao diện trang Chỉnh sửa khoa và nội dung

Hình 5.1.11 Giao diện trang Chỉnh sửa khoa và nội dung

Chương 5: Thiết kế giao diện và xử lý

Bảng 5.1.8 Mô tả giao diện trang Chỉnh sửa khoa và nội dung

STT Tên Loại Ghi chú

1 Logo/Ảnh đại diện TextField

9 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

10 Xếp Dragsort Kéo thả sắp xếp ưu tiên

11 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các giảng viên thuộc khoa

12 Duyệt bài Switch Tắt bật trạng thái hiển thị

13 Xóa Button Hiển thị thông báo xác nhận xóa giảng viên khi nhấp vào button

14 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

15 Duyệt Switch Tắt bật trạng thái hiển thị

16 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các ngành

17 Xóa Button Hiển thị thông báo xác nhận xóa ngành khi nhấp vào button

18 Hủy Button Hủy thông tin đang chỉnh sửa

19 Lưu Button Lưu thông tin vừa chỉnh sửa

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.12 Giao diện trang Thêm mới thành viên Bảng 5.1.9 Mô tả giao diện trang Thêm mới thành viên

STT Tên Loại Ghi chú

1 Logo/Ảnh đại diện InputImg

3 Vị trí 1 TextField Chức vị

4 Vị trí 2 TextField Cấp bậc trong khoa

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.13 Giao diện trang Thêm mới chương trình đào tạo

Hình 5.1.14 Giao diện trang Thêm mới chương trình đào tạo Bảng 5.1.10 Mô tả trang Thêm mới chương trình đào tạo

STT Tên Loại Ghi chú

Chương 5: Thiết kế giao diện và xử lý

7 Thời gian đào tạo TextField

8 Nội dung tuyển sinh TextField

9 Vị trí ứng tuyển TextField

10 Hủy Button Hủy thông tin đang chỉnh sửa

11 Lưu Button Lưu thông tin vừa chỉnh sửa

5.1.6 Giao diện trang Tìm hiểu thêm – Cơ sở vật chất

Hình 5.1.15 Giao diện trang Tìm hiểu thêm - Cơ sở vật chất Bảng 5.1.11 Mô tả giao diện trang Tìm hiểu thêm - Cơ sở vật chất

STT Tên Loại Ghi chú

1 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

2 Duyệt Switch Tắt bật trạng thái hiển thị

3 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin cơ sở vật chất

4 Xóa Button Hiển thị thông báo xác nhận xóa cơ sở vật chất khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.16 Giao diện trang Thêm mới hình ảnh Bảng 5.1.12 Mô tả giao diện trang Thêm mới hình ảnh

STT Tên Loại Ghi chú

2 Logo/Ảnh đại diện InputImg

3 Hủy Button Hủy thông tin đang chỉnh sửa

4 Lưu Button Lưu thông tin vừa chỉnh sửa

Hình 5.1.17 Giao diện trang Tổng quan VR360

Chương 5: Thiết kế giao diện và xử lý

Bảng 5.1.13 Mô tả giao diện trang Tổng quan VR360

STT Tên Loại Ghi chú

1 Logo/Ảnh đại diện InputImg

5.1.7 Giao diện trang Lịch sử hình thành và phát triển

Hình 5.1.18 Giao diện trang Lịch sử hình thành và phát triển Bảng 5.1.14 Mô tả giao diện trang Lịch sử hình thành và phát triển

STT Tên Loại Ghi chú

2 Chỉnh sửa Button Nhấp để chỉnh sửa thông tin

Chương 5: Thiết kế giao diện và xử lý

5.1.8 Giao diện trang Đơn vị liên kết

Hình 5.1.19 Giao diện trang Đơn vị liên kết Bảng 5.1.15 Mô tả giao diện trang Đơn vị liên kết

STT Tên Loại Ghi chú

1 Loại Select Loại theo loại trong nước hoặc nước ngoài

2 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

3 Search Input Nhập từ khóa cần tìm kiếm

4 Duyệt Switch Tắt bật trạng thái hiển thị

5 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các đơn vị liên kết

6 Xóa Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.20 Giao diện trang Thêm mới đối tác Bảng 5.1.16 Mô tả giao diện trang Thêm mới đối tác

STT Tên Loại Ghi chú

1 Tên TextField Nhập tên đối tác trường

2 Logo/Ảnh đại diện InputImg Chọn hình ảnh đại diện của đối tác

3 Đường dẫn TextField Nhập đường dẫn website của đối tác

4 Loại Select Chọn trong nước hoặc nước ngoài

5 Hủy Button Đóng form và không lưu các giá trị truyền vào

6 Thêm mới Button Thêm mới đối tác

Chương 5: Thiết kế giao diện và xử lý

5.1.9 Giao diện trang Các thông tin khác

Hình 5.1.21 Giao diện trang Các thông tin khác Bảng 5.1.17 Mô tả giao diện trang Các thông tin khác

STT Tên Loại Ghi chú

1 Trạng thái Select Chọn trạng thái hoạt động hoặc không hoạt động

2 Search Input Nhập từ khóa cần tìm kiếm

3 Thêm mới Button Hiển thị form thêm mới khi nhấp vào button

4 Hoạt động Switch Tắt bật trạng thái hiển thị

5 Chỉnh sửa Button Hiển thị form chỉnh sửa thông tin các đơn vị liên kết

6 Xóa Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

Hình 5.1.22 Giao diện trang Thêm mới tin tức

Hình 5.1.23 Giao diện trang Thêm mới tin tức Bảng 5.1.18 Mô tả giao diện trang Thêm mới tin tức

STT Tên Loại Ghi chú

1 Tiêu đề TextField Nhập tiêu đề tin tức

2 Tiêu đề phụ TextField Nhập tiêu đề phụ tin tức

3 File đính kèm InputFile Nhập vào file đính kèm tin tức

4 Nội dung TextField Nhập nội dung tin tức

5 Hủy Button Đóng form và không lưu các giá trị truyền vào

6 Lưu Button Thêm mới tin tức

Chương 5: Thiết kế giao diện và xử lý

5.1.10 Giao diện trang Quản lý bài viết

Hình 5.1.24 Giao diện trang Quản lý bài viết Bảng 5.1.19 Mô tả giao diện trang Quản lý bài viết

STT Tên Loại Ghi chú

Select Lọc các bài viết ứng với trạng thái đã chọn

Select Lọc hiển thị các bài viết ứng với chế độ đã chọn

Select Lọc các bài viết ứng với đơn vị đã chọn

4 Nhập từ khóa TextField Nhập từ khóa tìm kiếm

Switch Tắt bật trạng thái duyệt bài (Không cho phép thực hiện)

Button Khi nhấn vào sẽ hiển thị chi tiết bài viết

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.11 Giao diện trang Quản lý nhóm

Hình 5.1.25 Giao diện trang Quản lý nhóm Bảng 5.1.20 Mô tả giao diện trang Quản lý nhóm

STT Tên Loại Ghi chú

Select Lọc các nhóm ứng với trạng thái đã chọn

Select Lọc hiển thị các nhóm ứng với lĩnh vực đã chọn

4 Gõ nội dung tìm kiếm TextField Nhập từ khóa tìm kiếm

Switch Hiển thị trạng thái hoạt động của nhóm

Switch Hiển thị trạng thái nhóm đã khóa hoặc chưa khóa

6 Chi tiết Button Khi nhấn vào sẽ hiển thị chi tiết nhóm

Button Khi nhấn vào sẽ hiển thị form khóa nhóm

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.12 Giao diện trang Quản lý tài liệu

Hình 5.1.26 Giao diện trang Quản lý tài liệu Bảng 5.1.21 Mô tả giao diện trang Quản lý tài liệu

STT Tên Loại Ghi chú

1 Chọn Trạng thái Select Lọc các tài liệu ứng với chế độ đã chọn

2 Chọn khoa Select Lọc các tài liệu ứng với khoa đã chọn

3 Gõ nội dung tìm kiếm TextField Nhập từ khóa tìm kiếm

4 Hoạt động Switch Hiển thị trạng thái của tài liệu

5 Chi tiết Button Khi nhấn vào sẽ hiển thị chi tiết tài liệu

6 Xóa Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.13 Giao diện trang Quản lý tin tức

Hình 5.1.27 Giao diện trang Quản lý tin tức Bảng 5.1.22 Mô tả giao diện trang Quản lý tin tức

STT Tên Loại Ghi chú

Select Lọc hiển thị các tin tức ứng với trạng thái đã chọn

Select Lọc hiển thị các tin tức ứng với danh mục đã chọn

3 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới khi nhấp vào button

5 Hoạt động Switch Tắt bật trạng thái hiển thị tin tức

Button Khi nhấn vào sẽ hiển thị form chỉnh sửa tin tức

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.14 Giao diện trang Quản lý đơn vị

Hình 5.1.28 Giao diện trang Quản lý đơn vị Bảng 5.1.23 Mô tả giao diện trang Quản lý đơn vị

STT Tên Loại Ghi chú

Select Lọc hiển thị các đơn vị ứng với chế độ đã chọn

2 Nhập từ khóa TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới khi nhấp vào button

4 Hoạt động Switch Tắt bật trạng thái hiển thị đơn vị

Button Hiển thị form chỉnh sửa thông tin đơn vị

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.15 Giao diện trang Quản lý khoa

Hình 5.1.29 Giao diện trang Quản lý khoa Bảng 5.1.24 Mô tả giao diện trang Quản lý khoa

STT Tên Loại Ghi chú

Select Lọc hiển thị các đơn vị ứng với chế độ đã chọn

2 Nhập từ khóa TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới khi nhấp vào button

4 Hoạt động Switch Tắt bật trạng thái hiển thị khoa

Button Hiển thị form chỉnh sửa thông tin khoa

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.16 Giao diện trang Quản lý ngành

Hình 5.1.30 Giao diện trang Quản lý ngành Bảng 5.1.25 Mô tả giao diện trang Quản lý ngành

STT Tên Loại Ghi chú

Select Lọc hiển thị các ngành ứng với trạng thái đã chọn

Select Lọc hiển thị các ngành ứng với khoa đã chọn

3 Nhập từ khóa TextField Nhập các từ khóa tìm kiếm

4 Thêm mới Button Hiển thị form thêm mới ngành

5 Hoạt động Switch Tắt bật trạng thái hiển thị ngành

Button Hiển thị form chỉnh sửa thông tin ngành

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.17 Giao diện trang Quản lý tài khoản hệ thống

Hình 5.1.31 Giao diện trang Quản lý tài khoản hệ thống Bảng 5.1.26 Mô tả giao diện trang Quản lý tài khoản hệ thống

STT Tên Loại Ghi chú

1 Thêm mới Button Hiển thị form thêm mới tài khoản hệ thống

2 Chi tiết Button Hiển thị form chi tiết thông tin tài khoản hệ thống

3 Xóa Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.1.18 Giao diện trang Quản lý người dùng

Hình 5.1.32 Giao diện trang Quản lý người dùng Bảng 5.1.27 Mô tả giao diện trang Quản lý người dùng

STT Tên Loại Ghi chú

Select Lọc các tài khoản ứng với trạng thái đã chọn

Select Lọc hiển thị các tài khoản ứng với khoa đã chọn

Select Lọc các tài khoản ứng với ngành đã chọn

4 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

5 Yêu cầu đổi ngành Button Duyệt các yêu cầu đổi ngành

Switch Hiển thị trạng thái hoạt động của người dùng

7 Khóa tài khoản Button Hiển thị form khóa tài khoản

8 Chi tiết Button Hiển thị form chi tiết tài khoản

Button Hiển thị thông báo xác nhận xóa tài khoản

Chương 5: Thiết kế giao diện và xử lý

5.1.19 Giao diện trang Quản lý trưởng nhóm

Hình 5.1.33 Giao diện trang Quản lý trưởng nhóm Bảng 5.1.28 Mô tả giao diện trang Quản lý trưởng nhóm

STT Tên Loại Ghi chú

Select Lọc hiển thị các tài khoản ứng với trạng thái đã chọn

Select Lọc hiển thị các tài khoản ứng với đơn vị đã chọn

3 Xuất file excel Button Khi nhấp tải về file excel

4 Đưa lên danh sách Button Hiển thị form tải lên file excel

5 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới tài khoản trưởng nhóm

7 Hoạt động Switch Hiển thị trạng thái của tài khoản

8 Khóa tài khoản Button Hiển thị form khóa tài khoản

9 Chỉnh sửa Button Hiển thị form chỉnh sửa tài khoản

Button Hiển thị form khôi phục mật khẩu tài khoản

Chương 5: Thiết kế giao diện và xử lý

Button Hiển thị thông báo xác nhận chuyển vai trò

Button Hiển thị thông báo xác nhận xóa tài khoản

5.1.20 Giao diện trang Quản lý giảng viên

Hình 5.1.34 Giao diện trang Quản lý giảng viên Bảng 5.1.29 Mô tả giao diện trang Quản lý giảng viên

STT Tên Loại Ghi chú

Select Lọc hiển thị các tài khoản ứng với trạng thái đã chọn

Select Lọc hiển thị các tài khoản ứng với đơn vị đã chọn

3 Nhập nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

4 Khóa tài khoản Button Hiển thị form khóa tài khoản

5 Chi tiết Button Hiển thị form chi tiết tài khoản

Button Hiển thị thông báo xác nhận chuyển vai trò

Button Hiển thị thông báo xác nhận xóa tài khoản

Chương 5: Thiết kế giao diện và xử lý

5.1.21 Giao diện trang Quản lý lịch sử thao tác

Hình 5.1.35 Giao diện Quản lý lịch sử thao tác Bảng 5.1.30 Mô tả giao diện Quản lý lịch sử thao tác

STT Tên Loại Ghi chú

1 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

2 Khóa tài khoản hoặc mở khóa tài khoản Button Hiển thị form khóa hoặc mở khóa tài khoản

3 Chi tiết Button Hiển thị form chi tiết lịch sử khóa

Chương 5: Thiết kế giao diện và xử lý

5.1.22 Giao diện trang Quản lý danh mục tin tức

Hình 5.1.36 Giao diện trang Quản lý danh mục tin tức Bảng 5.1.31 Mô tả giao diện trang Quản lý danh mục tin tức

STT Tên Loại Ghi chú

Select Lọc hiển thị các danh mục ứng với trạng thái đã chọn

2 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới danh mục tin tức

4 Hoạt động Switch Tắt/bật hiển thị danh mục

5 Chỉnh sửa Button Hiển thị form chỉnh sửa danh mục

Button Hiển thị thông báo xác nhận xóa danh mục

Chương 5: Thiết kế giao diện và xử lý

5.1.23 Giao diện trang Quản lý danh mục nhóm

Hình 5.1.37 Giao diện trang Quản lý danh mục nhóm Bảng 5.1.32 Mô tả giao diện trang Quản lý danh mục nhóm

STT Tên Loại Ghi chú

Select Lọc hiển thị các danh mục ứng với trạng thái đã chọn

2 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

Button Hiển thị form thêm mới danh mục nhóm

4 Hoạt động Switch Tắt/bật hiển thị danh mục

5 Chỉnh sửa Button Hiển thị form chỉnh sửa danh mục

Button Hiển thị thông báo xác nhận xóa danh mục

Chương 5: Thiết kế giao diện và xử lý

5.1.24 Giao diện trang Quản lý tố cáo nhóm

Hình 5.1.38 Giao diện trang Quản lý tố cáo nhóm Bảng 5.1.33 Mô tả giao diện trang Quản lý tố cáo nhóm

STT Tên Loại Ghi chú

1 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

2 Chi tiết tố cáo Button Hiển thị form chi tiết tố cáo

Button Hiển thị thông báo xác nhận xóa tố cáo

Chương 5: Thiết kế giao diện và xử lý

5.1.25 Giao diện trang Quản lý tố cáo bài viết

Hình 5.1.39 Giao diện trang Quản lý tố cáo bài viết Bảng 5.1.34 Mô tả giao diện trang Quản lý tố cáo bài viết

STT Tên Loại Ghi chú

1 Gõ nội dung tìm kiếm TextField Nhập các từ khóa tìm kiếm

2 Chi tiết tố cáo Button Hiển thị form chi tiết tố cáo

Button Hiển thị thông báo xác nhận xóa tố cáo

Chương 5: Thiết kế giao diện và xử lý

Giao diện phân hệ Trưởng nhóm

5.2.1 Giao diện trang Thống kê

Hình 5.2.1 Giao diện trang Thống kê Bảng 5.2.1 Mô tả giao diện trang Thống kê

STT Tên Loại Ghi chú

Select Lọc hiển thị các bài viết ứng với chế độ đã chọn

2 Chọn Lĩnh vực Select Thống kê bài viết theo đơn vị

Input Thống kê các bài viết theo khoảng thời gian đã chọn

Wiget Thống kê các bài viết ứng với lĩnh vực đã chọn

Chương 5: Thiết kế giao diện và xử lý

5.2.2 Giao diện trang Đăng nhập

Hình 5.2.2 Giao diện trang đăng nhập Trưởng nhóm Bảng 5.2.2 Mô tả giao diện trang đăng nhập Trưởng nhóm

STT Tên Loại Ghi chú

2 Password Password Nhập mật khẩu

3 Login Button Nút đăng nhập

4 Forgot password Button Nút quên mật khẩu

5 Sign up and get started! Button Nút chuyển sang form đăng ký

Chương 5: Thiết kế giao diện và xử lý

5.2.3 Giao diện trang Quản lý bài viết

Hình 5.2.3 Giao diện trang Quản lý bài viết Bảng 5.2.3 Mô tả giao diện trang Quản lý bài viết

STT Tên Loại Ghi chú

Select Lọc các bài viết ứng với trạng thái đã chọn

Select Lọc hiển thị các bài viết ứng với chế độ đã chọn

Select Lọc các bài viết ứng với lĩnh vực đã chọn

TextField Nhập từ khóa tìm kiếm và thực hiện tìm kiếm

5 Duyệt bài Switch Tắt bật trạng thái duyệt bài

6 Xem chi tiết Button Hiển thị chi tiết bài viết được chọn

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.2.4 Giao diện trang Quản lý tài liệu

Hình 5.2.4 Giao diện trang Quản lý tài liệu Bảng 5.2.4 Mô tả giao diện trang Quản lý tài liệu

STT Tên Loại Ghi chú

Select Lọc hiển thị các bài viết ứng với trạng thái đã chọn

Select Lọc các bài viết ứng với ngành đã chọn

3 Môn học TextField Nhập từ khóa tìm kiếm

TextField Khi nhấn vào sẽ hiển thị các tài liệu liên quan đến từ khóa đã nhập

5 Hoạt động Switch Tắt bật trạng thái duyệt tài liệu

6 Xem chi tiết Button Hiển thị chi tiết bài viết được chọn

Button Hiển thị thông báo xác nhận xóa khi nhấp vào button

Chương 5: Thiết kế giao diện và xử lý

5.2.5 Giao diện trang Quản lý lĩnh vực bài viết

Hình 5.2.5 Giao diện trang Quản lý lĩnh vực bài viết Bảng 5.2.5 Mô tả giao diện trang Quản lý lĩnh vực bài viết

STT Tên Loại Ghi chú

Select Lọc hiển thị các lĩnh vực bài viết ứng với trạng thái đã chọn

TextField Khi nhấn vào sẽ hiển thị các tài liệu liên quan đến từ khóa đã nhập

Button Khi nhấp sẽ hiển thị form Thêm mới lĩnh vực bài viết

4 Hoạt động Switch Tắt bật trạng thái hoạt động

Button Hiển thị form chỉnh sửa lĩnh vực bài viết

Button Hiển thị thông báo xác nhận xóa lĩnh vực bài viết

Chương 5: Thiết kế giao diện và xử lý

5.2.6 Giao diện trang Quản lý môn học

Hình 5.2.6 Giao diện trang Quản lý môn học Bảng 5.2.6 Mô tả giao diện trang Quản lý môn học

STT Tên Loại Ghi chú

Select Khi chọn sẽ hiển thị các môn học ứng với chế độ đã chọn

Select Khi chọn sẽ hiển thị các môn học ứng với chế độ đã chọn

Button Khi nhấp sẽ hiển thị các môn học liên quan đến từ khóa nhập vào

Button Khi nhấp hiển thị form thêm mới môn học

5 Hoạt động Switch Tắt bật trạng thái hoạt động

6 Chỉnh sửa lĩnh vực Button Hiển thị form chỉnh sửa môn học

Button Hiển thị thông báo xác nhận xóa môn học

Chương 5: Thiết kế giao diện và xử lý

5.2.7 Giao diện trang Quản lý tài khoản

Hình 5.2.7 Giao diện trang Quản lý tài khoản Bảng 5.2.7 Mô tả giao diện trang Quản lý tài khoản

STT Tên Loại Ghi chú

Select Lọc hiển thị các tài khoản ứng với chế độ đã chọn

Select Lọc các tài khoản ứng với lĩnh vực đã chọn

Khi nhấp sẽ hiển thị các tài khoản thành viên liên quan đến từ khóa nhập vào

Button Khi nhấp sẽ hiển thị form Thêm tài khoản

Khi nhấp vào hệ thống tiến hành tải xuống danh sách các giảng viên hiện có dưới dạng file excel

Khi nhấp vào hiển thị form upload file giảng viên cần chỉnh sửa hoặc thêm mới

Chương 5: Thiết kế giao diện và xử lý

7 Hoạt động Switch Tắt bật trạng thái hoạt động

Button Hiển thị thông báo xác nhận thay đổi mật khẩu

Button Hiển thị form chỉnh sửa lĩnh vực giảng viên

Button Hiển thị thông báo xác nhận xóa tài khoản

Hình 5.2.8 Giao diện Thêm giảng viên mới Bảng 5.2.8 Mô tả giao diện Thêm mới giảng viên

STT Tên Loại Ghi chú

1 Họ và tên giảng viên TextField Nhập họ và tên

2 Email giảng viên TextField Nhập email

3 Mã giảng viên TextField Nhập mã giảng viên

4 Lĩnh vực đảm nhận Select Chọn lĩnh vực đảm nhận

5 Hủy Button Hủy các thao tác đang chỉnh sửa

6 Lưu Button Thêm mới giảng viên đồng thời hiển thị thông báo

Chương 5: Thiết kế giao diện và xử lý

Hình 5.2.9 Giao diện form Chỉnh sửa lĩnh vực giảng viên Bảng 5.2.9 Mô tả giao diện form Chỉnh sửa lĩnh vực giảng viên

STT Tên Loại Ghi chú

Email giảng viên TextField Không được chỉnh sửa

2 Mã giảng viên TextField Không được chỉnh sửa

3 Lĩnh vực phụ trách Select Chọn lĩnh vực

4 Cập nhật TextField Cập nhật hiển thị khi nhấp vào button

5 Hủy Button Hủy thông tin đang chỉnh sửa

6 Lưu Button Lưu thông tin vừa chỉnh sửa

Chương 5: Thiết kế giao diện và xử lý

5.2.8 Giao diện Thông báo Trưởng nhóm

Hình 5.2.10 Giao diện trang thông báo Trưởng nhóm Bảng 5.2.10 Mô tả giao diện trang thông báo Trưởng nhóm

STT Tên Loại Ghi chú

Thông báo chưa đọc khi nhấp vào sẽ chuyển hướng đến bài viết

Chương 5: Thiết kế giao diện và xử lý

Giao diện phân hệ người dùng

5.3.1 Giao diện trang Đăng nhập

Hình 5.3.1 Giao diện trang đăng nhập Trưởng nhóm Bảng 5.3.1 Mô tả giao diện trang đăng nhập Trưởng nhóm

STT Tên Loại Ghi chú

2 Password Password Nhập mật khẩu

3 Login Button Nút đăng nhập

4 Forgot password Button Nút quên mật khẩu

5 Sign up and get started! Button Nút chuyển sang form đăng ký

Chương 5: Thiết kế giao diện và xử lý

5.3.2 Giao diện trang Đăng ký

Hình 5.3.2 Giao diện trang Đăng ký

Hình 5.3.3 Giao diện trang Đăng ký Bảng 5.3.2 Mô tả giao diện trang Đăng ký

STT Tên Loại Ghi chú

1 Nhập fullname TextField Nhập thông tin fullname

2 Nhập Email TextField Nhập thông tin email

3 Nhập mật khẩu Password Nhập thông tin password

Chương 5: Thiết kế giao diện và xử lý

4 Nhập lại mật khẩu Password Nhập thông tin confirm password

5 Next Button Khi nhấp vào sẽ hiển thị sang trang kế tiếp của form đăng kí

6 Sign in Button Khi nhấp vào sẽ hiển thị trang Sign in

7 Chọn khoa Select Chọn thông tin khoa

8 Chọn ngành Select Chọn ngành

9 Nhập mssv TextField Nhập mã số sinh viên

10 Chọn Graduated Check box Nhấp chọn dành cho cựu sinh viên

11 Sign up Button Hệ thống gửi thông báo xác nhận đến mail cung cấp

Hình 5.3.4 Giao diện Trang chủ

Chương 5: Thiết kế giao diện và xử lý

Hình 5.3.5 Giao diện trang chủ

Hình 5.3.6 Giao diện Trang chủ Bảng 5.3.3 Mô tả giao diện Trang chủ

STT Tên Loại Ghi chú

3 Chia sẻ tài liệu Widget Hiển thị các tài liệu được chia sẻ

Chương 5: Thiết kế giao diện và xử lý

5.3.4 Giao diện trang Giới thiệu

Hình 5.3.7 Giao diện trang Giới thiệu Bảng 5.3.4 Mô tả giao diện trang Giới thiệu

STT Tên Loại Ghi chú

Chương 5: Thiết kế giao diện và xử lý

5.3.5 Giao diện trang Tin tức và sự kiện

Hình 5.3.8 Giao diện trang Tin tức và sự kiện Bảng 5.3.5 Mô tả giao diện trang Tin tức và sự kiện

STT Tên Loại Ghi chú

1 Tìm kiếm TextField Khi nhấp sẽ hiển thị các tin tức liên quan đến từ khóa nhập

2 Ngày phát hành TextField Khi nhấp sẽ hiển thị các tin tức trong khoảng thời gian được nhập

3 Danh mục Checkbox Chọn danh mục

4 Tìm kiếm Button Thực hiện thao tác tìm kiếm các tin tức

5 Làm mới Button Làm mới thao tác tìm kiếm

6 Tin tức Widget Hiển thị các tin tức và sự kiện

Chương 5: Thiết kế giao diện và xử lý

5.3.6 Giao diện chi tiết trang Tin tức và sự kiện

Hình 5.3.9 Giao diện chi tiết trang Tin tức và sự kiện Bảng 5.3.6 Mô tả giao diện chi tiết trang Tin tức và sự kiện

STT Tên Loại Ghi chú

2 Xem tất cả tin tức Button Khi nhấp sẽ hiển thị các tin tức

Hình 5.3.10 Giao diện trang Nhóm

Chương 5: Thiết kế giao diện và xử lý

Bảng 5.3.7 Mô tả giao diện trang Nhóm

STT Tên Loại Ghi chú

1 Tìm kiếm TextField Khi nhấp sẽ hiển thị các nhóm liên quan đến từ khóa nhập

2 Danh mục Checkbox Chọn danh mục

3 Tìm kiếm Button Thực hiện thao tác tìm kiếm các tin tức

4 Làm mới Button Làm mới thao tác tìm kiếm

5 Nhóm của tôi Button Truy cập vào nhóm của bạn

6 Tạo nhóm mới Button Hiển thị form tạo nhóm khi nhấp vào

5.3.8 Giao diện chi tiết trang Nhóm

Hình 5.3.11 Giao diện chi tiết trang Nhóm Bảng 5.3.8 Mô tả giao diện chi tiết trang Nhóm

STT Tên Loại Ghi chú

1 Bài viết nhóm TextField Hiển thị các hoạt động trong nhóm

2 Yêu cầu làm thành viên Checkbox Hiển thị các yêu cầu làm thành viên

Chương 5: Thiết kế giao diện và xử lý

3 Duyệt bài viết Button Hiển thị các bài viết cần được duyệt

4 Cài đặt nhóm Button Hiển thị các thao tác cài đặt nhóm

5 Tố cáo nhóm Button Tố cáo nhóm

6 Vấn đề cần trao đổi Widget Hiển thị form tạo bài viết khi nhấp vào

5.3.9 Giao diện Bài viết của bạn

Hình 5.3.12 Giao diện Trang cá nhân Bảng 5.3.9 Mô tả giao diện Trang cá nhân

STT Tên Loại Ghi chú

1 Thanh left Menu Các chức năng ở trang cá nhân

2 Bài viết Widget Hiển thị các bài viết đã đăng

Chương 5: Thiết kế giao diện và xử lý

5.3.10 Giao diện trang Tài liệu của bạn

Hình 5.3.13 Giao diện trang Tài liệu của bạn

STT Tên Loại Ghi chú

1 Tài liệu Widget Hiển thị các tài liệu của bạn đã đăng

5.3.11 Giao diện trang Chỉnh sửa thông tin

Hình 5.3.14 Giao diện trang Chỉnh sửa thông tin Bảng 5.3.10 Mô tả giao diện trang Chỉnh sửa thông tin

Chương 5: Thiết kế giao diện và xử lý

STT Tên Loại Ghi chú

3 Email TextField Không thể thay đổi

5 Lưu thay đổi Button Lưu các thông tin đã thay đổi

6 Hủy Button Hủy các thay đổi trước đó

7 Yêu cầu Button Sau khi nhấp yêu cầu sẽ được gửi đến admin và chờ xác nhận

8 Hủy Button Hủy các thay đổi trước đó

5.3.12 Giao diện trang Đổi mật khẩu

Hình 5.3.15 Giao diện trang Đổi mật khẩu Bảng 5.3.11 Mô tả giao diện trang Đổi mật khẩu

STT Tên Loại Ghi chú

1 Mật khẩu cũ TextField Nhập mật khẩu cũ

2 Mật khẩu mới TextField Nhập mật khẩu mới

3 Nhập lại mật khẩu mới TextField Nhập lại mật khẩu mới

Chương 5: Thiết kế giao diện và xử lý

4 Cập nhật mật khẩu Button Khi nhấp vào cập nhật mật khẩu

5.3.13 Giao diện trang Chia sẻ tài liệu

Hình 5.3.16 Giao diện trang Chia sẻ tài liệu Bảng 5.3.12 Mô tả giao diện trang Chia sẻ tài liệu

STT Tên Loại Ghi chú

1 Nhập từ khóa TextField Cho phép nhập

2 Tìm kiếm Button Khi nhấp sẽ hiển thị các tài liệu liên quan đến các từ khóa đã nhập

3 Làm mới Button Làm mới quá trình tìm kiếm

4 Thêm tài liệu mới Button Hiển thị form để upload tài liệu

5 Chọn khoa Drop list Khi nhấp sẽ hiển thị các tài liệu liên quan đến các trường lọc được chọn

6 Tài liệu Button Hiển thị các tài liệu hiện có

Chương 5: Thiết kế giao diện và xử lý

5.3.14 Giao diện trang Chi tiết tài liệu

Hình 5.3.17 Giao diện trang Chi tiết tài liệu Bảng 5.3.13 Mô tả giao diện trang Chi tiết tài liệu

STT Tên Loại Ghi chú

2 Bản xem trước tài liệu Widget

5.3.15 Giao diện trang Tạo bài viết mới

Hình 5.3.18 Giao diện trang Tạo bài viết mới

Chương 5: Thiết kế giao diện và xử lý

Bảng 5.3.14 Mô tả giao diện trang Tạo bài viết mới

STT Tên Loại Ghi chú

1 Chế độ Select Chọn trạng thái bài đăng

2 Đơn vị Select Chọn đơn vị

3 Tiêu đề TextField Nhập tiêu đề

4 Nội dung TextField Nhập nội dung

5.3.16 Giao diện Bình luận bài viết

Hình 5.3.19 Giao diện trang Bình luận bài viết Bảng 5.3.15 Mô tả giao diện trang Bình luận bài viết

STT Tên Loại Ghi chú

1 Bình luận bài viết Widget Hiển thị các bình luận trước đó

2 Gửi Button Gửi bình luận

Chương 5: Thiết kế giao diện và xử lý

5.3.17 Giao diện Tìm kiếm bài viết

Hình 5.3.20 Giao diện Tìm kiếm bài viết Bảng 5.3.16 Mô tả giao diện Tìm kiếm bài viết

STT Tên Loại Ghi chú

1 Nhập từ khóa tìm kiếm TextField Nhập từ khóa tìm kiếm

2 Đơn vị Select Lọc bài viết theo đơn vị được chọn

3 Lĩnh vực Widget Lọc bài viết theo lĩnh vực được chọn

4 Tìm kiếm Button Khi nhấp sẽ hiển thị bài viết ứng với từ khóa tìm kiếm

5 Làm mới Button Làm mới quá trình tìm kiếm

6 Bài viết Widget Hiển thị bài viết

Chương 5: Thiết kế giao diện và xử lý

5.3.18 Giao diện Thêm tài liệu mới

Hình 5.3.21 Giao diện trang Thêm tài liệu mới Bảng 5.3.17 Mô tả giao diện trang Thêm tài liệu mới

STT Tên Loại Ghi chú

3 Môn học Seclect Chọn Môn học

4 Ảnh tài liệu Upload Upload hình ảnh

5 Tiêu đề TextField Cho phép nhập

6 Mô tả TextField Cho phép nhập

7 File tài liệu Upload file Chỉ upload ở định dạng

Button Khi nhấp sẽ hiển thị thông báo đồng thời chuyển sang trạng thái chờ duyệt

9 Hủy Button Hủy thông tin đang chỉnh sửa

10 Thêm Button Thêm mới tài liệu

Chương 5: Thiết kế giao diện và xử lý

5.3.19 Giao diện Thông báo người dùng

Hình 5.3.22 Giao diện thông báo người dùng Bảng 5.3.18 Mô tả giao diện thông báo người dùng

STT Tên Loại Ghi chú

1 Thông báo Widget Các thông báo khi nhấp vào sẽ chuyển hướng đến bài viết

Chương 5: Thiết kế giao diện và xử lý

STT Tên Loại Ghi chú

1 Trò chuyện Widget Lịch sử trò chuyện

2 Nhập nội dung TextField Chọn Ngành

3 Tìm kiếm Button Gửi câu hỏi

Chương 5: Thiết kế giao diện và xử lý

Giao diện phân hệ giảng viên

5.4.1 Giao diện Hiển thị bài viết được phân công

Hình 5.4.1 Giao diện trang hiển thị bài viết được phân công Bảng 5.4.1 Mô tả giao diện hiển thị giao diện bài viết được phân công

STT Tên Loại Ghi chú

1 Hiển thị bài viết Button Khi nhấp vào sẽ hiển thị tất cả các bài viết

2 Bài viết Widget Hiển thị các bài viết có trên hệ thống

Chương 5: Thiết kế giao diện và xử lý

5.4.2 Giao diện thông báo Giảng viên

Hình 5.4.2 Giao diện thông báo Giảng viên Bảng 5.4.2 Mô tả giao diện thông báo Giảng viên

STT Tên Loại Ghi chú

Khi nhấp vào sẽ hiển thị bài viết cụ thể

Chương 6: Cài đặt và kiểm thử hệ thống

CHƯƠNG 6 CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG 6.1 Cài đặt và triển khai hệ thống

Hệ thống được triển khai tại:

+ Hệ thống Front-end: https://specialized-essay-fe.onrender.com

+ Hệ thống document cho Back-end: https://specialized-essays- be.ambitiousbay-f2f1166e.eastasia.azurecontainerapps.io/swagger-ui/index.html

+ Cấu hình kết nối database PostgreSQL tại specialized_essays_be /applications.properties trong thư mục /src/main/resources: o spring.datasource.url: cấu hình địa chỉ và cổng kết nối đến PostgreSQL o spring.datasource.username: cấu hình username của database o spring.datasource.password: cấu hình password của database

+ Cấu hình giao tiếp với Frontend tại specialized_essays_be /applications.properties trong thư mục /src/main/resources: o firebase.adminsdk.path: Cấu hình connect với firebase o spring.mail.username: Cấu hình kết nối với email

+ Tải source code kltn_fe từ nguồn https://gitlab.com/kelbin1/kltn_fe nhánh develop

+ Chạy lệnh “npm i” hoặc “yarn i” để cài đặt các package

Chương 6: Cài đặt và kiểm thử hệ thống

+ Chạy lệnh “npm run start” hoặc “yarn run start” để run project

6.3.1 Các chức năng trang đăng nhập đăng ký

Bảng 6.3.1 Kiểm thử các chức năng trang đăng nhập đăng ký

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công Pass

2 Chức năng đăng ký Đăng ký thành công Pass

6.3.2 Các chức năng trang diễn đàn sinh viên

Bảng 6.3.2 Kiểm thử các chức năng trang diễn đàn sinh viên

STT Testcase Kết quả mong đợi Kết quả

1 Người dùng tạo mới bài viết

Hiển thị thông báo đồng thời thêm bài viết thành công, bài viết được hiển thị xem trước ở trang diễn dàn

2 Người dùng xóa bài viết

Hiển thị thông báo xóa thành công đồng thời bài viết được xóa khỏi diễn đàn Pass

3 Người dùng bình luận bài viết

Người dùng hiển thị bình luận trên bài viết thành công Pass

4 Người dùng xóa bình luận bài viết

Hiển thị thông báo, xóa bình luận thành công Pass

5 Người dùng chỉnh sửa bài viết Bài viết được cập nhật hiển thị thành công Pass

Chương 6: Cài đặt và kiểm thử hệ thống

5 Người dùng phản hồi bình luận

Người dùng hiển thị phản hồi của bình luận trên bài viết thành công Pass

6 Người dùng xóa phản hồi

Hiển thị thông báo, xóa bình luận thành công Pass

7 Người dùng tìm kiếm bài viết

Hệ thống hiển thị danh sách các bài viết có nội dung và tiêu đề tương tự với từ khóa Pass

8 Người dùng lọc bài viết

Hệ thống hiển thị danh sách các bài viết có nội dung và tiêu đề tương tự với các tùy chọn lọc

6.3.3 Các chức năng trang quản lý bài viết, tin tức và sự kiện

Bảng 6.3.3 Kiểm thử các chức năng quản lý tin tức và sự kiện, danh mục

STT Testcase Kết quả mong đợi Kết quả

1 Thêm mới tin tức Thêm mới tin tức thành công đồng thời hiển thị tin tức trên giao diện người dùng Pass

2 Ẩn hoạt động tin tức Hiển thị thông báo thành công đồng thời ẩn hiển thị trên giao diện người dùng Pass

3 Duyệt bài viết Duyệt thành công, hiển thị thông báo đồng thời hiển thị trên diễn đàn trao đổi Pass

4 Xóa bài viết Thao tác xóa thành công đồng thời hiển thị thông báo Pass

5 Chỉnh sửa danh mục tin tức

Chỉnh sửa thành công đồng thời hiển thị cập nhật danh mục ở trang người dùng Pass

Chương 6: Cài đặt và kiểm thử hệ thống

6 Thêm mới danh mục tin tức

Hiển thị thành công đồng thời thêm mới danh mục thành công Pass

6.3.4 Các chức năng trang chia sẻ tài liệu

Bảng 6.3.4 Kiểm thử các chức chức năng trang chia sẻ tài liệu

STT Testcase Kết quả mong đợi Kết quả

Hệ thống hiển thị danh sách các tài liệu có mô tả và tiêu đề tương tự với các tùy chọn lọc

Tài liệu chia sẻ upload thành công, hiển thị ở trang Trưởng nhóm với trạng thái chờ duyệt

3 Tìm kiếm tài liệu Hệ thống hiển thị danh sách các bài viết có mô tả và tiêu đề tương tự với từ khóa Pass

6.3.5 Kiểm thử chi tiết chức năng trang diễn đàn sinh viên, chia sẻ tài liệu

Bảng 6.3.5 Testcase kiểm thử chức năng đăng nhập sai mật khẩu

Mô tả Kiểm thử chức năng đăng nhập sai mật khẩu

1 Truy cập vào trang web

Dữ liệu thử Email = “20110193@student.hcmute.edu.com”

Kết quả mong đợi Đăng nhập không thành công đồng thời hiển thị thông báo

Như mong đợi Kết luận Passed

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.6 Testcase kiểm tra hiển thị đúng các bài viết khi lọc Chọn đơn vị

Mô tả Kiểm tra hiển thị đúng các bài viết khi lọc Chọn đơn vị Các bước thực hiện

1 Truy cập vào trang web Diễn đàn sinh viên

Dữ liệu thử Đơn vị = "Công nghệ thông tin "

Hiển thị các bài viết thuộc đơn vị Công nghệ thông tin

Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.7 Testcase kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Lĩnh vực

Chương 6: Cài đặt và kiểm thử hệ thống

Mô tả Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Lĩnh vực Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

3 Chọn chế độ bài đăng

Dữ liệu thử Đơn vị = "Công nghệ thông tin "

Tạo bài viết thất bại đồng thời hiển thị thông báo không thành công

Kết luận Passed Ảnh minh chứng

Bảng 6.3.8 Testcase kiểm tra chức năng comment bài viết khi không nhập bình luận

Mô tả Kiểm tra chức năng comment bài viết khi không nhập bình luận Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

Chương 6: Cài đặt và kiểm thử hệ thống

Dữ liệu thử Chế độ bài đăng = "Public"

Lĩnh vực = "Ngành Công Nghệ Thông Tin "

Nội dung = "Làm sao để đăng ký học vượt trong hk3" Kết quả mong đợi Tạo bài viết thất bại đồng thời hiển thị thông báo không thành công Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.9 Testcase kiểm tra chức năng xóa bình luận

Mô tả Kiểm tra chức năng xóa bình luận

1 Truy cập vào trang web với tài khoản người dùn

2 Nhấp vào tùy chọn của bình luận đã đăng

3 Nhấp vào icon Xóa bình luận

Kết quả mong đợi Xóa bình luận thành công

Kết quả thực tế Như mong đợi

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.10 Testcase kiểm tra chức năng thả tim bài viết

Mô tả Kiểm tra chức năng thả tim bài viết

1 Truy cập vào trang web với tài khoản người dùng

Kết quả mong đợi Hệ thống hiển thị trạng thái đã like bài viết đồng thời cập nhật số lượng like hiện có Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.11 Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Tiêu đề

Mô tả Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường

Tiêu đề Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

Chương 6: Cài đặt và kiểm thử hệ thống

3 Chọn chế độ bài đăng

Dữ liệu thử Chế độ bài đăng = "Public" Đơn vị = "Khoa Công Nghệ Thông Tin"

Lĩnh vực = "Ngành Công Nghệ Thông Tin "

Nội dung = "Làm sao để đăng ký học vượt trong hk3"

Kết quả mong đợi Tạo bài viết thất bại đồng thời hiển thị thông báo nhập thiếu thông tin Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.12 Kiểm tra tìm kiếm tài liệu

Mô tả Kiểm tra tìm kiếm tài liệu

1 Truy cập tài khoản cá nhân người dùng

Dữ liệu thử Từ khóa = “Công nghệ ”

Kết quả mong đợi Hệ thống hiển thị các tài liệu liên quan đến bài viết

Kết quả thực tế Như mong đợi

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.13 Kiểm tra chức năng tải xuống tài liệu

Mô tả Kiểm tra chức năng tải xuống tài liệu

1 Người dùng truy cập trang Chia sẻ tài liệu

2 Nhấp icon xem chi tiết "Đề thi toán 1"

3 Nhấp icon tải xuống "Đề thi toán 1"

Kết quả mong đợi Tải xuống thành công đồng thời hiển thị thông báo hiển thị thông báo tải xuống thành công Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.14 Kiểm tra bỏ trống mục tài liệu khi thực hiện chức năng upload tài liệu

Mô tả Kiểm tra bỏ trống mục tài liệu khi thực hiện chức năng upload tài liệu

Chương 6: Cài đặt và kiểm thử hệ thống

1 Người dùng truy cập trang Chia sẻ tài liệu

2 Nhấp chọn "Chia sẻ tài liệu"

Dữ liệu thử Khoa = "Công nghệ thông tin "

Mô tả = "Đề thi Toán 2 HK2"

Tiêu đề = "Đề thi Toán 2 HK2"

Ngành = "Công nghệ thông tin "

Tải lên thất bại đồng thời hiển thị thông báo tải lên không thành công

Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

1.1 Về kiến thức Được tìm hiểu, trau dồi và nắm vững các kiến thức chuyên môn cho bản thân như:

+ Kiến thức về lập trình web, bảo mật thông tin, các nguyên tắc lập trình, kỹ thuật lập trình, design pattern

+ Kiến thức về lập trình hướng đối tượng, lập trình với ngôn ngữ Java và JavaScript

+ Kiến thức về ReactJS, Spring Framework và Spring Boot

+ Cách thiết kế và xây dựng RESTful API web services bằng Spring Boot + Cách xây dựng giao diện với ReactJS

+ Cách tích hợp Spring Boot và ReactJS để tạo thành một hệ thống hoàn chỉnh

+ Các nghiệp vụ liên quan tới đề tài

+ Kỹ năng đọc hiểu tài liệu tiếng anh, nghiên cứu để giải quyết khó khăn + Quy trình thực hiện một dự án phần mềm

Hoàn thiện hệ thống Website tư vấn Sư Phạm Kỹ Thuật từ các yêu cầu ban đầu bao gồm các đặc tả tính năng, các sơ đồ, lược đồ mô tả hệ thống, chức năng và các thức hoạt động, các mối quan hệ giữa các chức năng với nhau và các tác nhân sử dụng chúng

Các chức năng sau khi thực hiện đề tài đã đạt được :

+ Giao diện trực quan thân thiện, nhiều lựa chọn tăng tính trải nghiệm và dễ sử dụng

+ Môi trường trực tuyến thảo luận và chia sẻ kiến thức, khuyến kích sự tham gia tích cực từ sinh viên, giảng viên

+ Cung cấp chức năng chia sẻ tài liệu học tập và các tài liệu tham khảo

+ Hỗ trợ việc tìm kiếm và tổ chức thông tin một cách thuận tiện

+ Hiệu năng hoạt động tốt, ổn định, chính xác và đánh tin cậy trong việc bảo mật và lưu trữ thông tin cá nhân

+ Chức năng quản quản trị các khía cạnh của hệ thống giúp cho việc quản lý dễ dàng và hiệu quả

+ Rèn luyện các kỹ năng mềm : học các tương tác và làm việc hiệu quả trong môi trường làm việc nhóm, phát triển khả năng giao tiếp và hỗ trợ giải quyết vấn đề

+ Rèn luyện khả năng quản lý thời gian : ưu tiên công việc và phân công nhiệm vụ trong dự án

+ Áp dụng và triển khai kiến thức đã học thông qua quá trình phát triển phần mềm

+ Nâng cao khả năng trải nghiệm từ các mô hình thực tế

2 Ưu điểm và nhược điểm

+ Hệ thống có giao diện người dùng thân thiện và dễ sử dụng

+ Có các tính năng cơ bản phục vụ các nhu cầu cho một website tư vấn sinh viên cũng như tính năng nâng cao để cải thiện trải nghiệm của người dùng

+ Sử dụng Spring boot giúp giảm bớt thời gian và công sức trong việc cấu hình và quản lý dự án

+ Thiết kế hệ thống cho phép mở rộng và phát triển một cách linh hoạt, đáp ứng được nhu cầu và thay đổi trong tương lai

+ Hệ thống chatbot hỗ trợ giải đáp các vấn đề liên quan đến quy chế và quy định của trường Đại học Sư Phạm Kỹ Thuật

+ Giao diện người dùng và trải nghiệm người dùng chưa được mượt mà và hấp dẫn

+ Một số chức năng chưa được tối ưu hóa đúng cách gây hiệu năng kém hoặc tốn tài nguyên không cần thiết

+ Do kinh nghiệm và kiến thức nên có thể gặp khó khăn trong việc đưa ra các giải pháp tối ưu cho giải quyết cụ thể

Một số điểm mở rộng nhóm đề ra để phát triển cho hệ thống sau này :

+ Cập nhật UI/UX để tăng thêm trải nghiệm người dùng

+ Tìm hiểu về xu hướng thiết kế giao diện và trải nghiệm người dùng mới để đảm bảo hệ thống đáp ứng các yêu cầu và mong muốn của người dùng hiển đại

+ Cải thiện hiệu suất ứng dụng đảm bảo tốc độ và ổn định cao, sửa lỗi để cải thiện độ tin cậy người dùng

[1] Spring Boot Reference Documentation, Spring Boot team, 15/06/2024, https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/

[2] Java là gì? Định nghĩa, ưu và nhược điểm của ngôn ngữ lập trình Java , Hưng Nguyễn 15/06/2024 , https://vietnix.vn/java-la-gi/

[3] Introduction to Spring Framework, Spring Framework team, 15/06/2024, https://docs.spring.io/spring-framework/docs/4.0.x/spring-framework- reference/html/overview.html

[4] Học Spring Boot bắt đầu từ đâu?, 15/06/2024, https://viblo.asia/p/hoc-spring-boot-bat-dau-tu-dau-6J3ZgN7WKmB

[5] Spring là gì? Lợi ích mà Spring mang lại cho người dùng, 15/06/2024, ITNavi, https://itnavi.com.vn/blog/spring-la-gi-spring-framework-cua-java

[6] RESTful API là gì? Cách thiết kế RESTful API, 15/06/2024, https://topdev.vn/blog/restful-api-la-gi/

[7] ReactJS: Tìm hiểu thông qua ví dụ, Kieu Hoa, 15/06/2024, https://200lab.io/blog/tim-hieu-reactjs/

[8] Best practices for REST API design - Stack Overflow Blog, John Au-Yeung and Ryan Donovan, 15/06/2024, https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/

[9] Docker Docs: How to build, share, and run applications | Docker Documentation, Docker Team, 15/06/2024, https://docs.docker.com/

[10] Material UI, 10/07/2024, https://mui.com/

[11] Tổng quan: Các thành phần cấu tạo nên Transformer (Phần 1)https://viblo.asia/p/tong-quan-cac-thanh-phan-cau-tao-nen-transformer- phan-1-Ny0VGdD84PA 05/07/2024

[12] Ant Design, 10/07/2024, https://ant.design/

[13] Vaswani, A., Shazeer, N., Parmar, N et al., "Attention is all you need," arXiv (Cornell University), 2017 doi: 10.48550/arXiv.1706.03762, 10/07/2024

[14] Using WebSocket to build an interactive web application, 10/07/2024, https://spring.io/guides/gs/messaging-stomp-websocket

[15] Vike, Flexible, lean, community-driven, dependable, fast Vite-based frontend framework., 10/07/2024, https://vike.dev/

[16] Zustand: state management on the client side, 10/07/2024, https://github.com/pmndrs/zustand

[17] Orval: generate API endpoints, 10/07/2024, https://orval.dev/

[18] TailwindCSS, 10/07/2024, https://tailwindcss.com/docs/installation

[19] Postcss-mixins, 10/07/2024, https://www.npmjs.com/package/postcss-mixins

[20] Spring Security, 10/07/2024, https://spring.io/projects/spring-security

[21] Spring Data JPA, 10/07/2024, https://spring.io/projects/spring-data-jpa

[22] Gao, Y., Xiong, Y., Gao, X., Jia, K et al., "Retrieval-Augmented Generation for Large Language Models: A Survey," arXiv (Cornell University), 2023 doi: 10.48550/arXiv.2312.10997., 10/07/2024

[23] Python Document, 10/07/2024, https://docs.python.org/3/

[24] RAG Documentation, 10/07/2024, https://docs.ragas.io/en/stable/index.html

Nhật ký báo cáo giáo viên hướng dẫn

NHẬT KÝ BÁO CÁO GIÁO VIÊN HƯỚNG DẪN

Bảng 7.3.1 Bảng nhật ký báo cáo giáo viên hướng dẫn

Lần Nội dung báo cáo Thời gian

- Trình bài mục đích hướng đi, các chức năng phát triển của đề tài

- Cập nhật lược đồ tuần tự, lược đồ usecase, đặc tả usecase

- Thiết kế giao diện và cải tiến hệ thống

- Cấu trúc cơ bản của mã nguồn backend, bao gồm các module, API , và logic chính

- Giảng viên góp ý các chức năng liên quan

- Hoàn thành các chức năng chính của hệ thống

- Kiểm thử toàn bộ hệ thống

- Hoàn thành các chức năng cập nhật đề ra ban đầu

CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG

Cài đặt

+ Cấu hình kết nối database PostgreSQL tại specialized_essays_be /applications.properties trong thư mục /src/main/resources: o spring.datasource.url: cấu hình địa chỉ và cổng kết nối đến PostgreSQL o spring.datasource.username: cấu hình username của database o spring.datasource.password: cấu hình password của database

+ Cấu hình giao tiếp với Frontend tại specialized_essays_be /applications.properties trong thư mục /src/main/resources: o firebase.adminsdk.path: Cấu hình connect với firebase o spring.mail.username: Cấu hình kết nối với email

+ Tải source code kltn_fe từ nguồn https://gitlab.com/kelbin1/kltn_fe nhánh develop

+ Chạy lệnh “npm i” hoặc “yarn i” để cài đặt các package.

Kiểm thử ứng dụng

+ Chạy lệnh “npm run start” hoặc “yarn run start” để run project

6.3.1 Các chức năng trang đăng nhập đăng ký

Bảng 6.3.1 Kiểm thử các chức năng trang đăng nhập đăng ký

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công Pass

2 Chức năng đăng ký Đăng ký thành công Pass

6.3.2 Các chức năng trang diễn đàn sinh viên

Bảng 6.3.2 Kiểm thử các chức năng trang diễn đàn sinh viên

STT Testcase Kết quả mong đợi Kết quả

1 Người dùng tạo mới bài viết

Hiển thị thông báo đồng thời thêm bài viết thành công, bài viết được hiển thị xem trước ở trang diễn dàn

2 Người dùng xóa bài viết

Hiển thị thông báo xóa thành công đồng thời bài viết được xóa khỏi diễn đàn Pass

3 Người dùng bình luận bài viết

Người dùng hiển thị bình luận trên bài viết thành công Pass

4 Người dùng xóa bình luận bài viết

Hiển thị thông báo, xóa bình luận thành công Pass

5 Người dùng chỉnh sửa bài viết Bài viết được cập nhật hiển thị thành công Pass

Chương 6: Cài đặt và kiểm thử hệ thống

5 Người dùng phản hồi bình luận

Người dùng hiển thị phản hồi của bình luận trên bài viết thành công Pass

6 Người dùng xóa phản hồi

Hiển thị thông báo, xóa bình luận thành công Pass

7 Người dùng tìm kiếm bài viết

Hệ thống hiển thị danh sách các bài viết có nội dung và tiêu đề tương tự với từ khóa Pass

8 Người dùng lọc bài viết

Hệ thống hiển thị danh sách các bài viết có nội dung và tiêu đề tương tự với các tùy chọn lọc

6.3.3 Các chức năng trang quản lý bài viết, tin tức và sự kiện

Bảng 6.3.3 Kiểm thử các chức năng quản lý tin tức và sự kiện, danh mục

STT Testcase Kết quả mong đợi Kết quả

1 Thêm mới tin tức Thêm mới tin tức thành công đồng thời hiển thị tin tức trên giao diện người dùng Pass

2 Ẩn hoạt động tin tức Hiển thị thông báo thành công đồng thời ẩn hiển thị trên giao diện người dùng Pass

3 Duyệt bài viết Duyệt thành công, hiển thị thông báo đồng thời hiển thị trên diễn đàn trao đổi Pass

4 Xóa bài viết Thao tác xóa thành công đồng thời hiển thị thông báo Pass

5 Chỉnh sửa danh mục tin tức

Chỉnh sửa thành công đồng thời hiển thị cập nhật danh mục ở trang người dùng Pass

Chương 6: Cài đặt và kiểm thử hệ thống

6 Thêm mới danh mục tin tức

Hiển thị thành công đồng thời thêm mới danh mục thành công Pass

6.3.4 Các chức năng trang chia sẻ tài liệu

Bảng 6.3.4 Kiểm thử các chức chức năng trang chia sẻ tài liệu

STT Testcase Kết quả mong đợi Kết quả

Hệ thống hiển thị danh sách các tài liệu có mô tả và tiêu đề tương tự với các tùy chọn lọc

Tài liệu chia sẻ upload thành công, hiển thị ở trang Trưởng nhóm với trạng thái chờ duyệt

3 Tìm kiếm tài liệu Hệ thống hiển thị danh sách các bài viết có mô tả và tiêu đề tương tự với từ khóa Pass

6.3.5 Kiểm thử chi tiết chức năng trang diễn đàn sinh viên, chia sẻ tài liệu

Bảng 6.3.5 Testcase kiểm thử chức năng đăng nhập sai mật khẩu

Mô tả Kiểm thử chức năng đăng nhập sai mật khẩu

1 Truy cập vào trang web

Dữ liệu thử Email = “20110193@student.hcmute.edu.com”

Kết quả mong đợi Đăng nhập không thành công đồng thời hiển thị thông báo

Như mong đợi Kết luận Passed

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.6 Testcase kiểm tra hiển thị đúng các bài viết khi lọc Chọn đơn vị

Mô tả Kiểm tra hiển thị đúng các bài viết khi lọc Chọn đơn vị Các bước thực hiện

1 Truy cập vào trang web Diễn đàn sinh viên

Dữ liệu thử Đơn vị = "Công nghệ thông tin "

Hiển thị các bài viết thuộc đơn vị Công nghệ thông tin

Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.7 Testcase kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Lĩnh vực

Chương 6: Cài đặt và kiểm thử hệ thống

Mô tả Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Lĩnh vực Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

3 Chọn chế độ bài đăng

Dữ liệu thử Đơn vị = "Công nghệ thông tin "

Tạo bài viết thất bại đồng thời hiển thị thông báo không thành công

Kết luận Passed Ảnh minh chứng

Bảng 6.3.8 Testcase kiểm tra chức năng comment bài viết khi không nhập bình luận

Mô tả Kiểm tra chức năng comment bài viết khi không nhập bình luận Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

Chương 6: Cài đặt và kiểm thử hệ thống

Dữ liệu thử Chế độ bài đăng = "Public"

Lĩnh vực = "Ngành Công Nghệ Thông Tin "

Nội dung = "Làm sao để đăng ký học vượt trong hk3" Kết quả mong đợi Tạo bài viết thất bại đồng thời hiển thị thông báo không thành công Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.9 Testcase kiểm tra chức năng xóa bình luận

Mô tả Kiểm tra chức năng xóa bình luận

1 Truy cập vào trang web với tài khoản người dùn

2 Nhấp vào tùy chọn của bình luận đã đăng

3 Nhấp vào icon Xóa bình luận

Kết quả mong đợi Xóa bình luận thành công

Kết quả thực tế Như mong đợi

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.10 Testcase kiểm tra chức năng thả tim bài viết

Mô tả Kiểm tra chức năng thả tim bài viết

1 Truy cập vào trang web với tài khoản người dùng

Kết quả mong đợi Hệ thống hiển thị trạng thái đã like bài viết đồng thời cập nhật số lượng like hiện có Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.11 Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Tiêu đề

Mô tả Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường

Tiêu đề Các bước thực hiện

1 Truy cập vào trang web với tài khoản người dùng

Chương 6: Cài đặt và kiểm thử hệ thống

3 Chọn chế độ bài đăng

Dữ liệu thử Chế độ bài đăng = "Public" Đơn vị = "Khoa Công Nghệ Thông Tin"

Lĩnh vực = "Ngành Công Nghệ Thông Tin "

Nội dung = "Làm sao để đăng ký học vượt trong hk3"

Kết quả mong đợi Tạo bài viết thất bại đồng thời hiển thị thông báo nhập thiếu thông tin Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.12 Kiểm tra tìm kiếm tài liệu

Mô tả Kiểm tra tìm kiếm tài liệu

1 Truy cập tài khoản cá nhân người dùng

Dữ liệu thử Từ khóa = “Công nghệ ”

Kết quả mong đợi Hệ thống hiển thị các tài liệu liên quan đến bài viết

Kết quả thực tế Như mong đợi

Chương 6: Cài đặt và kiểm thử hệ thống Ảnh minh chứng

Bảng 6.3.13 Kiểm tra chức năng tải xuống tài liệu

Mô tả Kiểm tra chức năng tải xuống tài liệu

1 Người dùng truy cập trang Chia sẻ tài liệu

2 Nhấp icon xem chi tiết "Đề thi toán 1"

3 Nhấp icon tải xuống "Đề thi toán 1"

Kết quả mong đợi Tải xuống thành công đồng thời hiển thị thông báo hiển thị thông báo tải xuống thành công Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Bảng 6.3.14 Kiểm tra bỏ trống mục tài liệu khi thực hiện chức năng upload tài liệu

Mô tả Kiểm tra bỏ trống mục tài liệu khi thực hiện chức năng upload tài liệu

Chương 6: Cài đặt và kiểm thử hệ thống

1 Người dùng truy cập trang Chia sẻ tài liệu

2 Nhấp chọn "Chia sẻ tài liệu"

Dữ liệu thử Khoa = "Công nghệ thông tin "

Mô tả = "Đề thi Toán 2 HK2"

Tiêu đề = "Đề thi Toán 2 HK2"

Ngành = "Công nghệ thông tin "

Tải lên thất bại đồng thời hiển thị thông báo tải lên không thành công

Kết quả thực tế Như mong đợi

Kết luận Passed Ảnh minh chứng

Ưu điểm và nhược điểm

4 Đề nghị cho bảo vệ hay không?

TP Hồ Chí Minh, ngày 11 tháng 07 năm 2024

(Ký & ghi rõ họ tên) ĐH SƯ PHẠM KỸ THUẬT TP.HCM

CỘNG HÒA XHCN VIỆT NAM Độc lập – Tự do – Hạnh phúc

PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Họ và tên Sinh viên 1: Phan Thị Diễm Trinh MSSV 1: 20110193

Họ và tên Sinh viên 2: Huỳnh Anh Vũ MSSV 2: 20110147

Chuyên ngành: Công nghệ phần mềm

Tên đề tài: Xây dựng hệ thống kết nối sinh viên Sư Phạm Kỹ Thuật sử dụng Spring boot

Họ và tên giảng viên phản biện: ThS.Nguyễn Trần Thi Văn

1 Về nội dung đề tài và khối lượng thực hiện:

4 Đề nghị cho bảo vệ hay không?

TP Hồ Chí Minh, ngày 11 tháng 07 năm 2024

(Ký & ghi rõ họ tên)

LỜI CẢM ƠN Để hoàn thành tốt đề tài này, chúng em xin gửi lời cảm ơn chân thành đến các quý thầy cô trong khoa Công Nghệ Thông Tin đã luôn tận tình truyền đạt những kiến thức, kỹ năng bổ ích trong suốt quá trình học tập Bên cạnh đó, chúng em xin cảm ơn trường Đại học Sư phạm Kỹ thuật TP.HCM đã tạo điều kiện về cơ sở vật chất cũng như các điều kiện cần thiết khác giúp chúng em có môi trường học tập và thực hiện đề tài một cách thuận lợi nhất Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến giảng viên, thạc sĩ Nguyễn Hữu Trung, người đã trực tiếp hỗ trợ chúng em trong suốt quá trình thực hiện đề tài Chúng em cảm ơn thầy đã đưa ra những lời khuyên từ kinh nghiệm thực tiễn của mình để định hướng cho nhóm đi đúng với yêu cầu của đề tài Bên cạnh đó, chúng em cảm ơn thầy đã luôn giải đáp thắc mắc và đưa ra những góp ý, chỉnh sửa kịp thời giúp chúng em khắc phục nhược điểm và hoàn thành đúng thời hạn đã đề ra Đề tài được chúng em thực hiện trong khoảng thời gian không quá dài, với những kiến thức còn hạn chế về mặt kỹ thuật và kinh nghiệm trong việc triển khai dự án phần mềm Do đó, trong quá trình thực hiện đề tài có những thiếu sót là điều không thể tránh khỏi nên chúng em rất mong nhận được những ý kiến đóng góp quý báu từ quý thầy cô để có thể cải thiện về sau

Cuối lời, chúng em kính chúc quý thầy cô luôn dồi dào sức khỏe và thành công hơn nữa trong sự nghiệp trồng người Một lần nữa chúng em xin chân thành cảm ơn!

TP Hồ Chí Minh, ngày 11 tháng 07 năm 2024

Hình 1.2.1 Kiến trúc tổng thể của Spring Framework [2] 17

Hình 1.2.2 Mô hình cấu tạo của Spring Boot [3] 18

Hình 1.6.1 Cấu trúc của Transformer[11] 24

Hình 2.1.1 Giao diện trang Đăng nhập 28

Hình 2.1.2 Giao diện trang chủ Tư vấn sinh viên 28

Hình 2.1.3 Giao diện Form đặt câu hỏi cho ban tư vấn 29

Hình 2.1.4 Giao diện Câu hỏi và câu trả lời 29

Hình 2.1.5 Giao diện trang Ban tư vấn viên 29

Hình 2.1.6 Giao diện Trang thư viện câu hỏi 30

Hình 2.1.7 Giao diện Trang hoạt động 30

Hình 3.1.1 Lược đồ Usecase hệ thống 41

Hình 4.1.1 Lược đồ ERD của hệ thống 86

Hình 4.2.1 Lược đồ tuần tự Đăng nhập 87

Hình 4.2.2 Lược đồ tuần tự Đăng ký 87

Hình 4.2.3 Lược đồ tuần tự Tạo mới bài viết 87

Hình 4.2.4 Lược đồ tuần tự Tìm kiếm bài viết 88

Hình 4.2.5 Lược đồ tuần tự Upload tài liệu 89

Hình 4.2.6 Lược đồ tuần tự Quản lý tài khoản và thông tin cá nhân 89

Hình 4.2.7 Quản lý bài viết 90

Hình 4.2.8 Quản lý danh mục tin tức 91

Hình 4.2.12 Quản lý tin tức 95

Hình 4.2.13 Quản lý tải khoản người dùng 96

Hình 4.2.14 Quản lý tài liệu 97

Hình 4.2.15 Quản lý đơn vị 98

Hình 4.2.16 Thêm mới tài liệu 99

Hình 4.2.17 Tạo mới bài viết 100

Hình 5.1.1 Giao diện trang thống kê 102

Hình 5.1.2 Giao diện trang Giới thiệu chung - Nội dung 103

Hình 5.1.3 Giao diện trang Giới thiệu chung - Tìm hiểu thêm về trường 104

Hình 5.1.4 Giao diện Chỉnh sửa danh mục 104

Hình 5.1.5 Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm 105

Hình 5.1.6 Giao diện Chỉnh sửa phòng ban 106

Hình 5.1.7 Giao diện Chỉnh sửa phòng ban 106

Hình 5.1.8 Giao diện trang Tìm hiểu thêm - Các khoa và bộ môn 107

Hình 5.1.9 Giao diện trang Chỉnh sửa khoa và bộ môn 108

Hình 5.1.10 Giao diện trang Chỉnh sửa khoa và nội dung 108

Hình 5.1.11 Giao diện trang Chỉnh sửa khoa và nội dung 108

Hình 5.1.12 Giao diện trang Thêm mới thành viên 110

Hình 5.1.13 Giao diện trang Thêm mới chương trình đào tạo 111

Hình 5.1.14 Giao diện trang Thêm mới chương trình đào tạo 111

Hình 5.1.15 Giao diện trang Tìm hiểu thêm - Cơ sở vật chất 112

Hình 5.1.16 Giao diện trang Thêm mới hình ảnh 113

Hình 5.1.19 Giao diện trang Đơn vị liên kết 115

Hình 5.1.20 Giao diện trang Thêm mới đối tác 116

Hình 5.1.21 Giao diện trang Các thông tin khác 117

Hình 5.1.22 Giao diện trang Thêm mới tin tức 118

Hình 5.1.23 Giao diện trang Thêm mới tin tức 118

Hình 5.1.24 Giao diện trang Quản lý bài viết 119

Hình 5.1.25 Giao diện trang Quản lý nhóm 120

Hình 5.1.26 Giao diện trang Quản lý tài liệu 121

Hình 5.1.27 Giao diện trang Quản lý tin tức 122

Hình 5.1.28 Giao diện trang Quản lý đơn vị 123

Hình 5.1.29 Giao diện trang Quản lý khoa 124

Hình 5.1.30 Giao diện trang Quản lý ngành 125

Hình 5.1.31 Giao diện trang Quản lý tài khoản hệ thống 126

Hình 5.1.32 Giao diện trang Quản lý người dùng 127

Hình 5.1.33 Giao diện trang Quản lý trưởng nhóm 128

Hình 5.1.34 Giao diện trang Quản lý giảng viên 129

Hình 5.1.35 Giao diện Quản lý lịch sử thao tác 130

Hình 5.1.36 Giao diện trang Quản lý danh mục tin tức 131

Hình 5.1.37 Giao diện trang Quản lý danh mục nhóm 132

Hình 5.1.38 Giao diện trang Quản lý tố cáo nhóm 133

Hình 5.1.39 Giao diện trang Quản lý tố cáo bài viết 134

Hình 5.2.1 Giao diện trang Thống kê 135

Hình 5.2.2 Giao diện trang đăng nhập Trưởng nhóm 136

Hình 5.2.3 Giao diện trang Quản lý bài viết 137

Hình 5.2.4 Giao diện trang Quản lý tài liệu 138

Hình 5.2.5 Giao diện trang Quản lý lĩnh vực bài viết 139

Hình 5.2.6 Giao diện trang Quản lý môn học 140

Hình 5.2.7 Giao diện trang Quản lý tài khoản 141

Hình 5.2.8 Giao diện Thêm giảng viên mới 142

Hình 5.2.9 Giao diện form Chỉnh sửa lĩnh vực giảng viên 143

Hình 5.2.10 Giao diện trang thông báo Trưởng nhóm 144

Hình 5.3.1 Giao diện trang đăng nhập Trưởng nhóm 145

Hình 5.3.2 Giao diện trang Đăng ký 146

Hình 5.3.3 Giao diện trang Đăng ký 146

Hình 5.3.4 Giao diện Trang chủ 147

Hình 5.3.5 Giao diện trang chủ 148

Hình 5.3.6 Giao diện Trang chủ 148

Hình 5.3.7 Giao diện trang Giới thiệu 149

Hình 5.3.8 Giao diện trang Tin tức và sự kiện 150

Hình 5.3.9 Giao diện chi tiết trang Tin tức và sự kiện 151

Hình 5.3.10 Giao diện trang Nhóm 151

Hình 5.3.11 Giao diện chi tiết trang Nhóm 152

Hình 5.3.12 Giao diện Trang cá nhân 153

Hình 5.3.13 Giao diện trang Tài liệu của bạn 154

Hình 5.3.14 Giao diện trang Chỉnh sửa thông tin 154

Hình 5.3.15 Giao diện trang Đổi mật khẩu 155

Hình 5.3.16 Giao diện trang Chia sẻ tài liệu 156

Hình 5.3.17 Giao diện trang Chi tiết tài liệu 157

Hình 5.3.18 Giao diện trang Tạo bài viết mới 157

Hình 5.3.21 Giao diện trang Thêm tài liệu mới 160

Hình 5.3.22 Giao diện thông báo người dùng 161

Hình 5.4.1 Giao diện trang hiển thị bài viết được phân công 163

Hình 5.4.2 Giao diện thông báo Giảng viên 164

Bảng 2.1.1 Nhận xét trang Tư vấn sinh viên 30

Bảng 2.2.1 Mô tả yêu cầu chức năng hệ thống 34

Bảng 3.2.1 Đặc tả usecase Đăng nhập 41

Bảng 3.2.2 Đặc tả usecase Đăng xuất 42

Bảng 3.2.3 Đặc tả usecase Đăng ký 42

Bảng 3.2.4 Đặc tả usecase Quản lý bài viết 43

Bảng 3.2.5 Đặc tả usecase Quản lý tài liệu 44

Bảng 3.2.6 Đặc tả usecase Quản lý lĩnh vực bài viết 45

Bảng 3.2.7 Đặc tả usecase Quản lý môn học 46

Bảng 3.2.8 Đặc tả usecase Quản lý tài khoản 47

Bảng 3.2.9 Đặc tả Usecase Thống kê 49

Bảng 3.2.10 Đặc tả Usecase Thống kê đơn vị 50

Bảng 3.2.11 Đặc tả usecase quản lý bài viết 50

Bảng 3.2.12 Đặc tả usecase quản lý tài liệu 51

Bảng 3.2.13 Đặc tả usecase quản lý tin tức 52

Bảng 3.2.14 Đặc tả usecase Quản lý đơn vị 53

Bảng 3.2.15 Đặc tả usecase Quản lý khoa 55

Bảng 3.2.16 Đặc tả usecase Quản lý ngành 56

Bảng 3.2.17 Đặc tả usecase Quản lý tài khoản hệ thống 58

Bảng 3.2.18 Đặc tả usecase Quản lý danh mục tin tức 59

Bảng 3.2.19 Đặc tả usecase quản lý người dùng 60

Bảng 3.2.20 Đặc tả usecase Quản lý trưởng nhóm 61

Bảng 3.2.21 Đặc tả usecase quản lý giảng viên 63

Bảng 3.2.22 Đặc tả usecase Quản lý lịch sử thao tác 64

Bảng 3.2.23 Đặc tả usecase quản lý tài khoản và thông tin cá nhân 64

Bảng 3.2.24 Đặc tả usecase Tạo bài viết 65

Bảng 3.2.25 Đặc tả usecase Xem bài viết 66

Bảng 3.2.26 Đặc tả usecase Cập nhật bài viết 66

Bảng 3.2.27 Đặc tả usecase Xóa bài viết 67

Bảng 3.2.28 Đặc tả usecase bình luận bài viết 68

Bảng 3.2.29 Đặc tả usecase xóa bình luận bài viết 69

Bảng 3.2.30 Đặc tả usecase chỉnh sửa bình luận bài viết 69

Bảng 3.2.31 Đặc tả usecase thả emoticon bài viết 70

Bảng 3.2.32 Đặc tả usecase gỡ emoticon bài viết 70

Bảng 3.2.33 Đặc tả usecase Quản lý tin tức 71

Bảng 3.2.34 Đặc tả usesecase Giới thiệu chung 72

Bảng 3.2.35 Đặc tả usecase Tìm hiểu thêm về trường 73

Bảng 3.2.36 Đặc tả usecase giới thiệu các phòng ban trung tâm 74

Bảng 3.2.37 Đặc tả usecase Các khoa và bộ môn 75

Bảng 3.2.38 Đặc tả usecase Cơ sở vật chất 76

Bảng 3.2.39 Đặc tả ussecase Lịch sử hình thành và phát triển 77

Bảng 3.2.40 Đặc tả usecase Đơn vị liên kết 78

Bảng 3.2.41 Đặc tả usecase Các thông tin khác 79

Bảng 3.2.42 Đặc tả usecase Quản lý nhóm 81

Bảng 3.2.43 Đặc tả usecase Quản lý danh mục nhóm 82

Bảng 3.2.44 Đặc tả usecase Quản lý tố cáo nhóm 83

Bảng 5.1.2 Mô tả giao diện trang Giới thiệu chung - Nội dung 103

Bảng 5.1.3 Mô tả giao diện trang Giới thiệu chung - Tìm hiểu thêm về trường 104

Bảng 5.1.4 Mô tả giao diện Chỉnh sửa danh mục 105

Bảng 5.1.5 Mô tả giao diện Tìm hiểu thêm - Các phòng ban và trung tâm 105

Bảng 5.1.6 Mô tả giao diện Chỉnh sửa phòng ban 106

Bảng 5.1.7 Mô tả giao diện Tìm hiểu thêm - Các khoa và bộ môn 107

Bảng 5.1.8 Mô tả giao diện trang Chỉnh sửa khoa và nội dung 109

Bảng 5.1.9 Mô tả giao diện trang Thêm mới thành viên 110

Bảng 5.1.10 Mô tả trang Thêm mới chương trình đào tạo 111

Bảng 5.1.11 Mô tả giao diện trang Tìm hiểu thêm - Cơ sở vật chất 112

Bảng 5.1.12 Mô tả giao diện trang Thêm mới hình ảnh 113

Bảng 5.1.13 Mô tả giao diện trang Tổng quan VR360 114

Bảng 5.1.14 Mô tả giao diện trang Lịch sử hình thành và phát triển 114

Bảng 5.1.15 Mô tả giao diện trang Đơn vị liên kết 115

Bảng 5.1.16 Mô tả giao diện trang Thêm mới đối tác 116

Bảng 5.1.17 Mô tả giao diện trang Các thông tin khác 117

Bảng 5.1.18 Mô tả giao diện trang Thêm mới tin tức 118

Bảng 5.1.19 Mô tả giao diện trang Quản lý bài viết 119

Bảng 5.1.20 Mô tả giao diện trang Quản lý nhóm 120

Bảng 5.1.21 Mô tả giao diện trang Quản lý tài liệu 121

Bảng 5.1.22 Mô tả giao diện trang Quản lý tin tức 122

Bảng 5.1.23 Mô tả giao diện trang Quản lý đơn vị 123

Bảng 5.1.24 Mô tả giao diện trang Quản lý khoa 124

Bảng 5.1.25 Mô tả giao diện trang Quản lý ngành 125

Bảng 5.1.26 Mô tả giao diện trang Quản lý tài khoản hệ thống 126

Bảng 5.1.27 Mô tả giao diện trang Quản lý người dùng 127

Bảng 5.1.28 Mô tả giao diện trang Quản lý trưởng nhóm 128

Bảng 5.1.29 Mô tả giao diện trang Quản lý giảng viên 129

Bảng 5.1.30 Mô tả giao diện Quản lý lịch sử thao tác 130

Bảng 5.1.31 Mô tả giao diện trang Quản lý danh mục tin tức 131

Bảng 5.1.32 Mô tả giao diện trang Quản lý danh mục nhóm 132

Bảng 5.1.33 Mô tả giao diện trang Quản lý tố cáo nhóm 133

Bảng 5.1.34 Mô tả giao diện trang Quản lý tố cáo bài viết 134

Bảng 5.2.1 Mô tả giao diện trang Thống kê 135

Bảng 5.2.2 Mô tả giao diện trang đăng nhập Trưởng nhóm 136

Bảng 5.2.3 Mô tả giao diện trang Quản lý bài viết 137

Bảng 5.2.4 Mô tả giao diện trang Quản lý tài liệu 138

Bảng 5.2.5 Mô tả giao diện trang Quản lý lĩnh vực bài viết 139

Bảng 5.2.6 Mô tả giao diện trang Quản lý môn học 140

Bảng 5.2.7 Mô tả giao diện trang Quản lý tài khoản 141

Bảng 5.2.8 Mô tả giao diện Thêm mới giảng viên 142

Bảng 5.2.9 Mô tả giao diện form Chỉnh sửa lĩnh vực giảng viên 143

Bảng 5.2.10 Mô tả giao diện trang thông báo Trưởng nhóm 144

Bảng 5.3.1 Mô tả giao diện trang đăng nhập Trưởng nhóm 145

Bảng 5.3.2 Mô tả giao diện trang Đăng ký 146

Bảng 5.3.3 Mô tả giao diện Trang chủ 148

Bảng 5.3.4 Mô tả giao diện trang Giới thiệu 149

Bảng 5.3.5 Mô tả giao diện trang Tin tức và sự kiện 150

Bảng 5.3.6 Mô tả giao diện chi tiết trang Tin tức và sự kiện 151

Bảng 5.3.9 Mô tả giao diện Trang cá nhân 153

Bảng 5.3.10 Mô tả giao diện trang Chỉnh sửa thông tin 154

Bảng 5.3.11 Mô tả giao diện trang Đổi mật khẩu 155

Bảng 5.3.12 Mô tả giao diện trang Chia sẻ tài liệu 156

Bảng 5.3.13 Mô tả giao diện trang Chi tiết tài liệu 157

Bảng 5.3.14 Mô tả giao diện trang Tạo bài viết mới 158

Bảng 5.3.15 Mô tả giao diện trang Bình luận bài viết 158

Bảng 5.3.16 Mô tả giao diện Tìm kiếm bài viết 159

Bảng 5.3.17 Mô tả giao diện trang Thêm tài liệu mới 160

Bảng 5.3.18 Mô tả giao diện thông báo người dùng 161

Bảng 5.4.1 Mô tả giao diện hiển thị giao diện bài viết được phân công 163

Bảng 5.4.2 Mô tả giao diện thông báo Giảng viên 164

Bảng 6.3.1 Kiểm thử các chức năng trang đăng nhập đăng ký 166

Bảng 6.3.2 Kiểm thử các chức năng trang diễn đàn sinh viên 166

Bảng 6.3.3 Kiểm thử các chức năng quản lý tin tức và sự kiện, danh mục 167

Bảng 6.3.4 Kiểm thử các chức chức năng trang chia sẻ tài liệu 168

Bảng 6.3.5 Testcase kiểm thử chức năng đăng nhập sai mật khẩu 168

Bảng 6.3.6 Testcase kiểm tra hiển thị đúng các bài viết khi lọc Chọn đơn vị 169

Bảng 6.3.7 Testcase kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Lĩnh vực 169

Bảng 6.3.8 Testcase kiểm tra chức năng comment bài viết khi không nhập bình luận 170

Bảng 6.3.9 Testcase kiểm tra chức năng xóa bình luận 171

Bảng 6.3.10 Testcase kiểm tra chức năng thả tim bài viết 172

Bảng 6.3.11 Kiểm tra chức năng tạo bài viết mới khi bỏ trống trường Tiêu đề 172

Bảng 6.3.12 Kiểm tra tìm kiếm tài liệu 173

Bảng 6.3.13 Kiểm tra chức năng tải xuống tài liệu 174

Bảng 6.3.14 Kiểm tra bỏ trống mục tài liệu khi thực hiện chức năng upload tài liệu 174

Bảng 7.4.1 Bảng nhật ký báo cáo giáo viên hướng dẫn 181

Trường ĐH Sư Phạm Kỹ Thuật TP.HCM

Khoa Công Nghệ Thông Tin ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP

Họ và tên sinh viên thực hiện 1: Phan Thị Diễm Trinh MSSV1:20110193

Họ và tên sinh viên thực hiện 2: Huỳnh Anh Vũ MSSV2:20110147 Thời gian làm luận văn: từ 01/03/2024 đến ngày 11/07/2024

Chuyên ngành: Công nghệ phần mềm

Tên luận văn: Xây dựng hệ thống kết nối sinh viên Sư Phạm Kỹ Thuật sử dụng

Giáo viên hướng dẫn: ThS Nguyễn Hữu Trung

Nhiệm vụ của luận văn:

Xây dựng website với công nghệ Spring Boot, ReactJS, postgressql, firebase hoặc các công nghệ tương tự

+ Ngôn ngữ Java, Spring Boot, Spring Data, Spring Security, Spring Boot Starter Validation, SpringDoc OpenAPI, Json Web Token, Lombok

+ Thuật toán băm mật khẩu

+ Sử dụng ReactJS để xây dựng giao diện hệ thống (frontend) với Ant Design, HTML và CSS

+ Sử dụng Axios để ReactJS tương tác với API backend

+ Sử dụng Spring Boot để xây dựng backend (RESTful API web service)

+ Sử dụng Spring Data để tương tác với cơ sở dữ liệu

+ Sử dụng Spring Security và JWT để xác thực và phân quyền các API

+ Sử dụng SpringDoc OpenAPI để hỗ trợ tự động tạo tài liệu (document) cho các API có trên hệ thống Đồng thời cung cấp giao diện sử dụng các API đó một cách nhanh chóng (Swagger UI)

+ Sử dụng Docker để deploy ứng dụng

+ Tạo, gửi mã xác thực qua email Đề cương viết luận văn:

1 Tính cấp thiết của đề tài

2 Mục đích của đề tài

3 Đối tượng nghiên cứu của đề tài

4 Phạm vi nghiên cứu của đề tài

5 Phương pháp thực hiện đề tài

6 Kết quả dự kiến đạt được

Chương 1 Cơ sở lý thuyết

Chương 2 Khảo sát, phân tích

Chương 3 Mô hình hóa yêu cầu

Chương 4 Thiết kế phần mềm

Chương 5 Thiết kế giao diện xử lý

Chương 6 Cài đặt và kiểm thử hệ thống

1 Những kết quả đạt được

DANH SÁCH TÀI LIỆU THAM KHẢO

STT Thời gian Công việc

+ Tìm hiểu đề tài + Thảo luận, đề ra các chức năng hệ thống và các chức năng phát triển

+ Tìm hiểu các công nghệ mới, framework áp dụng vào hệ thống

+ Phân tích hiện trạng và lập kế hoạch thực hiện + Xác định các yêu cầu cần cập nhật và phân công công việc

+ Đánh giá mức độ khả thi của các chức năng hệ thống, thiết kế thêm chức năng hệ thống

+ Cập nhật thiết kế database cho hệ thống, xây dựng database postgres

+ Thiết kế, xây dựng và cải tiến RESTful API cho các chức năng

+ Thiết kế, xây dựng và cải tiến giao diện cho hệ thống + Tích hợp hệ thống

+ Tiến hành kiểm thử toàn bộ hệ thống để hoàn thiện trang web theo yêu cầu và thiết kế ban đầu.

+ Tiến hành viết báo cáo

+ Hoàn thành báo cáo và hoàn chỉnh hệ thống

+ Khảo sát và phân tích đề tài

+ Phụ trách cơ sở lý thuyết

+ Vẽ lược đồ Usecase và viết đặc tả Usecase, lược đồ hoạt động và lược đồ tuần tự

+ Viết hướng dẫn cài đặt front-end

+ Viết báo cáo phần Mở đầu, chương Lý thuyết, Khảo sát, Mô hình hóa yêu cầu, Thiết kế giao diện và xử lý, Cài đặt và kiểm thử, phần Kết luận.

+ Khảo sát và phân tích đề tài

+ Triển khai hệ thống front-end + Phụ trách cơ sở lý thuyết back-end

+ Vẽ lược đồ Usecase và viết đặc tả Usecase, lược đồ hoạt động và lược đồ tuần tự

+ Thiết kế cơ sở dữ liệu

+ Viết hướng dẫn cài đặt back-end

+ Kiểm thử front-end và back-end

+ Triển khai hệ thống với Docker Ý kiến của Giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

Nguyễn Hữu Trung Phan Thị Diễm Trinh

DANH MỤC BẢNG 5 ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP 1

1 Tính cấp thiết của đề tài 10

2 Mục đích của đề tài 10

3 Đối tượng nghiên cứu của đề tài 11

4 Phạm vi nghiên cứu của đề tài 11

5 Phương pháp thực hiện đề tài 12

6 Kết quả dự kiến đạt được 12

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 14

1.1 Ngôn ngữ lập trình Java 14

1.7 Kỹ Thuật RAG (Retrieval Augmented generation) 25

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG 27

2.1.1 Trang tư vấn sinh viên Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ

2.2 Phân tích yêu cầu của đề tài 31

2.2.2 Yêu cầu phi chức năng 39

CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU 41

CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 86

4.2.6 Quản lý tài khoản và thông tin cá nhân 89

4.2.8 Quản lý danh mục tin tức 91

4.2.13 Quản lý tải khoản người dùng 96

CHƯƠNG 5 THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 102

5.1 Giao diện phân hệ Admin 102

5.1.1 Giao diện trang thống kê 102

5.1.2 Giao diện trang Giới thiệu chung – Nội dung 103

5.1.3 Giao diện trang Giới thiệu chung – Tìm hiểu thêm về trường 104

5.1.4 Giao diện trang Tìm hiểu thêm – Các phòng ban và trung tâm 105

5.1.5 Giao diện trang Tìm hiểu thêm – Các khoa và bộ môn 107

5.1.6 Giao diện trang Tìm hiểu thêm – Cơ sở vật chất 112

5.1.7 Giao diện trang Lịch sử hình thành và phát triển 114

5.1.8 Giao diện trang Đơn vị liên kết 115

5.1.9 Giao diện trang Các thông tin khác 117

5.1.10 Giao diện trang Quản lý bài viết 119

5.1.11 Giao diện trang Quản lý nhóm 120

5.1.12 Giao diện trang Quản lý tài liệu 121

5.1.13 Giao diện trang Quản lý tin tức 122

5.1.14 Giao diện trang Quản lý đơn vị 123

5.1.15 Giao diện trang Quản lý khoa 124

5.1.16 Giao diện trang Quản lý ngành 125

5.1.17 Giao diện trang Quản lý tài khoản hệ thống 126

5.1.18 Giao diện trang Quản lý người dùng 127

5.1.19 Giao diện trang Quản lý trưởng nhóm 128

5.1.20 Giao diện trang Quản lý giảng viên 129

5.1.21 Giao diện trang Quản lý lịch sử thao tác 130

5.1.22 Giao diện trang Quản lý danh mục tin tức 131

5.1.23 Giao diện trang Quản lý danh mục nhóm 132

5.1.24 Giao diện trang Quản lý tố cáo nhóm 133

5.1.25 Giao diện trang Quản lý tố cáo bài viết 134

5.2 Giao diện phân hệ Trưởng nhóm 135

5.2.1 Giao diện trang Thống kê 135

5.2.2 Giao diện trang Đăng nhập 136

5.2.3 Giao diện trang Quản lý bài viết 137

5.2.4 Giao diện trang Quản lý tài liệu 138

5.2.5 Giao diện trang Quản lý lĩnh vực bài viết 139

5.2.6 Giao diện trang Quản lý môn học 140

5.2.7 Giao diện trang Quản lý tài khoản 141

5.2.8 Giao diện Thông báo Trưởng nhóm 144

5.3 Giao diện phân hệ người dùng 145

5.3.1 Giao diện trang Đăng nhập 145

5.3.2 Giao diện trang Đăng ký 146

5.3.4 Giao diện trang Giới thiệu 149

5.3.5 Giao diện trang Tin tức và sự kiện 150

5.3.6 Giao diện chi tiết trang Tin tức và sự kiện 151

5.3.8 Giao diện chi tiết trang Nhóm 152

5.3.9 Giao diện Bài viết của bạn 153

5.3.10 Giao diện trang Tài liệu của bạn 154

5.3.11 Giao diện trang Chỉnh sửa thông tin 154

5.3.12 Giao diện trang Đổi mật khẩu 155

5.3.13 Giao diện trang Chia sẻ tài liệu 156

5.3.14 Giao diện trang Chi tiết tài liệu 157

5.3.15 Giao diện trang Tạo bài viết mới 157

5.3.16 Giao diện Bình luận bài viết 158

5.3.17 Giao diện Tìm kiếm bài viết 159

5.3.18 Giao diện Thêm tài liệu mới 160

5.3.19 Giao diện Thông báo người dùng 161

5.4 Giao diện phân hệ giảng viên 163

5.4.1 Giao diện Hiển thị bài viết được phân công 163

5.4.2 Giao diện thông báo Giảng viên 164

CHƯƠNG 6 CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG 165

6.1 Cài đặt và triển khai hệ thống 165

6.3.1 Các chức năng trang đăng nhập đăng ký 166

6.3.2 Các chức năng trang diễn đàn sinh viên 166

6.3.3 Các chức năng trang quản lý bài viết, tin tức và sự kiện 167

6.3.4 Các chức năng trang chia sẻ tài liệu 168

6.3.5 Kiểm thử chi tiết chức năng trang diễn đàn sinh viên, chia sẻ tài liệu 168

2 Ưu điểm và nhược điểm 177

3 Hướng phát triển 178TÀI LIỆU THAM KHẢO 179NHẬT KÝ BÁO CÁO GIÁO VIÊN HƯỚNG DẪN 181

1 Tính cấp thiết của đề tài

Trong thời đại chuyển đổi số, sự tiến bộ của công nghệ thông tin và internet đã thay đổi cách chúng ta tương tác và chia sẻ thông tin Điều này đã tác động tới sinh viên tại trường Sư phạm Kỹ thuật nơi mà trao đổi kiến thức và thông tin là một phần không thể thiếu trong quá trình học tập và nghiên cứu Vì vậy, chúng em đã quyết định tập trung vào việc xây dựng trang web học tập: "Website kết nối sinh viên Sư phạm Kỹ thuật"

Website kết nối sinh viên Sư phạm Kỹ thuật là một nền tảng trực tuyến, ngôi nhà chung cho sinh viên và giảng viên Tại đây, mọi người không chỉ có thể chia sẻ thông tin mà còn tạo cơ hội cho sự hợp tác và học hỏi từ nhau Website này sẽ cung cấp các tiện ích như đăng nhập hệ thống, quản lý tài khoản cá nhân, diễn đàn thảo luận, thông tin về tin tức và sự kiện, nơi tìm kiếm các tài liệu liên quan đến nhu cầu học tập của các sinh viên

Mục tiêu của dự án này là tạo ra một không gian trực tuyến mà mọi người có thể dễ dàng tương tác và chia sẻ ý kiến Thông qua việc kết nối cộng đồng sinh viên Sư phạm Kỹ thuật, chúng ta có thể tạo ra môi trường năng động và sáng tạo

2 Mục đích của đề tài

Xây dựng một môi trường trực tuyến để sinh viên Sư phạm Kỹ thuật có thể dễ dàng thảo luận về các vấn đề liên quan đến học tập, chia sẻ kinh nghiệm và trao đổi thông tin và các thắc mắc liên quan trong quá trình học tập

Website cho phép sinh viên chia sẻ, tải lên, và truy cập tài liệu học tập, bài giảng và tài liệu tham khảo để hỗ trợ quá trình học tập

Thiết kế giao diện đơn giản, tiện lợi, dễ sử dụng, gần gũi với người dùng

Website cung cấp thông tin về chương trình học, tin tức sự kiện và các nguồn hỗ trợ tư vấn khác, giúp sinh viên tìm kiếm thông tin quan trọng Áp dụng công nghệ phát triển web và các framework để tạo môi trường trực tuyến chuyên nghiệp và thân thiện

3 Đối tượng nghiên cứu của đề tài

Các đối tượng nghiên cứu của đề tài:

- Người dùng cuối : Sinh viên, cựu sinh viên, giảng viên có thể truy cập và tương tác với website như đăng bài, thảo luận, chia sẻ tải xuống các tài liệu, truy cập và quản lý thông tin tài khoản cá nhân

- Giảng viên: Đối tượng này có quyền giải đáp tư vấn các bài viết trong quyền hạn được chỉ định

- Trưởng nhóm: Đối tượng này có quyền quản lý các chức năng của hệ thống bao gồm quản lý bài viết, quản lý tài liệu, quản lý lĩnh vực bài viết, quản lý môn học, quản lý tài khoản giảng viên trực thuộc khoa

- Quản trị viên hệ thống : Đối tượng có quyền truy cập và quản lý toàn bộ hệ thống Họ có khả năng truy cập đầy đủ vào các chức năng của hệ thống bao gồm quản lý người dùng, phân quyền truy cập và thực hiện các tác vụ quản lý trên hệ thống

4 Phạm vi nghiên cứu của đề tài

Phạm vi nghiên cứu đề tài bao gồm:

- Thiết kế giao diện hệ thống: Thiết kế giao diện người dùng đảm bảo tính trực quan và thân thiện của trang web Khám phá cách thiết kế giao diện để đảm bảo rõ ràng và dễ sử dụng cho tất cả người dùng

- Kết nối, đăng bài thảo luận: tạo các tính năng để sinh viên kết nối trao đổi với nhau bằng cách đăng bài thảo luận giải đáp thắc mắc trên chủ đề học tập

Ngày đăng: 19/11/2024, 12:24

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

TÀI LIỆU LIÊN QUAN

w