Báo cáo đồ án liên ngành: Xây dựng website hỗ trợ đăng ký đề tài - ĐH Phenikaa

Báo cáo đồ án Xây dựng website hỗ trợ đăng ký đề tài, giúp tối ưu quy trình quản lý cho sinh viên. Tài liệu gồm phân tích, thiết kế và CSDL.

Trường đại học

Trường Đại Học Phenikaa

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Liên Ngành

2024

81
2
0

Phí lưu trữ

30 Point

Tóm tắt

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ếmlọ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 preventionXSS 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áoquả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êncá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àiquả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ăngcả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ế databasephá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)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ặptố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ấncả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 testuser 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áoquả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 đủbảo mật cao. Dự án cũng tuân thủ các tiêu chuẩn về đạo đứcquả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 giantă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êucải thiện hiệu quả quản lý đề tàinâng cao trải nghiệm học tập của sinh viên tại Trường Đại học Phenikaa.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG I: GIỚI THIỆU CHUNG 1. Lý do chọn đề tài Việc chọn đề tài "Xây dựng website hỗ trợ đăng ký đề tài" là một quyết định được đưa ra với mục tiêu cải thiện quy trình quản lý và hỗ trợ sinh viên. Dưới đây là năm lý do cụ thể về tại sao dự án này mang lại lợi ích đáng kể: -Tăng cường tính hiệu quả: Việc xây dựng một website hỗ trợ đăng ký lớp đồ án có thể giúp tăng cường tính hiệu quả trong quá trình quản lý và tổ chức lớp đồ án của sinh viên. Thay vì sử dụng phương tiện truyền thống như giấy tờ và thủ công, một website có thể tự động hóa nhiều quy trình, giúp tiết kiệm thời gian và công sức của cả sinh viên và nhà trường.

-Thuận tiện và tiết kiệm thời gian: Sinh viên có thể dễ dàng truy cập vào website từ bất kỳ nơi đâu có kết nối internet, giúp tiết kiệm thời gian và công sức trong quá trình đăng ký lớp đồ án. Họ không cần phải đến trường hoặc gặp trực tiếp nhà quản lý để thực hiện quy trình này. -Minh bạch và công bằng: Một hệ thống đăng ký trực tuyến có thể giúp tăng cường tính minh bạch và công bằng trong việc phân công lớp đồ án. Sinh viên có thể dễ dàng xem thông tin về các lớp đồ án có sẵn và đăng ký một cách công bằng, tránh được các vấn đề liên quan đến thiên vị hay ưu tiên không công bằng.

-Tính linh hoạt: Website có thể được thiết kế để linh hoạt đáp ứng với các nhu cầu cụ thể của từng khoa hoặc ngành học. Điều này có thể bao gồm việc thêm các tính năng như báo cáo tiến độ, quản lý nhóm đồ án, hoặc hỗ trợ trực tuyến từ giáo viên hướng dẫn. -Cải thiện trải nghiệm sinh viên: Bằng cách cung cấp một giao diện trực tuyến dễ sử dụng và tính năng đa dạng, website này giúp cải thiện trải nghiệm của sinh viên trong quá trình đăng ký và thực hiện lớp đồ án. Điều này có thể tạo ra một môi trường học tập tích cực hơn và khuyến khích sự tham gia của sinh viên.

4 Như vậy, việc xây dựng một website hỗ trợ đăng ký lớp đồ án không chỉ giúp tối ưu hóa quá trình quản lý và tổ chức lớp đồ án mà còn tạo ra một môi trường học tập linh hoạt và minh bạch cho sinh viên, nhằm giúp sinh viên phát triển kỹ năng và kiến thức một cách hiệu quả nhất. Mục tiêu và ý nghĩa Mục tiêu của dự án " Xây dựng website hỗ trợ đăng ký đề tài" là xây dựng một website nhằm cải thiện và tối ưu hóa quy trình đăng ký lớp đồ án cho sinh viên và nhà trường thông qua sự áp dụng công nghệ thông tin. Ý nghĩa của đề tài là tạo ra một nền tảng trực tuyến linh hoạt và tiện lợi, giúp sinh viên dễ dàng truy cập và đăng ký lớp đồ án, đồng thời tăng cường tính minh bạch và công bằng trong quá trình phân công lớp đồ án. Đồng thời, website này cũng giúp nhà trường quản lý và tổ chức các khóa học một cách hiệu quả và tiết kiệm thời gian, góp phần nâng cao chất lượng giáo dục và trải nghiệm học tập của sinh viên.

