TỔNG QUAN VỀ PHẦN MỀM QUẢN LÝ KHOA HỌC
Mô tả bài toán
Trong bối cảnh ngày càng nhiều sinh viên tại Đại học Thăng Long tham gia nghiên cứu và hoàn thành khóa luận tốt nghiệp, việc thực hiện khóa luận trở nên rất quan trọng trong quá trình học tập Tuy nhiên, quá trình này đòi hỏi sự tổ chức và tương tác chặt chẽ giữa sinh viên và giảng viên, đồng thời phải đối mặt với nhiều thách thức liên quan đến thời gian và nguồn lực Để giải quyết vấn đề này, chúng tôi sẽ thiết kế và phát triển một phần mềm quản lý giúp sinh viên và giảng viên dễ dàng theo dõi và tương tác trong quá trình thực hiện khóa luận, bao gồm các giai đoạn như chọn đề tài, lập kế hoạch, thu thập tài liệu, viết báo cáo và bảo vệ khóa luận.
Mục Tiêu
Phần mềm này phục vụ cho nhiều đối tượng người dùng với các mục tiêu khác nhau Đối với sinh viên, phần mềm hỗ trợ họ trong việc đăng ký đề tài khóa luận, theo dõi tiến độ, gửi báo cáo và tương tác với giảng viên, giúp quản lý thời gian hiệu quả Giảng viên hướng dẫn sử dụng phần mềm để theo dõi tiến độ sinh viên, cung cấp phản hồi, lên kế hoạch họp và đánh giá khóa luận Người phụ trách có thể dễ dàng quản lý danh sách sinh viên làm khóa luận, xử lý các vấn đề phát sinh một cách nhanh chóng Cuối cùng, hội đồng bảo vệ nhận thông báo về các khóa luận cần phản biện.
Phần mềm được xây dựng trên nền tảng Web, cho phép người dùng truy cập đầy đủ các chức năng theo quyền hạn của tài khoản.
Xây dựng hệ thống phần mềm quản lý khoá luận tốt nghiệp giúp nâng cao hiệu quả quản lý tại trường đại học, đồng thời tạo điều kiện cho sinh viên dễ dàng đăng ký thực hiện khoá luận của mình.
Yêu cầu bài toán
1.3.1 Chuẩn bị dữ liệu Để bắt đầu xây dựng lên hệ thống thì việc đầu tiên cần làm là chuẩn bị đầy đủ các tài liệu, danh sách dữ liệu cần thiết để duy trì hệ thống Các dữ liệu cần chuẩn bị gồm:
Danh sách các ngành học hoặc khoa có sinh viên đăng kí làm khoá luận tốt nghiệp
Danh sách các giáo viên hướng dẫn và người phản biện cho từng khoa có sinh viên đăng kí làm khoá luận tốt nghiệp
Danh sách sinh viên đăng kí làm khoá luận tốt nghiệp.
Danh sách đề tài khoá luận đã được phê duyệt bởi các chuyên ngành hoặc khoa.
Danh sách hội đồng của từng khoa
Danh sách ngày dự kiến nộp báo cáo và bảo vệ khoá luận tốt nghiệp.
• Thống kê theo ngành học
• Thống kê số lượng đăng kí và số lượng hoàn thành.
1.4.1 Mô tả các quy trình nghiệp vụ chính
1.4.1.1 Đăng ký và làm khóa luận tốt nghiệp
- Đầu tiên người phụ trách sẽ cập nhật danh sách sinh viên làm khóa luận tốt nghiệp khi vào kì mới.
- Sinh viên đăng nhập vào hệ thống theo tài khoản được cấp khi đăng kí làm kháo luận tốt nghiệp.
- Đầu tiên sinh viên chọn đề tài và giáo viên hướng dẫn.
- Nếu sinh viên không chọn giáo viên hướng dẫn, người phụ trách sẽ có trách nhiệm phân công giáo viên hướng dẫn cho sinh viên đó.
- Trong trường hợp sinh viên không chọn đề tài có sẵn, sinh viên sẽ nhập đề tài đề xuất, sau đó giáo viên hướng dẫn sẽ duyệt đề tài:
Trường hợp giáo viên không duyệt đề tài, sinh viên sẽ phải chọn một trong các đề tài có sẵn.
Trường hợp giáo viên duyệt đề tài, sinh viên sẽ xây dựng đề cương khóa luận theo đề tài đó.
- Sau khi xác định được đề tài, sinh viên sẽ làm đề cương KLTN sau đó nộp cho giáo viên hướng dẫn kiểm tra tiến độ làm.
- Giaó viên hướng dẫn duyệt đề cương sẽ xảy ra 2 trường hợp:
Trường hợp giáo viên không chấp nhận thông qua, hệ sẽ báo lại cho sinh viên để tiếp tục chỉnh sửa và hoàn thiện KLTN.
Trường hợp giáo viên chấp nhận thông qua, hệ thống sẽ thông báo cho sinh viên.
- Khi được giáo viên hướng dẫn duyệt KLTN thì sinh viên sẽ nộp kết quả và đăng kí bảo vệ KLTN
- Hệ thống sẽ thông báo cho giáo viên để giáo viên phê duyệt.
Trường hợp giáo viên duyệt thì sẽ sang quy trình bảo vệ KLTN.
Trường hợp giáo viên không duyêt sinh viên phải về chỉnh sửa và hoàn thiện tiếp KLTN.
1.4.1.2 Bảo vệ khóa luận tốt nghiệp
- Khi người phụ trách nhận được thông báo sinh viên đăng kí bảo vệ KLTN thì sẽ phân công giáo viên phản biện.
- Giáo viên phản biện kiểm tra các báo cáo của sinh viên
- Hệ thống sẽ thông báo đến giáo viên phản biện.
- Người phụ trách KL sẽ chọn thành viên hội đồng bảo vệ; ngày, thời gian bảo vệ.
- Hệ thống sẽ thống báo lại cho giáo viên phản biện, hội đồng bảo vệ, sinh viên, giáo viên phụ trách.
- Sau khi thực hiện bảo vệ người phụ trách sẽ cập nhật kết quả bảo vệ KLTN.
1.4.1.3 Hoàn thiện hồ sơ sau bảo vệ để lưu trữ
- Sau buổi bảo vệ sinh viên sẽ chỉnh sửa và nộp lại sản phẩm.
- HDBV và giáo viên hướng dẫn phê duyệt sản phẩm của sinh viên.
Trường hợp không được duyệt, hệ thống sẽ thông báo cho sinh viên, sinh viên sẽ chỉnh sửa lại.
Trường hợp được duyệt sẽ thông báo cho người phụ trách.
- Người phụ trách KL sẽ chuyển trạng thái đang làm KLTN sang hoàn thành trong hồ sơ.
1.4.2 Sơ đồ quy trình nghiệp vụ chính
Hình 1.1 Sơ đồ quy trình nghiệp vụ cho quy trình Đăng ký và làm KLTN
Hình 1.2 Sơ đồ quy trình nghiệp vụ cho quy trình Bảo vệ KLTN
Hình 1.3 Sơ đồ quy trình nghiệp vụ cho quy trình Hoan thiện hồ sơ
1.4.3 Các yêu cầu nghiệp vụ
BR1 Quản lý người dùng và phân quyền.
Người dùng có thể đăng nhập, đăng xuất, đổi mật khẩu, quên mật khẩu Và người phụ trách KL có quyền quản lý các nhóm quyền trong hệ thống.
Quản lý đăng ký và thực hiện khóa luận tốt nghiệp (KLTN) bắt đầu bằng việc người phụ trách cập nhật danh sách sinh viên tham gia Sinh viên có thể đăng ký đề tài và giáo viên hướng dẫn thông qua hệ thống Giáo viên hướng dẫn sẽ xem xét và phê duyệt đề xuất của sinh viên dựa trên tiêu chí của khoa Sinh viên cần nộp bài KLTN để giáo viên hướng dẫn kiểm tra tiến độ thực hiện Khi đăng ký bảo vệ khóa luận, sinh viên phải chờ thông báo phê duyệt từ giáo viên hướng dẫn.
Sau khi sinh viên hoàn tất đăng ký bảo vệ, người phụ trách sẽ chỉ định giáo viên phản biện và lựa chọn các thành viên hội đồng bảo vệ, đồng thời xác định ngày, tháng và thời gian cho buổi bảo vệ kết quả luận văn.
BR4 Nộp lại sản phẩm
Sau khi hoàn thành buổi bảo vệ khóa luận tốt nghiệp, sinh viên cần chỉnh sửa sản phẩm và nộp lên hệ thống Giáo viên hướng dẫn sẽ tiến hành duyệt sản phẩm Khi được duyệt, người phụ trách sẽ cập nhật trạng thái hoàn thành khóa luận tốt nghiệp trong hồ sơ.
1.5 Sơ đồ Usecase các chức năng chính (có thêm admin)
Hình 2.2 Sơ đồ Usecase Người phụ trách
Hình 2.2 Sơ đồ Usecase Sinh viên
Hình 2.3 Sơ đồ Usecase Giáo viên hướng dẫn
Hình 2.4 Sơ đồ Usecase Giáo viên phản biện
1.5.2 Các tác nhân hệ thống (không cần mô tả chi tiết, chỉ cần nói chức năng)
1 Sinh viên: Đăng nhập: Cho phép sinh viên đăng nhạp vào hệ thống. Đăng kí đề tài: Sinh viên đăng kí đề tài khóa hoặc đề xuất đề tài.
Cập nhật tiến độ: Sinh viên sẽ nộp bài để cập nhật tiến độ làm việc.
Nhận phản hồi: Nhận phản hồi từ giảng viên hướng dẫn về tiến độ và nội dung khóa luận.
2 Giảng viên/Người hướng dẫn:
Phê duyệt đề tài: Giảng viên có thể xem yêu cầu đề tài của sinh viên và phê duyệt/chỉnh sửa nếu cần.
Gửi phản hồi: Cung cấp phản hồi cho sinh viên về tiến độ, nội dung, và các yêu cầu điều chỉnh.
Thẩm định khóa luận: Xem và đánh giá khóa luận của sinh viên sau khi hoàn thành.
3 Quản trị viên, người phụ trách:
Quản lý người dùng: Tạo, chỉnh sửa, và xóa tài khoản người dùng
Xác thực và ủy quyền: Đảm bảo rằng chỉ những người có quyền truy cập thích hợp mới có thể thực hiện các thao tác.
Quản lý dữ liệu: Theo dõi dữ liệu về đề tài, tiến độ, phản hồi, và thông tin người dùng.
4 Giáo viên phản biện: Được giao nhiệm vụ phản biện khóa luận cụ thể. Đọc và đánh giá bản cuối cùng của khóa luận.
Cung cấp đánh giá và ý kiến về khóa luận.
1.5.3 Các Use-case của các chức năng chính
UC1: Quản lý người dùng và phân quyền - UC1.1: Đăng nhập.
Chức năng đăng nhập cho phép tất cả người dùng, bao gồm sinh viên, giáo viên hướng dẫn, giáo viên phản biện và người phụ trách KL, truy cập vào hệ thống bằng cách nhập tên đăng nhập và mật khẩu đầy đủ trong giao diện đăng nhập.
Chức năng này cho phép tất cả người dùng, bao gồm sinh viên, giáo viên hướng dẫn, giáo viên phản biện và người phụ trách kiểm tra, thực hiện đăng xuất khi họ muốn thoát khỏi hệ thống.
- UC1.3: Thay đổi mật khẩu.
Hệ thống cho phép người dùng dễ dàng thay đổi mật khẩu đăng nhập bằng cách gửi yêu cầu, sau đó sẽ nhận được Email xác nhận để thực hiện việc thay đổi mật khẩu.
Hệ thống cho phép người dùng khôi phục mật khẩu khi quên, bằng cách gửi yêu cầu cấp lại mật khẩu Sau khi nhận yêu cầu, hệ thống sẽ gửi Email chứa mật khẩu mới cho người dùng để họ có thể đăng nhập vào hệ thống.
- UC1.5: Quản lý nhóm quyền.
Hệ thống được thiết kế cho nhiều nhóm người dùng với các mục đích sử dụng khác nhau, dẫn đến việc phân chia quyền truy cập cho từng nhóm Điều này nhằm đảm bảo rằng các người phụ trách có thể quản lý và điều chỉnh chức năng của hệ thống một cách hiệu quả.
Chức năng quản lý quyền trong hệ thống KL giúp người phụ trách dễ dàng tìm kiếm, thêm, sửa hoặc xóa các nhóm quyền, từ đó nâng cao hiệu quả quản lý.
UC2: Quản lý đăng kí và làm KLTN.
- UC2.1 Quản lý danh sách sinh viên làm KLTN.
Chức năng này cho phép người phụ trách cập nhật danh sách sinh viên đăng kí làm KLTN theo từng kỳ.
Chỉnh sửa danh sách sinh viên đăng kí làm KLTN.
- UC2.2 Phân giáo viên hướng dẫn.
Chức năng này cho phép người phụ trách phân giáo viên hướng dẫn cho sinh viên nếu trong trường hợp sinh viên không đăng kí giáo viên hướng dẫn.
- UC2.3 Đăng kí giáo viên hướng dẫn.
Chức năng này cho phép sinh viên đăng kí giáo viên hướng dẫn.
- UC2.4 Đăng kí đề tài KL.
Chức năng này cho phép sinh viên đăng kí đề tài khoá luận có sẵn, và có thể đề xuất đề tài bản thân muốn làm.
- UC2.5 Đăng kí bảo vệ KL.
Chức năng này cho phép sinh viên đăng kí bảo vệ KL.
- UC2.6 Duyệt đề tài đề xuất.
Chức năng này cho phép giáo viên hướng dẫn duyệt đề tài đề xuất của sinh viên (nếu có).
- UC2.7 Kiểm tra tiến độ làm KLTN.
Chức năng này cho phép giáo viên hướng dẫn có thể xem bài KL của sinh viên sau khi nộp.
Sẽ kiểm tra tiến độ và đánh giá bài làm của sinh viên.
Giáo viên hướng dẫn có trách nhiệm xác nhận thông qua hoặc không thông qua tiến độ làm bài.
- UC2.8 Duyệt đăng kí bảo vệ.
Chức năng này cho phép giáo viên hướng dẫn duyệt đăng kí bảo vệ của sinh viên mình phụ trách hướng dẫn.
- UC2.9 Cập nhật đề tài
Chức năng này cho phép giáo viên hướng dẫn cập nhật đề tài khóa luận
- UC2.10 Duyệt đề cương KLTN của sinh viên
Chức năng này cho phép giáo viên xem xét đề cương KLTN của sinh viên để đưa ra góp ý, nhân xét
- UC3.1 Phân công giáo viên phản biện.
Chức năng này cho phép người phụ trách phân giáo viên phản biện.
- UC3.2 Thành lập hội đồng bảo về và lịch bảo vệ KLTN.
Chức năng này cho phép người phụ trách sẽ chọn thành viên trong HDBV, ngày và giờ bảo vệ KL.
- UC3.3 Xác nhận làm giáo viên phản biện
Chức năng này cho phép giáo viện phản biện đồng ý hoặc từ chối làm giáo viên phản biện
- UC3.4 Đánh giá khóa luận
Chức năng này cho phép giáo viện phản biện đánh giá khóa luận sau buổi bảo vệ
UC4 Hoàn thiện hồ sơ sau bảo vệ - UC4.1 Nộp sản phẩm KL.
Chức năng này cho phép sinh viên nộp lại sản phẩm đã chỉnh sửa sau buổi bảo vệ KLTN.
- UC4.2 Duyệt sản phẩm KL.
Chức năng nay cho phép giáo viên hướng dẫn hoặc HDBV duyệt.
1.5.4 Bảng ánh xạ yêu cầu nghiệp vụ với các use-case
Nhóm chức năng Quản lý người dùng và phân quyền.
BR1 Thay đổi mật khẩu UC 1.3
BR1 Quên mật khẩu UC 1.4
BR1 Quản lý nhóm quyền UC 1.5
Nhóm chức năng Quản lý đăng kí và làm KLTN.
BR2 Quản lý danh sách sinh UC 2.1 viên làm KLTN.
BR2 Phân giáo viên hướng dẫn UC 2.2
BR2 Đăng kí giáo viên hướng UC 2.3 dẫn
BR2 Đăng kí đề tài KL UC 2.4
BR2 Đăng kí bảo vệ KL UC 2.5
BR2 Duyệt đề tài đề xuất UC 2.6
BR2 Kiểm tra tiến độ làm UC 2.7
BR2 Duyệt đăng kí bảo vệ UC 2.8
BR2 Duyệt đề tài đề xuất BR2.9
BR2 Duyệt đề cương KLTN của BR2.10
Nhóm chực năng Bảo vệ KLTN.
BR3 Phân công giáo viên phản UC 3.1 biện.
BR3 Thành lập hội đồng bảo về UC 3.2 và lịch bảo vệ KLTN.
BR3 Xác nhận làm giáo viên UC 3.3 phản biện
BR3 Đánh giá khóa luận UC 3.4
Nhóm chức năng Hoàn thiện hồ sơ sau bảo vệ
BR4 Nộp sản phẩm KL UC 4.1
BR4 Duyệt sản phẩm KL UC 4.2
Bảng 1.1 Bảng ánh xạ yêu cầu nghiệp vụ với các use-case
Kế hoạch thực hiện
Thời gian thực hiện: 3 tháng (21/8/2023 – 21/11/2023)
STT Task Name Duration Start Finish
1 Phân tích yêu cầu bài toán, 7 days 24/08/2023 30/8/2023 nghiệp vụ
2 Thiết kế Cơ sở dữ liệu 7 days 30/08/2023 06/09/2023
3 Thiết kế giao diện 4 days 06/09/2023 10/09/2023
ĐẶC TẢ CÁC CHỨC NĂNG
UC#01 – Đăng nhập
UC#01 Đăng nhập Độ phức tạp: trung bình
Mô tả Cho phép người dùng đăng nhập vào hệ thống
Giáo viên, Trưởng bộ môn, Phòng quản lý khoa học, Thư ký hội đồng
Tiền điều kiện Giáo viên, Trưởng bộ môn, Phòng quản lý khoa học, Thư ký hội đồng phải đăng nhập vào hệ thống
Hậu Thành Đăng nhập thành công vào hệ thống điều công kiện Lỗi Đăng nhập không thành công ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
Use case bắt đầu khi người dùng muốn đăng nhập để sử dụng các chức năng của hệ thống
- Usecase này bắt đầu khi tác nhân muốn đăng nhập vào hệ thống.
- Hệ thống yêu cầu tác nhân nhập tài khoản và mật khẩu đăng nhập.
- Tác nhân nhập tài khoản và mật khẩu đăng nhập của mình.
- Hệ thống xác nhận tài khoản và mật khẩu đăng nhập có hợp lệ không? Nếu không hợp lệ thì thực hiện luồng A.
- Hệ thống ghi lại quá trình đăng nhập.
Luồng con: đổi mật khẩu
Tác nhân mở form đổi mật khẩu.
Hệ thống hiển thị form đổi mật khẩu và yêu cầu nhập thông tin thay đổi mật khẩu.
Tác nhân nhập thông tin thay đổi mật khẩu bao gồm: mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới Sau đó, nhấn nút “đồng ý”.
Kiểm tra thông tin Nếu hợp lệ, hệ thống thông báo thay đổi mật khẩu thành công Nếu
16 Đăng xuất khỏi hệ thống:
Chức năng này bắt đầu khi người dùng muốn rời khỏi hệ thống.
Người dùng chọn đăng xuất trên trang website.
Hệ thống đăng xuất người dùng ra khỏi hệ thống.
Sau khi người dùng chọn đăng xuất Hệ thống sẽ hiển thị ra trang đăng nhập.
Luồng sự kiện phát sinh/Kịch bản phát sinh
Luồng A: Nhập sai tài khoản/ mật khẩu đăng nhập
Hệ thống hiển thị một thông báo lỗi
Người sử dụng có thể chọn hoặc là đăng nhập lại hoặc là hủy bỏ đăng nhập, khi đó usecase này sẽ kết thúc.
Luồng A1: Nhập thông tin không hợp lệ
Hệ thống hiển thị thông báo “thông tin không hợp lệ” và yêu cầu nhập lại thông tin.
Người sử dụng có thể chọn nhập lại thông tin hoặc hủy bỏ thay đổi mật khẩu, khi đó usecase này kết thúc.
Hình 3.3 Giao diện đăng nhập
UC#05 - Quản lý bộ môn/ phòng ban
2.7 UC#07 – Báo cáo tiến độ
2.8 UC#08 – Quản lý hội đồng nghiệm thu
THIẾT KẾ PHẦN MỀM
Thiết kế CSDL
3.1.1 Sơ đồ kiến trúc CSDL
Hình 4.4Sơ đồ kiến trúc cơ sở dữ liệu của hệ thống 3.1.2 Bảng dữ liệu
3.1.2.1 Bảng đề tài 3.1.2.2 Bảng user
Thiết kế chức năng
3.3.1 Chức năng đăng ký đề tài
3.3.1.1 Sơ đồ lớp phân tích
Hình 4.5 Sơ đồ lớp phân tích của chức năng đăng ký đề tài
Hình 4.6 Sơ đồ trình tự của chức năng đăng ký đề tài 3.3.2 Chức năng duyệt đề tài
3.3.2.1 Sơ đồ lớp phân tích
Hình 4.7 Sơ đồ lớp phân tích của chức năng duyệt đề tài
Hình 4.8 Sơ đồ trình tự của chức năng duyệt đề tài 3.3.3 Chức năng nghiệm thu đề tài
3.3.3.1 Sơ đồ lớp phân tích
Hình 4.9 Sơ đồ lớp phân tích của chức năng nghiệm thu đề tài
Hình 4.10 Sơ đồ trình tự của chức năng nghiệm thu đề tài
CÀI ĐẶT VÀ KẾT QUẢ
Sơ đồ kiến trúc tổng thể
Hình 2.11 Sơ đồ kiến trúc tổng thể
Môi trường cài đặt
Sublime text 3 (Windows): trình soạn thảo code
XAMP (Windows): phần mềm chạy webserver cho máy tính
Cấu trúc thư mục mã nguồn
Hình 5.12 Cấu trúc thư mục
Public chức css, js, image, vendor :
Css: chứa file css cho giao diện trang chủ.
Js: chứa file js cho giao diện trang chủ.
Vendor : Chứa các thư viện của composer.
Controller : Nhận lệnh từ người dùng, gửi lệnh đến cho Model để cập nhập dữ liệu, truyền lệnh đến View để cập nhập giao diện hiển thị.
Model: chuẩn bị dữ liệu theo lệnh của controller
View: Hiển thị dữ liệu cho người dùng theo cách dễ hiểu dựa trên hành động của người dùng.
Kết quả
Phần mềm quản lý khoa học tại trường đã hoàn thiện các chức năng theo sơ đồ chức năng, bao gồm quản lý người dùng, đề tài, hội đồng nghiệm thu, duyệt và nghiệm thu đề tài Nó hỗ trợ hiệu quả quy trình quản lý nghiên cứu khoa học.
Mỗi vai trò của người dùng trong hệ thống đều có chức năng riêng, nhằm giảm chi phí, thời gian và công sức, đồng thời tạo thuận lợi cho việc tra cứu và tìm kiếm thông tin Đặc biệt, vai trò của người quản lý NCKH phần mềm cho phép theo dõi toàn bộ quá trình thực hiện các đề tài, từ khi đăng ký đến khi nghiệm thu, cùng với các thông tin liên quan.
Phần mềm được xây dựng hoàn thiện, đảm bảo khả năng thay đổi, bổ sung thêm các thành phần khi cần thiết.