MỞ ĐẦU So với những năm trước đó thì hiện nay đời sống được nâng cao, cũng như Internet ngày càng phát triển trở nên rất phổ biến với con người ngày nay. Cùng với sự phát triển của Internet thì chúng ta có thể tiếp cận với việc học tập, giải trí, mua sắm cũng như giao tiếp với mọi người được dễ dàng và nhanh chóng hơn rất nhiều. Từ những lợi ích mà Internet mang đến, em nhận thấy ở các trường đại học, việc quản lý điểm số, khóa luận của sinh viên hay quản lý sinh viên, nhân viên của nhà trường là đều vô cùng cần thiết. Nhưng nếu chúng ta thực hiện những việc này bằng phương pháp thủ công như ngày xưa thì vô cùng khó khăn cũng như gặp nhiều sai sót.
Do đó, việc xây dựng hệ thống phần mềm để quản lý là điều cần thiết và đúng đắn. Vì điều này em đã quyết định xây dựng "Website quản lý khóa luận tốt nghiệp" với mục đích có thể đáp ứng các nhu cầu cần thiết của nhà trường, giúp cho việc quản lý khóa luận của sinh viên được dễ dàng, chính xác hơn, đảm bảo được tính linh hoạt, đúng đắn trong quá trình chấm điểm cũng như quản lý hội đồng, khoá luận. TỔNG QUAN VỀ HỆ THỐNG 1. Lý do chọn đề tài Từ xưa đến nay, việc học luôn được xem là điều quan trong để phát triển tư duy, sự nghiệp của một cá nhân hoặc tập thể.
Nói riêng về môi trường đại học, việc học chắc chắn rất cần thiết và khóa luận tốt nghiệp là một trong những thước đo để đánh giá quá trình học tập và rèn luyện của sinh viên trong suốt bốn năm đại học. Sinh viên cần cố gắng hết sức để hoàn thành tốt khóa luận, bên cạnh đó việc quản lý sinh viên tham gia khóa luận để đánh giá năng lực sinh viên cũng hết sức quan trọng. Để đảm bảo tính đúng đắn và linh hoạt trong quá trình quản lý và chấm điểm khóa luận em đã lựa chọn đề tài “Xây dựng website quản lý khóa luận tốt nghiệp”. Các chức năng của website 1.
Người quản trị: - Tạo tài khoản cho người dùng: người dùng không thể tự tạo tài khoản mà phải do người quản trị cung cấp. - Tạo tài khoản sinh viên từ file excel nếu thỏa mãn điều kiện làm khóa luận tốt nghiệp: Sinh viên có nguyện vọng làm khóa luận tốt nghiệp, điểm đồ án ngành trên tám và được sự đồng ý từ giáo viên hướng dẫn, điểm trung bình trên hai phẩy năm điểm, không nợ quá một môn. Khi tạo mặc định lấy mã số sinh viên làm tên đăng nhập và mật khẩu, người dùng có thể đổi nếu muốn. - Tài khoản sẽ được đặt một trong các vai trò như giáo vụ, giảng viên hoặc sinh viên, tài khoản khi được người dùng sử dụng họ có thể thay đổi mật khẩu khi cần thiết để đảm bảo tính bảo mật.
- Xem thống kê điểm khóa luận, tần suất tham gia làm khóa luận của từng ngành. - Được quyền thay đổi số thông tin của tài khoản người dùng: họ tên, tên tài khoản, giới tính nếu có sai sót, không được xem mật khẩu của người dùng và sửa đổi vai trò của người dùng. - Xem chi tiết điểm của tất cả các khóa luận. Giáo vụ - Thêm khóa luận mới vào hệ thống, bao gồm tên khóa luận, các sinh viên thực hiện (tối đa hai sinh viên) một sinh viên chỉ được tham gia một khóa luận và giáo viên hướng dẫn (tối đa hai giáo viên cho một khóa luận) một giáo viên tham gia tối đa hai khóa luận.
- Thành lập hội đồng bảo vệ khóa luận, tối thiểu ba, tối đa năm giảng viên bao gồm một chủ tịch, một thư ký, một phản biện (khi giáo vụ phân công giáo viên phản biện hệ thống sẽ gửi mail thông báo cho giáo viên vừa được giao nhiệm vụ làm giáo viên phản biện cho hội đồng), một giáo viên được phép tham gia tối đa hai hội đồng. - Giáo vụ vào hội đồng vừa tạo và thêm tối đa năm khóa luận trong một hội đồng. - Giáo vụ được phép khóa hội đồng khi đã chấm điểm xong, khi hội đồng đã khóa mới cho phép in điểm và gửi điểm về cho sinh viên qua email. - Xem thống kê điểm khóa luận, tần suất tham gia làm khóa luận của sinh viên từng ngành.
- Thiết lập các tiêu chí chấm điểm khóa luận. Giảng viên - Đăng nhập vào hệ thống và ghi điểm từng tiêu chí của khóa luận. - Thảo luận với sinh viên qua email để thống nhất đề tài sau đó thêm đề tài cho sinh viên. - Duyệt khóa luận của sinh viên, sau khi duyệt thì khóa luận của sinh viên, khoá luận đó sẽ có thể thêm vào hội đồng.
- Khi sinh viên chưa nộp bài thì chưa được chấm điểm. - Nhận mail từ hệ thống nếu giảng viên có vai trò phản biện trong hội đồng. - In bảng điểm. Sinh viên 4 - Đăng nhập vào hệ thống để nộp bài làm nếu quá thời gian thì sẽ không được nộp bài.
- Nhận email thông báo điểm trung bình từ hội đồng. Mô tả cấu trúc Gồm có năm chương: - Chương 1. Tổng quan về hệ thống: mô tả về lý do chọn đề tài và chức năng cơ bản của hệ thống. Cơ sở lý thuyết: nêu lên khái niệm và ưu điểm của các công nghệ được sử dụng trong đề tài.
Phân tích thiết kế hệ thống: mô tả, phân tích chi tiết chức năng của website. Thực nghiệm: cài đặt cấu hình và giao diện của từng chức năng. Kết luận: nêu kết quả đạt được, những hạn chế và định hướng phát triển thêm trong tương lai. Ngôn ngữ Java Java là ngôn ngữ được sử dụng rộng rãi trong nhiều dự án phần mềm, java có thể làm website, game hoặc ứng dụng di động.
[1] Java được nhiều công ty và lập trình viên ưa chuộng vì đây là ngôn ngữ dễ làm quen, Java là ngôn ngữ lập trình hướng đối tượng, đặt biệt chỉ cần viết một lần có thể chạy trên tất cả nền tảng hệ điều hành khác nhau. Ưu điểm: [1] + Vừa biên dịch, vừa thông dịch. + Quá trình xác định, thu gom rác tự động (Garbage Collector). + An toàn,bảo mật, hiệu năng cao.
Giới thiệu về Spring boot - Spring boot nằm trong hệ sinh thái Spring framework được phát triển bởi JAV (ngôn ngữ Java). Spring boot giúp chúng ta tập trung hơn vào quá trình xử lý business cho ứng dụng. [2] - Tính năng nổi bật: [2] + Phát triển ứng dụng độc lập. + Các dependency giúp việc cấu hình Gradle trở nên dễ dàng.
+ Dễ dàng tích hợp Spring MVC, Spring Data… + Sử dụng rộng rãi, dễ tiếp cận. Giới thiệu về Apache Tomcat - Nói đến các phần mềm web server đáng tin cậy, được sử dụng lâu đời thì không thể không nói đến Apache. Apache có thể giao tiếp bằng nhiều hình thức HTTP, tương thích với phần lớn các hệ điều hành đang phổ biến hiện nay. Nó có vai trò đặc 6 biệt quan trọng trong quá trình phát triển web.
Với việc được sử dụng miễn phí cùng với các mã nguồn mở, Apache chiếm 46% thị phần của các website trên toàn cầu hiện nay, có tên gọi chính thức là Apache HTTP Server.[3] - Ưu điểm khi sử dụng Apache Tomcat: [3] + Tính ổn định cao. + Đầy đủ tính năng để phát triển website thương mại. + Sở hữu mã nguồn mở của Apache. + Hỗ trợ cho nhiều hệ điều hành khác nhau.
Lý do chọn Gradle thay vì Maven - Gradle là hệ thống tự xây dựng mã nguồn mở, quản lý dự án tốt hơn Maven. - Gradle có các ưu điểm nổi bật sau: + Hỗ trợ xây dựng đa ngôn ngữ lập trình. + Gradle tích hợp nhiều công cụ như IDE và CI. + Quản lý dependency đơn giản.
+ Gradle cho phép tăng khả năng xây dựng, có thời gian xây dựng nhanh hơn Maven. + Hiệu suất về khả năng complie cho các class Java tốt hơn Maven. + Việc tạo các kịch bản xây dựng của Gradle cũng đơn giản hơn so với Maven. MySQL - Đây là hệ quản trị cơ sở dữ liệu mã nguồn mở được sử dụng phổ biến rong quá trình phát triển ứng dụng.
MySQL có cách thức truy vấn dữ liệu giống ngôn ngữ SQL.[5] 7 - Ưu điểm: + Tốc độ và tính bảo mật cao. + Dễ sử dụng. + Độ bảo mật cao. + Dễ dàng xử lý nhiều dữ liệu và thuận tiện trong việc mở rộng.
Giới thiệu về ReactJs - ReactJs là một thư viện JavaScript mã nguồn mở, dễ tiếp cận, giúp lập trình viên dễ dàng xây dựng và quản lý giao diện người dùng. Component là thành phần cơ bản trong React, quản lý component thường sử dụng redux, nó được ví như một kho lưu trữ các component, khi cần dùng đến thì chỉ việc gọi để sử dụng.[6] - ReactJs giải quyết tốt các vấn đề về View. - ReactJs sử dụng DOM (virtual DOM) ảo để tăng hiệu năng của các ứng dụng web thay vì sử dụng DOM thật như truyền thống. - Khi một node trên virtual DOM thay đổi, nó tìm node thay đổi bằng cách tìm sự khác nhau giữa DOM và virtual DOM, node tìm thấy sẽ được làm mới mà không làm ảnh hưởng đến các node khác trong DOM.
- Ưu điểm: [6] + Đơn giản, dễ sử dụng. + Xây dựng UI phức tạp thành các component đơn giản, độc lập, dễ kiểm xoát các component. + Nhiều công cụ để debug code dễ dàng(React Developer Tools Extension). PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.
Mô tả đề tài Website quản lý khóa luận được mô tả như sau: - Đối với người quản trị: + Người quản trị đăng nhập vào hệ thống với tài khoản có sẵn từ cơ sở dữ liệu, tạo ra nhiều tài khoản khác để hệ thống được vận hành như tài khoản của giáo vụ, giảng viên và sinh viên với các thông tin cá nhân cơ bản và thông tin liên hệ, sau đó cung cấp tài khoản này cho người dùng để họ đăng nhập vào hệ thống, người dùng cơ bản không được tự đăng kí tài khoản cho bản thân mà phải do người quản trị cung cấp và quản lý, người dùng chỉ được thay đổi mật khẩu khi cần thiết. + Lấy thông tin từ file excel để tạo tài khoản sinh viên, lưu vào hệ thống những sinh viên đủ điều kiện làm khóa luận tốt nghiệp. + Người quản trị được phép chỉnh sửa thông cá nhân cho từng tài khoản, ngoại trừ mật khẩu và vai trò của mình trong hệ thống. + Người quản trị được phép xem thông tin thống kê về điểm số và tần suất được hệ thống tính toán từ dữ liệu có sẵn và xem tất cả điểm số của các khóa luận.