CHƯƠNG 1 GIỚI THIỆU 1. Giới thiệu về đề tài : 1.1 Công nghệ sử dụng Trong bối cảnh toàn cầu hóa, chất lượng giáo dục đại học ngày càng trở thành yếu tố quan trọng, ảnh hưởng trực tiếp đến uy tín và khả năng cạnh tranh của các trường đại học. Để đáp ứng các tiêu chuẩn kiểm định chất lượng từ các tổ chức quốc tế và quốc gia, các cơ sở Giáo dục Đại học (CSGD ĐH) cần có một hệ thống quản lý minh chứng đáng tin cậy và hiệu quả.2 Phạm vi đề tài: Quản lý minh chứng đánh giá là hệ thống sẽ tập trung vào việc thu thập, lưu trữ, quản lý và truy xuất các minh chứng liên quan đến các hoạt động đào tạo, nghiên cứu và quản lý của cơ sở Giáo dục Đại học. Minh chứng có thể bao gồm các tài liệu như báo cáo, bài báo, chứng chỉ, hình ảnh, video, và các loại tài liệu khác.
Hệ thống sẽ cho phép phân loại các minh chứng theo các tiêu chí như loại tài liệu, chủ đề, thời gian, và nguồn gốc. Điều này giúp dễ dàng tổ chức và truy xuất các minh chứng khi cần thiết.3 Mục tiêu đề tài: Mục tiêu chính của đề tài này là thiết kế và triển khai một hệ thống quản lý minh chứng đánh giá nhằm hỗ trợ các cơ sở Giáo dục Đại học (CSGD ĐH) trong việc thu thập, lưu trữ, và quản lý các minh chứng phục vụ cho quá trình đánh giá chất lượng giáo dục. Hệ thống này sẽ giúp các trường đại học duy trì và cải thiện chất lượng đào tạo, đồng thời đáp ứng các tiêu chuẩn kiểm định chất lượng. Công cụ hỗ trợ: 1.
Công nghệ sử dụng : ̵ Sử dụng các công nghệ : ReactJS, Java Spring Boot,Json Web Token PAGE \* MERGEFORMAT VII ̵ Sự kết hợp của hai công nghệ này tạo ra một hệ thống mạnh mẽ và hiệu quả cho việc phát triển ứng dụng web. Sự kết hợp này mang lại nhiều lợi ích từ việc cung cấp giao diện người dùng phong phú và tương tác cho đến một hệ thống bảo mật và có khả năng mở rộng. ❖ So sánh giữa hai công nghệ : Java Spring Boot PHP Mở rộng: Dễ dàng mở rộng và có khả Khó mở rộng: Việc mở rộng ứng dụng năng tích hợp với nhiều công nghệ PHP có thể gặp khó khăn khi ứng dụng trở nên phức tạp và lớn hơn. khác trong hệ sinh thái Spring như Spring Data, Spring Security, Spring Cloud, v.v Bảo mật: Spring Boot cung cấp các cơ Bảo mật: PHP dễ bị tấn công nếu chế bảo mật mạnh mẽ, giúp bảo vệ ứng không được cấu hình và bảo vệ đúng dụng khỏi các mối đe dọa phổ biến.
Hiệu năng cao: Java Spring Boot Hiệu năng thấp hơn: PHP thường có thường có hiệu suất cao hơn PHP do sử hiệu suất thấp hơn so với Java do là dụng ngôn ngữ biên dịch và quản lý bộ ngôn ngữ thông dịch. nhớ hiệu quả. Tốc độ kết cơ sở nối dữ liệu : Tốc độ kết nối cơ sở dữ liệu : ̵ Spring Boot sử dụng JDBC (Java ̵ PHP sử dụng các thư viện như Database Connectivity) để kết nối PDO (PHP Data Objects) hoặc với MySQL. JDBC cung cấp các MySQLi để kết nối với MySQL.
kết nối nhanh và ổn định, đặc biệt Các thư viện này cung cấp kết nối khi sử dụng connection pooling (hồ nhanh và dễ sử dụng, nhưng có thể kết nối) để tái sử dụng các kết nối không tối ưu bằng JDBC trong một đã mở. số trường hợp ̵ Hỗ trợ connection pooling (hồ kết ̵ Không có cơ chế connection nối) thông qua các thư viện , giúp pooling (hồ kết nối) tích hợp sẵn, quản lý kết nối hiệu quả hơn. nhưng có thể sử dụng các thư viện bên ngoài để hỗ trợ PAGE \* MERGEFORMAT VII ❖ Kết luận : ̵ Java Spring Boot: Thích hợp cho các ứng dụng yêu cầu hiệu suất cao và khả năng mở rộng tốt, đặc biệt là trong các hệ thống lớn và phức tạp. ̵ PHP: Phù hợp cho các dự án nhỏ và trung bình, nơi tốc độ phát triển nhanh và chi phí thấp là ưu tiên.
̵ JWT là một công nghệ mạnh mẽ và linh hoạt giúp đơn giản hóa việc xác thực, bảo mật API, và quản lý phiên người dùng trong các ứng dụng hiện đại. Với khả năng mở rộng dễ dàng, hiệu suất cao, và bảo mật tốt, JWT là một lựa chọn lý tưởng cho nhiều ứng dụng web và di động. ❖ So sánh giữa hai công nghệ JSON Web Token OpenID Connect Đơn giản và nhẹ: JWT là một chuỗi Phức tạp hơn: So với JWT, OpenID JSON, dễ dàng truyền qua URL, HTTP Connect có thể phức tạp hơn trong việc header hoặc trong body của HTTP triển khai và cấu hình request Linh hoạt: JWT có thể sử dụng trên Phụ thuộc vào nhà cung cấp dịch vụ: nhiều nền tảng khác nhau, từ trình OpenID Connect yêu cầu một nhà cung duyệt web đến các ứng dụng di động và cấp nhận dạng (Identity Provider), điều desktop này có thể tạo ra một điểm thất bại duy nhất nếu nhà cung cấp gặp sự cố ❖ Kết luận : ̵ JWT là sự lựa chọn tốt cho các ứng dụng đơn giản, cần hiệu năng cao và không yêu cầu bảo mật phức tạp. JWT đặc biệt hữu ích khi bạn cần xác thực hoặc ủy quyền mà không cần trạng thái trên máy chủ.
̵ OpenID Connect (OIDC) phù hợp với các ứng dụng và hệ thống yêu cầu bảo mật cao hơn, cần tính năng SSO và tích hợp với các dịch vụ nhận diện. OIDC là lựa chọn tốt PAGE \* MERGEFORMAT VII cho các hệ thống doanh nghiệp và môi trường phức tạp với yêu cầu quản lý người dùng toàn diện và bảo mật mạnh mẽ. Ngôn ngữ sử dụng : ̵ Sử dụng các ngôn ngữ đa dạng như : Java Script, Java 1. Các công cụ hỗ trợ : ̵ Visual Studio Code, Laragon, Nginx, ̵ Sử dụng Nginx để tạo server trên server Ubuntu để chạy Web và Java Spring Boot 1.
Cấu trúc đồ án: Báo cáo bao gồm các phần chính như sau: Chương 1: Giới thiệu Giới thiệu về mục đích, ý nghĩa, lý do chọn đề tài; Tổng quan tình hình nghiên cứu của đề tài. Chương 2: Phân tích và thiết kế hệ thống Chương này trình bày tổng quan về các yêu cầu của hệ thống bao gồm yêu cầu của người dùng, chức năng, phi chức năng và yêu cầu của hệ thống. Bên cạnh đó, phần thiết kế hệ thống cũng được mô tả chi tiết. Chương 3: Cài đặt và kết quả thực nghiệm Kết luận : Đã tạo ra được một Hệ thống quản lý minh chứng đánh giá cơ sở Giáo dục Đại học.
Ngoài ra giảng viên có thể viết báo cáo tự đánh giá ngay trên hệ thống để dễ dàng truy xuất đến các minh chứng. CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2. Phân tích yêu cầu 2. Yêu cầu người dùng Với vai trò là giảng viên của phòng Khảo thí và Đảm bảo chất lượng Giáo dục có thể : − Xem, sửa, xóa các minh chứng.
− Tạo mới minh chứng − Tìm kiếm minh chứng − Xuất được danh mục minh chứng − Viết báo cáo tự đánh giá PAGE \* MERGEFORMAT VII − Xuất báo cáo tự đánh giá Với vai trò là một Quản trị viên hệ thống có thể : − Quản lý chuẩn kiểm định chất lượng − Quản lý chương trình đào tạo − Quản lý phòng ban − Quản lý giảng viên 2.2 Yêu cầu phi chức năng ̵ Giao diện đẹp, thân thiện với người dùng ̵ Website ổn định ̵ Bảo mật 2.3 Yêu cầu hệ thống ̵ Hệ thống chạy dưới dạng Website, phù hợp với mọi trình duyệt ̵ Hệ thống có thể chạy trên nhiều hệ điều hành khác nhau 2. Phân tích thiết kế hệ thống 2. Biểu đồ Use-case 2. Biểu đồ Use-case tổng quát Biểu đồ 1.
Biểu đồ Use-case Tổng quát PAGE \* MERGEFORMAT VII 2. Biểu đồ Use-case chi tiết ⮚ Biểu đồ Use-case quản lý người dùng Biểu đồ 2. Biểu đồ Use-case Quản lý người dùng Đặc tả Use-case Quản lý người dùng Tên Use-case Quản lý người dùng Mô tả Quản lý người dùng trong việc phân quyền và cho phép truy cập vào hệ thống Actor Admin Điều kiện kích hoạt Khi Admin muốn cấp quyền cho giảng viên nào đó hoặc xóa người dùng Tiền điều kiện Đăng nhập bằng tài khoản Hậu điều kiện Admin truy cập vào hệ thống để cấp quyền cho giảng viên Luồng sự kiện chính + Phân quyền 1. Admin mở trang đăng nhập 2.
Đăng nhập vào hệ thống bằng tài đã được cấp 3. Quản lý người dùng 4. Danh sách các giảng 5. Chọn cấp quyền cho giảng viên truy cập + Xóa người dùng PAGE \* MERGEFORMAT VII 1.
Admin mở trang đăng nhập 2. Đăng nhập vào hệ thống bằng tài khoản đã được cấp 3. Chọn quản lý tài khoản 4. Chọn xóa tài khoản Luồng sự kiện rẻ nhánh + Tài khoản không hợp lệ 1.
Đăng nhập không thành công trở lại trang đăng nhập 2. Nhập lại tài khoản mật khẩu để đăng nhập lại + Tài khoản không phải của Admin 1. Đăng nhập được vào hệ thống 2. Chức năng phân quyền bị cấm không được sử dụng ⮚ Biểu đồ Use-case đăng nhập Biểu đồ 3.
Biểu đồ Use-case Đăng nhập Đặc tả Use-case Đăng nhập Tên Use-case Đăng nhập PAGE \* MERGEFORMAT VII Mô tả Cho phép người sử dụng đăng nhập vào hệ thống Actor Admin, Giảng viên, Người mới Điều kiện kích hoạt Khi người dùng muốn đăng nhập vào hệ thống Tiền điều kiện Đăng nhập bằng tài khoản Hậu điều kiện Truy cập vào được hệ thống để thực hiện các chức năng khác Luồng sự kiện chính 1. Mở trang đăng nhập 2. Đăng nhập bằng tài khoản 3. Hệ thống kiểm tra thông tin 4.
Nếu hợp lệ giảng viên sẽ được đăng nhập vào hệ thống Luồng sự kiện rẻ nhánh + Thông tin không hợp lệ 1. Thông tin không hợp lệ thì hệ thống sẽ báo sai thông tin và đăng nhập không được 2. Cần nhập lại thông tin và đăng nhập lại ⮚ Biểu đồ Use-case quản lý tiêu chuẩn Biểu đồ 4. Biểu đồ Use-case Quản lý tiêu chuẩn PAGE \* MERGEFORMAT VII Đặc tả Use-case thêm tiêu chuẩn Tên Use-case Thêm tiêu chuẩn Mô tả Admin có thể thêm,sửa,xóa các tiêu chuẩn Actor Admin Điều kiện kích hoạt Admin muốn đăng nhập vào hệ thống để quản lý tiêu chuẩn Tiền điều kiện Đăng nhập bằng tài khoản Hậu điều kiện Người dùng đăng nhập vào làm các chức năng khác Luồng sự kiện chính 1.
Đăng nhập vào hệ thống 2. Đăng nhập bằng tài khoản 3. Quản lý tiêu chuẩn 4. Thêm, sửa, xóa các tiêu chuẩn Luồng sự kiện rẽ nhánh + Tài khoản đăng nhập không phải Admin 1.
Đăng nhập hệ thống thành công 2.