I. Giới thiệu về đồ án xây dựng website hỗ trợ đăng ký đề tài
Đồ án xây dựng website hỗ trợ đăng ký đề tài là một dự án học liên ngành được thực hiện bởi sinh viên Khoa Công nghệ Thông tin, Trường Đại học Phenikaa. Dự án này nhằm tối ưu hóa quy trình quản lý đề tài thông qua ứng dụng công nghệ thông tin hiện đại. Website được phát triển với mục tiêu chính là cải thiện hiệu quả đăng ký đề tài cho sinh viên và giáo viên hướng dẫn. Bằng cách số hóa quy trình truyền thống, dự án giúp tiết kiệm thời gian, công sức và nâng cao tính minh bạch trong phân công đề tài. Ngoài ra, website này cũng đảm bảo tính bảo mật cao để bảo vệ dữ liệu cá nhân và thông tin học tập của người dùng. Đề tài được hướng dẫn bởi ThS. Mai Xuân Tráng và hoàn thành vào tháng 3 năm 2024.
1.1. Lý do chọn đề tài và mục tiêu dự án
Việc chọn đề tài xây dựng website hỗ trợ đăng ký đề tài dựa trên nhu cầu thực tế của nhà trường. Tăng cường tính hiệu quả trong quản lý đề tài là ưu tiên hàng đầu, giúp thay thế các phương thức thủ công bằng hệ thống tự động hóa. Mục tiêu chính là tạo ra một nền tảng trực tuyến linh hoạt, cho phép sinh viên dễ dàng truy cập và đăng ký đề tài từ bất kỳ đâu. Đồng thời, dự án cải thiện trải nghiệm sinh viên thông qua giao diện thân thiện và các tính năng đa dạng.
1.2. Phạm vi và ý nghĩa của dự án
Phạm vi dự án tập trung vào phát triển website sử dụng JavaScript và MySQL để tạo hệ thống quản lý đề tài hoàn chỉnh. Website bao gồm các chức năng chính như đăng ký đề tài, quản lý sinh viên, tìm kiếm và lọc chi tiết đề tài. Ý nghĩa của dự án là cung cấp nền tảng minh bạch và công bằng trong phân công đề tài, nâng cao chất lượng giáo dục và tạo môi trường học tập tích cực cho sinh viên.
II. Các công nghệ sử dụng trong xây dựng website
Để thực hiện dự án xây dựng website hỗ trợ đăng ký đề tài, nhóm phát triển đã lựa chọn các công nghệ hiện đại và phù hợp nhất. Phía client, dự án sử dụng JavaScript framework để xây dựng giao diện người dùng responsive và tương tác mượt mà. Phía server, hệ thống được phát triển với backend framework mạnh mẽ kết hợp với cơ sở dữ liệu MySQL để đảm bảo lưu trữ và quản lý dữ liệu hiệu quả. Các công nghệ bảo mật như mã hóa dữ liệu và xác thực người dùng cũng được tích hợp để bảo vệ thông tin nhạy cảm. Kiến trúc hệ thống được thiết kế theo mô hình kiến trúc phân lớp để đảm bảo tính mở rộng và bảo trì dễ dàng.
2.1. Công nghệ frontend và backend
Phía frontend, dự án sử dụng JavaScript kết hợp với các framework và library hiện đại để xây dựng giao diện người dùng đáp ứng (responsive design). Điều này đảm bảo website có thể hoạt động tốt trên mọi thiết bị từ máy tính đến điện thoại di động. Phía backend, hệ thống sử dụng các ngôn ngữ lập trình mạnh mẽ để xử lý logic business và quản lý request từ client. Kết hợp với MySQL database, dự án có thể lưu trữ và truy xuất dữ liệu một cách hiệu quả và an toàn.
2.2. Đảm bảo bảo mật hệ thống
Bảo mật là một yếu tố quan trọng trong xây dựng website hỗ trợ đăng ký đề tài. Dự án áp dụng các thuật toán mã hóa hiện đại như bcrypt để mã hóa mật khẩu người dùng. Xác thực token (JWT) được sử dụng để đảm bảo chỉ người dùng hợp lệ có thể truy cập các tài nguyên bảo mật. Ngoài ra, SQL injection prevention và XSS protection được tích hợp để bảo vệ khỏi các cuộc tấn công phổ biến trên web.
III. Mô hình hệ thống và thiết kế cơ sở dữ liệu
Mô hình hệ thống của dự án website hỗ trợ đăng ký đề tài được thiết kế dựa trên phương pháp UML để đảm bảo tính rõ ràng và toàn diện. Hệ thống bao gồm ba vai trò chính: Admin, Giảng viên và Sinh viên, mỗi vai trò có các quyền và chức năng khác nhau. Use case diagram mô tả chi tiết các kịch bản tương tác giữa người dùng và hệ thống, bao gồm đăng nhập, đăng ký đề tài, quản lý thông báo và quản lý thành viên nhóm. Cơ sở dữ liệu được thiết kế theo chuẩn normalization với các bảng quan hệ lưu trữ thông tin về người dùng, đề tài, nhóm sinh viên và các tương tác trong hệ thống. Biểu đồ tuần tự (Sequence Diagram) giúp minh họa luồng xử lý của các tính năng quan trọng.
3.1. Use case và kịch bản hệ thống
Use case diagram của dự án website hỗ trợ đăng ký đề tài bao gồm các kịch bản chính như đăng nhập, xem danh sách đề tài, đăng ký đề tài và quản lý nhóm. Mỗi vai trò người dùng (Admin, Giảng viên, Sinh viên) có các use case khác nhau phù hợp với trách nhiệm và quyền hạn của họ. Mô tả use case chi tiết giúp xác định rõ ràng yêu cầu chức năng và cải thiện quá trình phát triển. Các kịch bản tương tác này là cơ sở cho việc thiết kế database và phát triển code hiệu quả.
3.2. Thiết kế cơ sở dữ liệu và sơ đồ quan hệ
Cơ sở dữ liệu MySQL được thiết kế với các bảng chính như users (người dùng), topics (đề tài), groups (nhóm sinh viên) và notifications (thông báo). Sơ đồ quan hệ (ER Diagram) mô tả chi tiết các liên kết giữa các bảng để đảm bảo tính toàn vẹn dữ liệu. Normalization được áp dụng để giảm thiểu dữ liệu trùng lặp và tối ưu hóa hiệu suất truy vấn. Các index được tạo trên các cột tìm kiếm thường xuyên để tăng tốc độ truy vấn và cải thiện hiệu năng hệ thống.
IV. Kiểm thử triển khai và kết quả đồ án
Kiểm thử là một phần quan trọng trong quá trình phát triển website hỗ trợ đăng ký đề tài, đảm bảo hệ thống hoạt động đúng theo yêu cầu. Nhóm phát triển đã thực hiện các loại kiểm thử khác nhau bao gồm unit test, integration test và user acceptance test (UAT). Các giao diện chính của website bao gồm quản lý người dùng, quản lý tài khoản, quản lý thông báo và quản lý thành viên nhóm. Website được tối ưu hóa để phù hợp với nhiều thiết bị khác nhau, từ desktop đến mobile. Kết quả cuối cùng là một hệ thống hoạt động ổn định với giao diện thân thiện, tính năng đầy đủ và bảo mật cao. Dự án cũng tuân thủ các tiêu chuẩn về đạo đức và quản lý dự án chuyên nghiệp trong suốt quá trình thực hiện.
4.1. Quá trình kiểm thử và triển khai
Kiểm thử chức năng được thực hiện để xác minh mọi tính năng hoạt động đúng theo yêu cầu. Unit test kiểm tra từng hàm và module riêng lẻ, trong khi integration test kiểm tra tương tác giữa các thành phần. User acceptance test (UAT) được thực hiện với người dùng thực tế như sinh viên, giảng viên và admin để đảm bảo hệ thống đáp ứng nhu cầu thực tế. Triển khai được thực hiện trên server production với các biện pháp bảo mật tối đa để đảm bảo an toàn dữ liệu người dùng.
4.2. Kết quả và thành tựu của dự án
Kết quả của dự án là một website hoạt động ổn định với giao diện đẹp mắt và thân thiện. Hệ thống hỗ trợ đầy đủ các chức năng cần thiết cho quá trình đăng ký đề tài, giúp sinh viên tiết kiệm thời gian và tăng tính minh bạch. Website tương thích với mọi thiết bị nhờ responsive design, cho phép người dùng truy cập từ bất kỳ đâu. Dự án đạt được mục tiêu là cải thiện hiệu quả quản lý đề tài và nâng cao trải nghiệm học tập của sinh viên tại Trường Đại học Phenikaa.