Phạm vi đề tài Đề tài này sẽ tập trung vào phát triển website sử dụng ngôn ngữ lập trình Java script và cơ sở dữ liệu Mysql. Website sẽ bao gồm các chức năng đăng kí đề tài, thêm đề tài, quản lý sinh viên, tìm kiếm đề tài hoặc giảng viên lọc chi tết đề tài. Ngoài ra, website cũng sẽ tối ưu hóa tính bảo mật để đảm bảo an toàn dữ liệu của cửa hàng. Canvas Ưu điểm: - Quản lý nội dung: Cung cấp một nền tảng để tổ chức và quản lý các tài liệu, bài giảng, bài tập và tài nguyên học liệu khác.

- Giao tiếp: Cho phép giáo viên và sinh viên giao tiếp thông qua diễn đàn, tin nhắn và thảo luận trực tuyến. 5 - Nội dung linh hoạt: Hỗ trợ nhiều định dạng tệp và phương tiện khác nhau như văn bản, hình ảnh, video và âm thanh. - Đánh giá trực tuyến: Cung cấp công cụ cho việc gửi, nhận và đánh giá bài tập và bài kiểm tra trực tuyến. - Dễ dàng sử dụng: Giao diện thân thiện, dễ sử dụng cho cả giáo viên và sinh viên.

Nhược điểm: - Yêu cầu kết nối internet: Sử dụng cần có kết nối internet ổn định, đặc biệt khi truy cập vào các tài liệu trực tuyến. - Sự phụ thuộc vào công nghệ: Có thể gặp sự cố kỹ thuật hoặc vấn đề liên quan đến cập nhật phần mềm và hạ tầng công nghệ. - Sự phụ thuộc vào kỹ năng công nghệ: Một số người có thể gặp khó khăn trong việc sử dụng công nghệ hoặc không thoải mái với việc học qua môi trường trực tuyến. - Chưa thể tích hợp được việc đăng kí môn học với đề tài vào trang website.

Quản lý đào tạo beta Ưu điểm: - Tiện ích học tập: Cung cấp một môi trường trực tuyến để sinh viên truy cập đăng kí môn học, theo dõi lịch học, tra cứu kết quả đăng kí, đóng học phí online. - Tính cập nhật thông tin: Cho phép sinh viên theo dõi những tin tức quan trọng nhà trường công bố - Quản lý nội dung: Hỗ trợ việc tổ chức và quản lý nội dung học tập một cách hiệu quả, giúp sinh viên dễ dàng truy cập và tiếp cận thông tin. Nhược điểm: 6 - Khả năng truy cập và sự ổn định: Có thể gặp vấn đề về khả năng truy cập hoặc sự ổn định của trang web, đặc biệt khi có nhiều người dùng truy cập cùng một lúc. - Giao diện không thân thiện: Một giao diện không thân thiện hoặc khó sử dụng có thể gây khó khăn cho sinh viên trong việc tìm kiếm thông tin và tương tác với nội dung.

- Hạn chế trong tính linh hoạt và tùy chỉnh: Có thể gặp hạn chế về khả năng tùy chỉnh và linh hoạt của hệ thống, khiến cho việc thích nghi với nhu cầu cụ thể của từng khoa hoặc môn học trở nên khó khăn. - Khả năng tích hợp: Gặp khó khăn trong việc tích hợp với các hệ thống khác, chưa thể cung cấp được các đề tài môn học và đăng các bài tập và tài liệu lên trang web điều này có thể làm giảm hiệu suất và sự thuận tiện của việc sử dụng. Giải pháp đề xuất Một trang web tổng hợp từ hai nguồn thông tin đã được tạo, nhằm mang lại trải nghiệm toàn diện cho sinh viên và giảng viên. Trang web này cung cấp một giao diện đơn giản và tiện lợi, cho phép sinh viên dễ dàng đăng ký đề tài, theo dõi nội dung học và tải lên bài tập cũng như tài liệu.

