PHẦN MỞ ĐẦU 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. 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. Đố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. 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. ___________________________________________________________________ 11 - 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: - 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ồm việc tìm hiểu và cách thức vận hành, các chức năng cần thiết của một website tư vấn, trao đổi tài liệu, thông tin, quản lý người dùng, tài liệu và bài viết - Tìm hiểu các kiến thức liên quan và cần thiết để thực hiện đề tài.
Một số kiến thức trọng tâm: + Quy trình thiết kế phần mềm + Các kỹ thuật phân tích thiết kế hệ thống + Khái niệm về lập trình web + Tìm hiểu các framework, thư viện hệ thống sử dụng + Tìm hiểu Java, React. + Mô hình client-server + Design pattern, kỹ thuật lập trình, OOP + Thiết kế giao diện người dùng, thiết kế hệ thống cơ sở dữ liệu. Kết quả dự kiến đạt được Tạo ra một môi trường trực tuyến chất lượng, thuận tiện và thân thiện cho sinh viên trường đại học Sư Phạm Kỹ Thuật để có thể nắm bắt thông tin và tài liệu học tập một cách dễ dàng. Khuyến khích sự tham gia tích cực của sinh viên trong các hoạt động thảo luận và chia sẻ kiến thức.
Điều này giúp tạo ra một cộng đồng học tập năng động và sáng tạo. ___________________________________________________________________ 12 Quản lý tài liệu hiệu quả: Giúp sinh viên quản lý tài liệu học tập, bài giảng và tài liệu tham khảo một cách dễ dàng, hệ thống. Tính bảo mật thông tin: Đảm bảo tính bảo mật và quyền riêng tư của thông tin cá nhân và dữ liệu học tập của sinh viên. Kết nối và giao tiếp: Tạo điều kiện thuận lợi cho sinh viên kết nối và giao tiếp với nhau và với giảng viên để trao đổi thông tin và kinh nghiệm học tập.
Sự hài lòng của người dùng: Một môi trường trực tuyến hiệu quả và dễ sử dụng có thể dẫn đến sự hài lòng của người dùng, giúp họ cảm thấy được hỗ trợ tốt trong quá trình học tập của họ. ___________________________________________________________________ 13 Chương 2: Khảo sát và phân tích hiện trạng PHẦN NỘI DUNG CHƯƠNG 1. Ngôn ngữ lập trình Java 1. Giới thiệu [2] 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. ___________________________________________________________________ 14 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. Ưu điểm 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ệ… 1.
Nhược điểm 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. + Hiệu suất kém. ___________________________________________________________________ 15 Chương 2: Khảo sát và phân tích hiện trạng 1.
Giới thiệu 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.