Điều này giúp sinh viên tiết kiệm thời gian và nỗ lực trong việc lựa chọn đề tài và quản lý học tập của mình, đồng thời tạo điều kiện thuận lợi cho giảng viên trong việc theo dõi và đánh giá tiến trình của sinh viên. Nhờ vào tính linh hoạt và tích hợp của trang web, việc tương tác giữa sinh viên và giảng viên trở nên mạnh mẽ hơn, từ đó thúc đẩy quá trình học tập và trao đổi kiến thức một cách hiệu quả hơn. 7 CHƯƠNG II: THIẾT KẾ VÀ TRIỂN KHAI HỆ THỐNG 2.1 Công nghệ sử dụng 2. Visual studio Visual Studio là một môi trường phát triển tích hợp (IDE - Integrated Development Environment) được phát triển bởi Microsoft.

Nó cung cấp các công cụ và dịch vụ để giúp nhà phát triển thiết kế, phát triển, chạy thử nghiệm và triển khai các ứng dụng phần mềm trên nhiều nền tảng, bao gồm ứng dụng desktop, web, di động và dịch vụ đám mây. Visual studio hỗ trợ trên nhiều nền tảng khác nhau như: Window, mac0s, linux. Điều này giúp người dùng dễ tiếp cận với hệ thống. Java script JavaScript là ngôn ngữ lập trình dùng để tạo trang web tương tác, cung cấp các chức năng như làm mới bảng tin, hiển thị hình ảnh động và tương tác với người dùng.

Nó là một công nghệ quan trọng trong phát triển web, giúp tạo ra hiệu ứng động và trải nghiệm người dùng tốt hơn. Ví dụ: khi duyệt internet, bất cứ khi nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả xuống nhấp để hiển thị hoặc màu sắc phần tử thay đổi động trên trang web cũng chính là lúc bạn thấy các hiệu ứng của JavaScript. Các công nghệ sử dụng cho client 1. React js React.js là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook để xây dựng giao diện người dùng cho các ứng dụng web và di động.

Nó được thiết kế để tạo ra các ứng dụng có hiệu suất cao, linh hoạt và dễ bảo trì. Dựa trên triết lý "điều khiển theo dữ liệu" (data-driven), React.js cung cấp một cách tiếp cận hiệu quả để xây dựng các thành phần giao diện (UI components) tái sử dụng và dễ dàng quản lý trạng thái ứng dụng.js là một thư viện component-based, có nghĩa là mọi giao diện người dùng được xem như một tập hợp các thành phần độc lập. Điều này giúp tái sử dụng code và tạo ra các ứng dụng dễ bảo trì và mở rộng.js sử dụng một cấu trúc dữ liệu gọi là Virtual DOM để quản lý các thay đổi trong giao diện người dùng. Virtual DOM là một bản sao nhẹ của DOM thực tế và được React.js sử dụng để cập nhật chỉ những phần của giao diện cần thay đổi, giúp tăng hiệu suất và tăng tốc quá trình render.

JSX là một phần mở rộng của JavaScript cho phép viết HTML trong JavaScript. Điều này giúp tạo ra các thành phần giao diện một cách trực quan và dễ hiểu hơn.js thực hiện data binding một chiều, điều này có nghĩa là dữ liệu chỉ có thể chuyển từ thành phần cha xuống các thành phần con. Điều này giúp giảm sự phức tạp của ứng dụng và tăng tính dự đoán của nó.js có một cộng đồng lớn và đam mê, với nhiều công cụ và thư viện bổ sung được phát triển để hỗ trợ việc xây dựng các ứng dụng React một cách nhanh chóng và hiệu quả. Tailwinds Css Tailwind CSS là một thư viện CSS mã nguồn mở được thiết kế để giúp phát triển giao diện người dùng nhanh chóng và dễ dàng.

Nó cung cấp một bộ công cụ CSS chứa các lớp (classes) được đặt tên một cách mô tả chức năng của chúng, giúp cho việc xây dựng giao diện trở nên linh hoạt và nhanh chóng hơn. Một số điểm nổi bật của Taiwind CSS bao gồm: -Áp dụng phương pháp CSS nguyên tử (atomic CSS), có nghĩa là mỗi lớp CSS đều thực hiện một chức năng duy nhất. Điều này giúp làm giảm kích thước của tệp CSS và tăng khả năng tái sử dụng code.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