GIỚI THIỆU TỔNG QUAN
Đặt vấn đề
Việc đăng ký đồ án là một hoạt động quan trọng đối với sinh viên trong mỗi học kỳ, và lựa chọn đồ án phù hợp có thể quyết định thành công của học kỳ đó Tuy nhiên, nhiều trường đại học hiện nay thiếu một hệ thống quản lý đăng ký đồ án hiệu quả, thường phải dựa vào các công cụ như Excel và Gmail, gây ra nhiều bất tiện Nhằm cải thiện trải nghiệm đăng ký đồ án cho giảng viên và sinh viên, nhóm chúng tôi đã phát triển ý tưởng xây dựng một website chuyên quản lý việc này.
Mục tiêu của đề tài
Sau khi nghiên cứu và phát triển ý tưởng, nhóm chúng em đã đề xuất một website dành cho việc đăng ký đồ án Website này nhằm mục đích hỗ trợ giảng viên và sinh viên tối ưu hóa quy trình đăng ký đồ án, đồng thời khắc phục những vấn đề phát sinh từ việc sử dụng các công cụ bên ngoài để quản lý.
Đối tượng và phạm vi nghiên cứu
- Phạm vi kiến thức: trong giới hạn môn Đồ án 1
- Phạm vi người dùng: ứng dụng dành cho người dùng Việt Nam là nhân viên của các trường đại học, giảng viên và sinh viên
- Phạm vi thiết bị: sử dụng trên các trình duyệt web
- Phạm vi ngôn ngữ: tiếng Việt.
Công cụ sử dụng
Ứng dụng được phát triển dựa trên các nền tảng:
ASP.NET Core MVC là một framework mã nguồn mở do Microsoft phát triển, chuyên dùng để xây dựng ứng dụng web Framework này áp dụng mô hình thiết kế MVC (Model-View-Controller), giúp phân chia rõ ràng các thành phần trong ứng dụng, từ đó nâng cao khả năng quản lý và phát triển.
ASP.NET Core MVC là một framework mạnh mẽ với tính bảo mật, độ tin cậy và hiệu suất cao, có khả năng hoạt động trên nhiều nền tảng như Windows, Linux và macOS Nó cung cấp nhiều tính năng nổi bật như dependency injection và middleware pipeline, giúp các nhà phát triển xây dựng ứng dụng web phức tạp Ngoài ra, ASP.NET Core MVC hỗ trợ Entity Framework Core để quản lý cơ sở dữ liệu và các công nghệ web mới nhất như SignalR cho việc phát triển ứng dụng real-time.
Bootstrap là một framework miễn phí và mã nguồn mở, được phát triển bởi Twitter, giúp tạo giao diện người dùng cho ứng dụng web và thiết bị di động Nó nổi bật với các tính năng như hệ thống lưới (grid system), thiết kế đáp ứng (responsive design), biểu tượng (icon) và các thành phần đã được xây dựng sẵn (pre-built component) Nhờ vào những đặc điểm này, Bootstrap cho phép các nhà phát triển tạo ra trang web nhanh chóng, linh hoạt và tương thích trên nhiều thiết bị, trở thành công cụ phổ biến trong cộng đồng lập trình viên.
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ phổ biến được phát triển bởi
Microsoft SQL Server là một hệ thống quản trị cơ sở dữ liệu phổ biến, được sử dụng để quản lý và lưu trữ dữ liệu cho ứng dụng phần mềm, trang web và hệ thống khai thác dữ liệu Nó cung cấp nhiều tính năng quan trọng như quản lý dữ liệu, xử lý truy vấn, đồng bộ hóa dữ liệu, bảo mật và lập lịch, giúp tối ưu hóa hiệu suất và bảo vệ thông tin.
Bố cục báo cáo đề tài đồ án
Báo cáo đề tài được chia thành 05 chương như sau:
- Chương 01 Giới thiệu tổng quan
Trong chương đầu tiên, nhóm giới thiệu tổng quan về đề tài, xác định mục tiêu và phương pháp giải quyết vấn đề, đồng thời làm rõ đối tượng và phạm vi nghiên cứu.
- Chương 02 Xác định và phân tích yêu cầu
Trong chương 2, nhóm đã trình bày quy trình khảo sát hiện trạng, kết quả thu được và tổng hợp các yêu cầu của khách hàng, từ đó xác định hướng đi và phương pháp xây dựng đề tài.
- Chương 03 Phân tích và thiết kế hệ thống
Trong chương 3, nhóm thực hiện phân tích và trình bày các sơ đồ trong việc phân tích và thiết kế hệ thống tư vấn hỗ trợ việc làm
- Chương 04 Cài đặt và triển khai hệ thống Ở chương 4, nhóm tiến hành triển khai cài đặt hệ thống
Chương 05 tổng kết nghiên cứu, trình bày kết quả lý thuyết và thực tiễn, đồng thời chỉ ra những hạn chế còn tồn tại và định hướng phát triển trong tương lai của đề tài.
XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU
Yêu cầu chức năng
- Chức năng lưu trữ thông tin:
• Thông tin của giảng viên, sinh viên
• Thông tin đăng ký đồ án
- Chức năng tra cứu thông tin:
• Tra cứu sinh viên, giảng viên, lớp học
• Tính toán thời gian đóng, mở đăng ký đồ án
Yêu cầu phi chức năng
● Thiết kế giao diện đơn giản nhưng vẫn đảm bảo tính chỉn chu, tạo cảm giác thoải mái cho người dùng
● Dễ thao tác đảm bảo tính tương tác cao, thuận tiện cho người dùng sử dụng
● Các thao tác chuyển trang không rườm rà, đảm bảo hiệu suất công việc
● Màu sắc giao diện không gây khó chịu cho mắt người dùng, đáp ứng nhu cầu làm việc thời gian dài trên hệ thống
- Yêu cầu về vận hành:
● Hệ thống có thể chạy được trên máy tính bàn, máy tính xách tay
● Hệ thống có thể chạy trên các hệ điều hành phổ biến như: Windows, MacOS,…
● Hệ thống hiển thị đầy đủ các thông tin quản lý trong cơ sở dữ liệu
● Hệ thống thực hiện chính xác các thao tác truy vấn cơ sở dữ liệu dựa trên thao tác của người dùng
- Yêu cầu về hiệu suất:
● Hệ thống có thể chạy 24/7 mà không gặp phải các lỗi nghiêm trọng dẫn đến sập hệ thống, thất thoát dữ liệu,…
● Thời gian phản hồi của hệ thống đảm bảo đủ nhanh và mượt mà (thời gian phản hồi chậm nhất không quá 2 giây)
● Hệ thống có thể thực thi đa tác vụ đối với các thao tác và xử lý trên hệ thống
- Yêu cầu về bảo mật:
● Thực hiện việc phân quyền trên hệ thống
● Dữ liệu không bị thất thoát trong quá trình làm việc trên hệ thống
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Sơ đồ Use-case
3.1.1 Sơ đồ Use-case tổng quát
Hình 3-1 Use-case tổng quát
STT Tên Actor Ý nghĩa/Ghi chú
1 Phòng đào tạo Người có mọi quyền hành trong phần mềm
2 Giảng viên Người có quyền tạo đồ án
3 Sinh viên Người có quyền đăng ký đồ án
STT Tên Use-case Ý nghĩa
1 Đăng nhập Đăng nhập vào hệ thống
2 Quản lý thông tin tài khoản giảng viên
Người dùng có thể xem danh sách, tra cứu, thêm, xóa, sửa thông tin tài khoản giảng viên
3 Quản lý thông tin tài khoản sinh viên
Người dùng có thể xem danh sách, tra cứu, thêm, xóa, sửa thông tin tài khoản sinh viên
4 Quản lý thông tin khoa Người dùng có thể xem danh sách, thêm, xóa, sửa thông tin khoa
5 Quản lý thông tin môn học
Người dùng có thể xem danh sách, thêm, xóa, sửa thông tin khoa
6 Quản lý thông tin lớp học Người dùng có thể xem danh sách, tra cứu, xem chi tiết, thêm, xóa, sửa thông tin lớp học
7 Quản lý thông tin đồ án Người dùng có thể xem danh sách, thêm, xóa, sửa thông tin đồ án
8 Đăng ký đồ án Người dùng có thể đăng ký đồ án, xóa đăng ký đồ án, xem danh sách đồ án, xem kết quả đăng ký đồ án
Bảng 3-1 Danh sách Use-case
Đặc tả Use-case và sơ đồ hoạt động
Tên Use-case Đăng nhập
Cho phép người dùng đăng nhập để sử dụng các quyền của người dùng đó.
Kích hoạt Người dùng truy cập vào hệ thống
Actor Phòng đào tạo, giảng viên, sinh viên
Use-case liên quan Không có
Tiền điều kiện Không có
Hậu điều kiện Người dùng đăng nhập thành công vào hệ thống
1 Hệ thống hiển thị màn hình đăng nhập
2 Người dùng nhập tên tài khoản và mật khẩu và chọn đăng nhập
3 Hệ thống kiểm tra thông tin đăng nhập
4 Hệ thống chuyển hướng đến trang chủ
4a Hệ thống thông báo tài khoản không tồn tại hoặc mật khẩu không trùng khớp với tên tài khoản
=> Use-case tiếp tục ở bước 2
Luồng sự kiện ngoại lệ Nhân viên thoát khỏi hệ thống
Hình 3-2 Sơ đồ hoạt động chức năng đăng nhập
3.2.2 Quản lý thông tin tài khoản giảng viên
Tên Use-case Quản lý thông tin tài khoản giảng viên
Mô tả Người dùng có thể quản lý thông tin tài khoản giảng viên qua các hành động xem danh sách giảng viên, thêm, sửa, xóa giảng viên
Kích hoạt Người dùng chọn sub menu item “Giảng viên” trong menu item “Tài khoản” ở thanh điều hướng của màn hình chính
Use-case liên quan Không có
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Hậu điều kiện Danh sách tài khoản giảng viên hiện ra
Nếu người dùng chọn thêm, xóa, sửa thông tin giảng viên thì dữ liệu được cập nhật
1 Người dùng chọn sub menu item “Giảng viên” trong menu item “Tài khoản” ở thanh điều hướng của màn hình chính
2 Hệ thống hiển thị danh sách thông tin tài khoản giảng viên Luồng sự kiện phụ 2a Người dùng chọn thêm giảng viên
3a Người dùng nhập thông tin giảng viên và xác nhận 4a Hệ thống lưu thông tin giảng viên
2b Người dùng chọn thêm giảng viên bằng file excel
3b Người dùng chọn file excel trong máy tính và xác nhận 4b Hệ thống lưu thông tin các giảng viên
2c Người dùng chọn sửa giảng viên
3c Người dùng nhập thông tin giảng viên và xác nhận 4c Hệ thống lưu thông tin giảng viên
2d Người dùng chọn xóa giảng viên
2d Hệ thống xóa giảng viên
Luồng sự kiện ngoại lệ
Người dùng thoát khỏi màn hình giảng viên, use case dừng lại
Hình 3-3 Sơ đồ hoạt động quản lý thông tin tài khoản giảng viên
3.2.3 Quản lý thông tin tài khoản sinh viên
Tên Use-case Quản lý sinh viên
Mô tả Người dùng có thể quản lý thông tin tài khoản sinh viên qua các hành động xem danh sách sinh viên, thêm, sửa, xóa sinh viên
Kích hoạt Người dùng chọn sub menu item “Sinh viên” trong menu item “Tài khoản” ở thanh điều hướng của màn hình chính Actor Phòng đào tạo
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Danh sách tài khoản sinh viên hiện ra
Nếu người dùng chọn thêm, xóa, sửa thông tin giảng viên thì dữ liệu được cập nhật
1 Người dùng chọn sub menu item “Sinh viên” trong menu item “Tài khoản” ở thanh điều hướng của màn hình chính
2 Hệ thống hiển thị danh sách tài khoản giảng viên
Luồng sự kiện phụ 2a Người dùng chọn thêm sinh viên
3a Người dùng nhập thông tin sinh viên và xác nhận 4a Hệ thống lưu thông tin sinh viên
2b Người dùng chọn thêm sinh viên bằng file excel 3b Người dùng chọn file excel trong máy tính và xác nhận 4b Hệ thống lưu thông tin các sinh viên
2c Người dùng chọn sửa sinh viên 3c Người dùng nhập thông tin sinh viên và xác nhận 4c Hệ thống lưu thông tin sinh viên
2d Người dùng chọn xóa sinh viên
2d Người dùng xác nhận 2d Hệ thống xóa giảng viên
Luồng sự kiện ngoại lệ
Người dùng thoát khỏi màn hình sinh viên, use case dừng lại
Hình 3-4 Sơ đồ hoạt động quản lý thông tin tài khoản sinh viên
3.2.4 Quản lý thông tin khoa
Tên Use Case Quản lý thông tin khoa
Người dùng có thể quản lý thông tin khoa qua các hành động xem danh sách khoa, thêm, sửa, xóa khoa
Kích hoạt Người dùng chọn “Khoa” ở thanh điều hướng của màn hình chính
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Danh sách khoa hiện ra
Nếu người dùng chọn thêm, xóa, sửa thông tin khoa thì dữ liệu được cập nhật
1 Người dùng chọn “Khoa” ở thanh điều hướng của màn hình chính
2 Hệ thống hiển thị danh sách tài khoản giảng viên
Luồng sự kiện phụ 2a Người dùng chọn thêm khoa
3a Người dùng nhập thông tin khoa và xác nhận 4a Hệ thống lưu thông tin khoa
2b Người dùng chọn sửa khoa 3b Người dùng nhập thông tin khoa và xác nhận 4b Hệ thống lưu thông tin khoa
2c Người dùng chọn xóa khoa 2c Người dùng xác nhận 2c Hệ thống xóa khoa
Luồng ngoại lệ Người dùng thoát khỏi màn hình khoa, use case dừng lại
Hình 3-5 Sơ đồ hoạt động quản lý thông tin khoa
3.2.5 Quản lý thông tin môn học
Tên Use Case Quản lý thông tin môn học
Người dùng có thể quản lý thông tin khoa qua các hành động xem danh sách khoa, thêm, sửa, xóa môn học
Kích hoạt Người dùng chọn “Môn học” ở thanh điều hướng của màn hình chính
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Danh sách môn học hiện ra
Nếu người dùng chọn thêm, xóa, sửa thông tin môn học thì dữ liệu được cập nhật
1 Người dùng chọn “Môn học” ở thanh điều hướng của màn hình chính
2 Hệ thống hiển thị danh sách môn học
Luồng sự kiện phụ 2a Người dùng chọn thêm môn học
3a Người dùng nhập thông tin môn học và xác nhận
4a Hệ thống lưu thông tin môn học
2b Người dùng chọn sửa môn học
3b Người dùng nhập thông tin môn học và xác nhận
4b Hệ thống lưu thông tin môn học
2c Người dùng chọn xóa môn học
2c Hệ thống xóa môn học
Luồng ngoại lệ Người dùng thoát khỏi màn hình môn học, use case dừng lại
Hình 3-6 Sơ đồ hoạt động quản lý thông tin môn học
3.2.6 Quản lý thông tin lớp học
Tên Use Case Quản lý thông tin lớp học
Người dùng có khả năng quản lý thông tin lớp học thông qua các chức năng như xem danh sách lớp học, tra cứu thông tin, xem chi tiết lớp học, cũng như thực hiện các thao tác thêm, sửa, xóa lớp học và thêm sinh viên vào lớp học.
Kích hoạt Người dùng chọn “Lớp học” ở thanh điều hướng của màn hình chính
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Danh sách lớp học hiện ra
Nếu người dùng chọn tra cứu thông tin lớp học thì hệ thống hiển thị các lớp học tìm được nếu thông tin tìm kiếm có trong dữ liệu
Nếu người dùng chọn thêm, xóa, sửa thông tin lớp học, thêm sinh viên vào lớp thì dữ liệu được cập nhật
1 Người dùng chọn “Lớp học” ở thanh điều hướng của màn hình chính
2 Hệ thống hiển thị danh sách lớp học
Luồng sự kiện phụ 2a Người dùng chọn thêm lớp học
3a Người dùng nhập thông tin lớp học và xác nhận
4a Hệ thống lưu thông tin lớp học
2b Người dùng chọn sửa lớp học
3b Người dùng nhập thông tin lớp học và xác nhận
4b Hệ thống lưu thông tin lớp học
2c Người dùng chọn xóa lớp học
2c Hệ thống xóa lớp học
2d Người dùng chọn xem chi tiết lớp học
3d Hệ thống hiển thị màn hình chi tiết lớp học với các thông tin môn học
2e Người dùng chọn thêm sinh viên vào lớp
3e Người dùng nhập mã số sinh viên và xác nhận
4e Hệ thống kiểm tra mã số sinh viên và lưu thông tin sinh viên vào lớp
4ea Mã số sinh viên không tồn tại trong dữ liệu sinh viên Hệ thống thông báo mã số sinh viên không tồn tại
4eb Mã số sinh viên đã có trong lớp Hệ thống thông báo sinh viên đã có trong lớp
2f Người dùng tìm kiếm thông tin lớp học
3f Hệ thống hiển thị thông tin các lớp học tìm thấy
3f Hệ thống hiển thị thông báo không tìm thấy lớp học Luồng ngoại lệ Người dùng thoát khỏi màn hình lớp học, use case dừng lại
Hình 3-7 Sơ đồ hoạt động quản lý thông tin lớp học
3.2.7 Quản lý thông tin đồ án
Tên Use Case Quản lý thông tin đồ án
Người dùng có khả năng quản lý thông tin đồ án thông qua các thao tác như xem danh sách, xem chi tiết, thêm, sửa và xóa đồ án Để kích hoạt, người dùng cần chọn “Xem danh sách đồ án” trong phần chi tiết lớp học, với vai trò là diễn viên chính là Phòng đào tạo.
Tiền điều kiện Người dùng phải đăng nhập vào hệ thống
Danh sách đồ án hiện ra
Nếu người dùng chọn thêm, xóa, sửa thông tin đồ án thì dữ liệu được cập nhật
: Xem danh sách lớp học
1 Người dùng chọn “Xem danh sách đồ án” ở chi tiết lớp học
2 Hệ thống hiển thị danh sách đồ án
Luồng sự kiện phụ 2a Người dùng chọn thêm đồ án
3a Người dùng nhập thông tin đồ án và xác nhận
4a Hệ thống lưu thông tin đồ án
2b Người dùng chọn sửa đồ án
3b Người dùng nhập thông tin đồ án và xác nhận
4b Hệ thống lưu thông tin đồ án
2c Người dùng chọn xóa đồ án
2c Hệ thống xóa đồ án
2d Người dùng chọn xem chi tiết đồ án
3d Hệ thống hiển thị màn hình chi tiết đồ án với các thông tin đồ án
Luồng ngoại lệ Người dùng thoát khỏi màn hình đồ án, use case dừng lại
Hình 3-8 Sơ đồ hoạt động quản lý thông tin đồ án
Tên Use Case Đăng ký đồ án
Người dùng có thể đăng ký đồ án Ngoài ra, người dùng cũng có thể xóa đăng ký và xem kết quả đăng ký
Kích hoạt Người dùng chọn “Đăng ký” ở một trong các đồ án ở danh sách đồ án
Actor Phòng đào tạo, giảng viên, sinh viên
Tiền điều kiện 1 Người dùng phải đăng nhập vào hệ thống
2 Lớp phải đang mở đăng ký đồ án
Hệ thống lưu thông tin đăng ký đồ án
: Xem danh sách lớp học
1 Người dùng chọn “Đăng ký” ở một trong các đồ án ở danh sách đồ án
2 Hệ thống hiển thị màn hình đăng ký đồ án
3 Người dùng nhập tên nhóm (nếu có) và xác nhận đăng ký
4 Hệ thống lưu thông tin đăng ký
5 Hệ thống hiển thị danh sách đồ án, thông tin của sinh viên hiện lên đồ án vừa đăng ký
Luồng sự kiện phụ 1a Người dùng chọn “Xóa” ở đồ án đã đăng ký
3a Hệ thống xóa đăng ký đồ án
Use-case tiếp tục với bước 5
Sinh viên đã đăng ký một đồ án khác trong lớp, và hệ thống thông báo rằng đồ án này đã được đăng ký trước.
Luồng ngoại lệ Người dùng thoát khỏi màn hình đăng ký đồ án, use case dừng lại
Hình 3-9 Sơ đồ hoạt động đăng ký đồ án
Sơ đồ tuần tự và sơ đồ lớp của các Use-case
Hình 3-10 Sơ đồ tuần tự chức năng đăng nhập
Hình 3-11 Sơ đồ lớp chức năng đăng nhập
3.3.2 Quản lý thông tin khoa
Hình 3-12 Sơ đồ tuần tự chức năng quản lý thông tin khoa
Hình 3-13Sơ đồ lớp chức năng quản lý thông tin khoa
3.3.3 Quản lý thông tin tài khoản giảng viên
Hình 3-14 Sơ đồ tuần tự chức năng quản lý tài khoản giảng viên
Hình 3-15 Sơ đồ lớp chức năng quản lý tài khoản giảng viên
3.3.4 Quản lý thông tin tài khoản sinh viên
Hình 3-16 Sơ đồ tuần tự chức năng quản lý tài khoản sinh viên
Hình 3-17 Sơ đồ lớp chức năng quản lý thông tin tài khoản sinh viên
3.3.5 Quản lý thông tin môn học
Hình 3-18 Sơ đồ tuần tự chức năng quản lý thông tin môn học
Hình 3-19 Sơ đồ lớp quản lý thông tin môn học
3.3.6 Quản lý thông tin lớp học
Hình 3-20 Sơ đồ tuần tự chức năng quản lý thông tin lớp học
Hình 3-21 Sơ đồ lớp chức năng quản lý thông tin lớp học
3.3.7 Quản lý thông tin đồ án
Hình 3-22 Sơ đồ tuần tự quản lý thông tin đồ án
Hình 3-23 Sơ đồ lớp chức năng quản lý thông tin đồ án
Hình 3-24 Sơ đồ tuần tự đăng ký đồ án
Hình 3-25 Sơ đồ lớp chức năng đăng ký đồ án
Sơ đồ lớp
3.4.1 Sơ đồ lớp các thực thể
Hình 3-26 Sơ đồ lớp các thực thể
3.4.2 Mô tả chi tiết các thực thể
Id: Int Id của khoa, mỗi khoa có 1 id khác nhau
Info: String Thông tin khoa
Deleted: Boolean Trạng thái đã xóa
EditDepartment () Chỉnh sửa khoa GetAllDepartment () Lấy danh sách tất cả khoa
UserId: String Id của sinh viên hoặc giảng viên
Fullname: String Tên của sinh viên hoặc giảng viên
ImagePath: String Đường dẫn tới ảnh đại diện
UserTypeId: Int Mã loại người dùng (10 giảng viên, 100 = sinh viên) Gender: Int Giới tính (Nam = 0, Nữ = 1) Deleted: Boolean Trạng thái đã xóa
CheckPasswordSignIn() Kiểm tra mật khẩu CreateLecturer() Tạo giảng viên DeleteLecturer() Xóa giảng viên
GetAllLecturer() Lấy danh sách giảng viên GetAllStudent() Lấy danh sách sinh viên
Thuộc tính Tên thuộc tính Ý nghĩa
Id: Int Id của môn học, mỗi môn học có 1 id khác nhau
CourseId: String Tên môn học
CourseName: String Thông tin môn học Deleted: Boolean Trạng thái đã xóa
CreateCourse() Tạo môn học mới
EditCourse() Chỉnh sửa môn học
GetAllCourses() Lấy danh sách tất cả môn học
Id: Int Id của lớp
CourseId: Int Id của môn học mà lớp đó thuộc
RegState Trạng thái đóng hoặc mở đăng ký đồ án RegStart Thời gian mở đăng ký đồ án
RegEnd Thời gian đóng đăng ký đồ án
Deleted Trạng thái đã xóa
GetAllClasses() Lấy danh sách lớp GetClassDetails() Lấy thông tin chi tiết của lớp
Id: int Id chi tiết lớp
UserId: string Id sinh viên hoặc giảng viên Deleted: bool Trạng thái đã xóa
Phương thức Tên phương thức Ý nghĩa
AddStudentToClass() Thêm sinh viên vào lớp
Thêm danh sách sinh viên vào lớp bằng file excel RemoveStudentFromClass() Xóa sinh viên khỏi lớp AddLecturerToClass() Thêm giảng viên vào lớp RemoveLecturerFromClass() Xóa sinh viên khỏi lớp
GetAllUsersInClass() Lấy danh sách người dùng trong lớp
Id: int Id của đồ án, mỗi đồ án có 1 id khác nhau
Pname: string Tên đồ án
Info: string Mô tả đồ án
The article outlines key identifiers for a project, including the class ID, which is an integer representing the class containing the project It also specifies the guiding lecturer's ID and the grading lecturer's ID, both of which are integers tied to their respective roles Additionally, the project state is described as a string indicating the current status of the project.
Phương thức Tên phương thức Ý nghĩa
CreateProject() Tạo đồ án mới
EditProject() Chình sửa đồ án
GetProjectDetails() Lấy thông tin đồ án
UpdateState() Cập nhật trạng thái đồ án GetState() Lấy trạng thái đồ án
Id: string Id của thông tin thành viên đồ án
GroupName: string Tên của nhóm thực hiện đồ án
StudentId: string Id của sinh viên thực hiện đồ án Deleted: bool Trạng thái đã xóa
AddStudentToProjects() Thêm sinh viên vào đồ án
GetProjectMembers() Lấy thành viên thực hiện đồ án RemoveStudentFromProjects
() Xóa sinh viên khỏi đồ án
Sơ đồ trạng thái
Hình 3.5.1.1 Sơ đồ trạng thái lớp học
Hình 3.5.1.2 Sơ đồ trạng thái đồ án
Phân tích và thiết kế Cơ sở dữ liệu
Dựa trên việc xác định yêu cầu và phân tích yêu cầu, ứng dụng web bao gồm các bảng sau đây:
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id NVARCHAR(MAX) Khóa chính Id người dùng
UserId NVARCHAR(MAX) Mã người dùng
ImagePath NVARCHAR(MAX) Đường dẫn ảnh đại diện
UserTypeId INT Loại người dùng
Username NVARCHAR(MAX) Tên đăng nhập
Password NVARCHAR(MAX) Mặt khẩu
Deleted BOOL Trạng thái đã xóa
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id INT Khóa chính Id khoa
Dname NVARCHAR(MAX) Mã khoa
Info NVARCHAR(MAX) Tên khoa
Deleted BOOL Trạng thái đã xóa
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id INT Khóa chính Id môn
CourseId NVARCHAR(MAX) Mã môn
CourseName NVARCHAR(MAX) Tên môn học
Deleted bool Trạng thái đã xóa
CourseName NVARCHAR(MAX) Tên môn
Deleted BOOL Trạng thái đã xóa
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id VARCHAR(255) Khóa chính Id lớp
CourseId VARCHAR(255) Not null Id môn học
ClassId INT Mã lớp học
CVImage, số điện thoại, email và địa chỉ nhà là các thông tin quan trọng trong hồ sơ ứng viên Trạng thái cho phép đăng ký đồ án, thời gian bắt đầu và kết thúc đăng ký đồ án, cùng với giới tính và thâm niên của ứng viên cũng là những yếu tố cần thiết Thông tin về trình độ học vấn được lưu trữ dưới dạng khóa ngoại.
Id trình độ học vấn của ứng viên positionId VARCHAR(255) Khóa ngoại
Id cấp bậc mong muốn của ứng viên
Trang 57 candidateCivilId VARCHAR(255) Khóa ngoại
Id khu vực làm việc của ứng viên
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id int Khoá chính Id chi tiết lớp học
ClassId VARCHAR(max) Khóa ngoại (Classes) Id lớp
UserId VARCHAR(max) Khóa ngoại (Users) Id sinh viên hoặc giảng viên
Deleted bool Trạng thái đã xóa
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id int Khoá chính Id đồ án
Info VARCHAR(max) Thông tin đồ án
ClassId VARCHAR(max) Khóa ngoại (Classes) Id lớp
GuidingLecturerId int Khóa ngoại (Users) Id giảng viên hướng dẫn
GradingLecturerId int Khóa ngoại (Users) Id giảng viên phúc đáp
ProjectState VARCHAR(max) Trạng thái đồ án
Deleted bool Trạng thái đã xóa
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
Id int Khoá chính Id của bảng thông tin sinh viên trong đồ án ProjectId int Khoá ngoại (Projects) Id đồ án
GroupName VARCHAR(max) Tên nhóm thực hiện đồ án
StudentId int Khóa ngoại (Users) Id sinh viên
Deleted bool Trạng thái đã xóa
CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG
Môi trường cài đặt
● SQL Server: Cơ sở dữ liệu quan hệ để lưu thông tin
● ASP NET: Thao tác với cơ sở dữ liệu các thao tác như thêm, xóa, sửa dữ liệu
● HTML, CSS, Jquery: Xây dựng các giao diện để người dùng có thể tương tác với hệ thống
4.1.2 Môi trường phát triển và triển khai hệ thống
● Công cụ quản lý CSDL: Microsoft SQL Server
● Công cụ xây dựng ứng dụng: Microsoft Visual Studio
● Công cụ quản lý mã nguồn: Github
Màn hình giao diện
Hình 4-1 Màn hình đăng nhập
STT Tên Kiểu Chức năng
1 username input Ô nhập tên đăng nhập
2 password input Ô nhập mật khẩu
3 rememberMe checkbox Checkbox lựa chọn nhớ tài khoản
4 forgotPassword button Nút chuyển sang màn hình quên mật khẩu
5 login button Nút thực hiện chức năng đăng nhập
Hình 4-2 Màn hình trang chủ
STT Tên Kiểu Chức năng
1 textRegisterdPj text Hiển thị tổng số đã án đã đăng ký trong học kì
2 textOngoingPj text Hiển thị tổng số đã án đang được thực hiện trong học kì
Pj text Hiển thị tổng số đã án đã hoàn thành trong học kì
4 piePercentOng oing Pie chart Biểu đồ tròn thể hiện tị lệ đồ án đang thực hiện và đồ án đã hoàn thành
5 pieDA1 Pie chart Biểu đồ tròn thể hiện điểm số của môn đồ án 1
5 pieDA2 Pie chart Biểu đồ tròn thể hiện điểm số của môn đồ án 2
6 pieKLTN Pie chart Biểu đồ tròn thể hiện điểm số của môn KLTN
7 lineDA1 Line Chart Biểu đồ đường thể hiện điểm số của môn đồ án 1 qua các học kì
8 lineDA2 Line Chart Biểu đồ đường thể hiện điểm số của môn đồ án 2 qua các học kì
9 lineKLTN Line Chart Biểu đồ đường thể hiện điểm số của môn KLTN qua các học kì
Hình 4-3 Màn hình thông tin khoa
STT Tên Kiểu Chức năng
1 btnHome button Nút đi tới màn hình trang chủ
2 btnDepartment button Nút đi tới màn hình danh sách khoa
3 btnUser button Nút đi tới màn hình danh sách tài khoản
4 btnCourse button Nút đi tới màn hình danh sách môn học
5 btnClass button Nút đi tới màn hình danh sách lớp học
6 btnCreate button Nút tạo khoa mới
7 rowDInfo text Dòng thông tin của 1 khoa
8 btnEdit button Nút chỉnh sửa thông tin khoa
9 btnDelete button Nút xóa khoa
Hình 4-4 Màn hình tạo khoa
STT Tên Kiểu Chức năng
1 inputDId input Ô điền mã khoa
2 inputDName input Ô điền tên khoa
3 btnBack button Nút quay lại
4 btnRetype button Nút xóa các thông tin đã nhập
5 btnCreate button Nút xác nhận tạo mới
Hình 4-5 Màn hình chỉnh sửa khoa
STT Tên Kiểu Chức năng
1 inputDId input Ô điền mã khoa
2 inputDName input Ô điền tên khoa
3 btnBack button Nút quay lại
4 btnRetype button Nút xóa các thông tin đã nhập
5 btnEdit button Nút xác nhận chỉnh sửa
Hình 4-6 Màn hình danh sách môn học
STT Tên Kiểu Chức năng
1 btnCreate button Nút tạo môn học mới
2 rowInfo text Dòng thông tin của 1 môn học
3 btnEdit button Nút chỉnh sửa thông tin môn học
4 btnDelete button Nút xóa môn học
Hình 4-7 Màn hình thêm mới môn học
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã môn học
2 inputName input Ô điền tên môn học
3 btnBack button Nút quay lại
4 btnRetype button Nút xóa các thông tin đã nhập
5 btnCreate button Nút xác nhận tạo mới
Hình 4-8 Màn hình chỉnh sừa môn học
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã môn học
2 inputName input Ô điền tên môn học
3 btnBack button Nút quay lại
4 btnRetype button Nút xóa các thông tin đã nhập
5 btnEdit button Nút xác nhận chỉnh sửa
Hình 4-9 Màn hình danh sách giảng viên
STT Tên Kiểu Chức năng
1 btnLecturer button Nút đi tới màn hình danh sách giảng viên
2 btnCreate button Nút tạo giảng viên mới
3 selectNum select Ô chọn số lượng giảng viên hiển thị trong bảng
4 inputSearch input Ô tìm kiếm thông tin giảng viên
5 btnSort button Nút sắp xếp giảng viên
6 rowInfo text Dòng hiển thị thông tin giảng viên
7 btnEdit button Nút chỉnh sửa thông tin giảng viên
8 btnDelete button Nút xóa giảng viên
9 BtnPage button Nút chuyển trang của bảng
Hình 4-10 Màn hình thêm giảng viên
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã giảng viên
2 inputName input Ô điền tên giảng viên
3 buttonGender button Nút chọn giới tính
4 inputBD input Ô điền ngày sinh
5 inputAvatar input Ô chọn file ảnh đại diện
6 selectDepartment select Ô chọn mã khoa
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnCreate button Nút xác nhận tạo mới
Hình 4-11 Màn hình chỉnh sửa thông tin giảng viên
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã giảng viên
2 inputName input Ô điền tên giảng viên
3 buttonGender button Nút chọn giới tính
4 inputBD input Ô điền ngày sinh
5 inputAvatar input Ô chọn file ảnh đại diện
6 selectDepartment select Ô chọn mã khoa
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnEdit button Nút xác nhận chỉnh sửa
Hình 4-12 Màn hình danh sách sinh viên
STT Tên Kiểu Chức năng
1 btnStudent button Nút đi tới màn hình danh sách sinh viên
2 btnCreate button Nút tạo sinh viên mới
3 btnExcel button Nút tạo sinh viên bằng file excel
4 selectNum select Ô chọn số lượng sinh viên hiển thị trong bảng
5 inputSearch input Ô tìm kiếm thông tin sinh viên
6 btnSort button Nút sắp xếp sinh viên
7 rowInfo text Dòng hiển thị thông tin sinh viên
8 btnEdit button Nút chỉnh sửa thông tin sinh viên
9 btnDelete button Nút xóa sinh viên
10 BtnPage button Nút chuyển trang của bảng
Hình 4-13 Màn hình thêm sinh viên
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã sinh viên
2 inputName input Ô điền tên sinh viên
3 buttonGender button Nút chọn giới tính
4 inputBD input Ô điền ngày sinh
5 inputAvatar input Ô chọn file ảnh đại diện
6 selectDepartment select Ô chọn mã khoa
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnCreate button Nút xác nhận tạo mới
Hình 4-14 Màn hình chỉnh sửa sinh viên
STT Tên Kiểu Chức năng
1 inputId input Ô điền mã sinh viên
2 inputName input Ô điền tên sinh viên
3 buttonGender button Nút chọn giới tính
4 inputBD input Ô điền ngày sinh
5 inputAvatar input Ô chọn file ảnh đại diện
6 selectDepartment select Ô chọn mã khoa
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnEdit button Nút xác nhận chỉnh sửa
Hình 4-15 Màn hình danh sách lớp học
STT Tên Kiểu Chức năng
1 btnDA1 button Nút đi tới màn hình danh sách lớp đồ án 1
2 btnCreate button Nút tạo lớp học
3 selectNum select Ô chọn số lượng lớp học hiển thị trong bảng
4 inputSearch input Ô tìm kiếm thông tin lớp học
5 btnSort button Nút sắp xếp lớp học
6 rowInfo text Dòng hiển thị thông tin lớp học
7 btnEdit button Nút chỉnh sửa thông tin lớp học
8 btnDelete button Nút xóa lớp học
9 BtnPage button Nút chuyển trang của bảng
Hình 4-16 Màn hình thêm lớp học
STT Tên Kiểu Chức năng
1 inputCourseId select Ô chọn môn học
2 inputClassId input Ô nhập mã lớp
3 inputSemester input Ô chọn học kì
4 inputYear input Ô chọn năm học
5 btnOpen btn Nút mở hoặc đóng đăng ký đồ án
6 inputStartEndDate input Ô ngày mở đăng ký và ngày kết thúc đăng ký đồ án
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnCreate button Nút xác nhận tạo mới
Hình 4-17 Màn hình thông tin lớp học
STT Tên Kiểu Chức năng
1 inputCourseId select Ô chọn môn học
2 inputClassId input Ô nhập mã lớp
3 inputSemester input Ô chọn học kì
4 inputYear input Ô chọn năm học
5 btnOpen btn Nút mở hoặc đóng đăng ký đồ án
6 inputStartEndDate input Ô ngày mở đăng ký và ngày kết thúc đăng ký đồ án
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnEdit button Nút xác nhận chỉnh sửa
4.2.18 Chi tiết thông tin lớp học
Hình 4-18 Màn hình chi tiết thông tin lớp học
STT Tên Kiểu Chức năng
1 btnEdit input Nút chỉnh sửa thông tin lớp học
2 btnProject btn Nút xem danh sách đồ án
3 rowVerifyPj text Ô chọn đồ án để duyệt
4 btnSort btn Nút sắp xếp lớp học
5 btnAdd btn Nút thêm sinh viên hoặc giảng viên vào lớp
6 btnAddExcel btn Nút thêm sinh viên hoặc giảng viên vào lớp bằng file excel
7 rowInfo text Dòng thông tin sinh viên hoặc giảng viên
8 btnRemove btn Nút xóa sinh viên khỏi lớp
9 btnPage btn Nút chuyển trang của bảng
Hình 4-19 Màn hình danh sách đồ án
STT Tên Kiểu Chức năng
1 btnAdd btn Nút thêm đồ án
2 btnAddExcel btn Nút thêm đồ án bằng file excel
3 inputSearch input Ô nhập thông tin đồ án cần tìm kiếm
4 rowInfo text Dòng thông tin đồ án
5 btnEdit btn Nút chỉnh sửa đồ án
6 btnDelete btn Nút xóa đồ án
STT Tên Kiểu Chức năng
1 btnRegister btn Nút đăng ký đồ án
Hình 4-20 Màn hình thêm đồ án
STT Tên Kiểu Chức năng
1 inputName input Ô nhập tên đồ án
2 inputInfo input Ô nhập mô tả đồ án
3 inputGuiding select Ô chọn giảng viên hướng dẫn
4 inputGrading select Ô chọn giảng viên phúc đáp
5 inputStudent1 input Ô nhập sinh viên 1
6 inputStudent2 input Ô nhập sinh viên 2
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnCreate button Nút xác nhận tạo mới
Hình 4-21 Màn hình chỉnh sửa đồ án
STT Tên Kiểu Chức năng
1 inputName input Ô nhập tên đồ án
2 inputInfo input Ô nhập mô tả đồ án
3 inputGuiding select Ô chọn giảng viên hướng dẫn
4 inputGrading select Ô chọn giảng viên phúc đáp
5 inputStudent1 input Ô nhập sinh viên 1
6 inputStudent2 input Ô nhập sinh viên 2
7 btnBack button Nút quay lại
8 btnRetype button Nút xóa các thông tin đã nhập
9 btnEdit button Nút xác nhận chỉnh sửa
Hình 4-22 Màn hình đang ký đồ án
STT Tên Kiểu Chức năng
1 inputName input Ô nhập tên nhóm
2 inputStudent1 select Ô chọn sinh viên thứ 1
3 inputStudent1 select Ô chọn sinh viên thứ 2
4 btnBack button Nút quay lại
5 btnRetype button Nút xóa các thông tin đã nhập
6 btnRegister button Nút xác nhận đăng ký
Hình 4-23 Màn hình chi tiết đồ án
STT Tên Kiểu Chức năng
1 btnEdit button Nút chỉnh sửa thông tin đồ án
2 fieldRelatedPerson text Khung tên người tham gia đồ án và giảng viên hướng dẫn
3 submitFile text Tài liệu đăng lên của sinh viên
4 addFile button Nút thêm tài liệu của sinh viên
5 addGuidingFile button Nút thêm tài liệu của giảng viên
6 inputComment text Vùng nhập nhận xét của giảng viên
6 btnComment button Nút đăng nhận xét của giảng viên
TỔNG KẾT
Kết quả đạt được
Học cách phối hợp trong xây dựng phần mềm hoàn chỉnh bao gồm việc nắm vững các khái niệm và phương pháp quản lý dự án Điều này bao gồm xác định phạm vi dự án, lập lịch trình, phân công công việc, quản lý tài nguyên và rủi ro, cũng như đánh giá tiến độ và chất lượng.
Để đăng ký và quản lý đồ án hiệu quả, cần hiểu rõ quy trình và các yêu cầu liên quan Phân tích yêu cầu đăng ký đồ án là bước quan trọng nhằm thiết kế một hệ thống quản lý đăng ký tối ưu, giúp nâng cao hiệu suất và tính minh bạch trong quá trình quản lý.
- Hiểu về cấu trúc và các thành phần chính của ASP.NET Framework
Kỹ thuật và công nghệ trong ASP.NET liên quan đến quản lý dữ liệu bao gồm việc kết nối và truy vấn cơ sở dữ liệu hiệu quả Sử dụng Entity Framework giúp đơn giản hóa quá trình thao tác với dữ liệu, trong khi LINQ cung cấp cú pháp dễ hiểu để thực hiện các truy vấn phức tạp Việc áp dụng những công nghệ này không chỉ nâng cao hiệu suất ứng dụng mà còn cải thiện khả năng bảo trì và mở rộng hệ thống.
Để xây dựng một trang web hiệu quả, bạn cần có kiến thức về HTML để tạo cấu trúc và giao diện, sử dụng CSS để thiết kế và tạo kiểu, cùng với JavaScript để xử lý logic và tương tác phía máy khách trong trình duyệt.
Quản lý người dùng trong ứng dụng bao gồm các yếu tố quan trọng như xác thực và ủy quyền người dùng, quản lý thông tin cá nhân, cùng với việc áp dụng các quyền và vai trò phù hợp cho từng người dùng.
Tối ưu hóa truy vấn cơ sở dữ liệu là rất quan trọng để cải thiện hiệu suất hệ thống Quản lý bộ nhớ và tài nguyên hiệu quả giúp tăng cường khả năng hoạt động của ứng dụng Việc xử lý lỗi và ngoại lệ kịp thời đảm bảo tính ổn định và đáng tin cậy của phần mềm Đồng thời, áp dụng các biện pháp bảo mật là cần thiết để bảo vệ dữ liệu và quyền riêng tư của người dùng.
Hạn chế
Vì thiếu kiến thức trước về công nghệ trước khi xây dựng đồ án cũng như kiến thức liên quan tới quy trinh xử lý đăng ký đồ án
● Dành nhiều thời gian để học tập công nghệ
● Chỉnh sửa nhiều về cơ sở dữ liệu và xây dựng logic cho đăng ký đồ án
● Giao diện không được bắt mắt.
Hướng phát triển
- Xây dựng hệ thống cho phép vừa đăng ký vừa quản lý thông tin đồ án
- Xây dựng giao diện thuận tiện hơn cho sinh viên và giảng viên
- Phân công công việc hợp lý, phân bố thời gian biểu để không dẫn tới quá tải công việc cũng như dư thừa thời gian rảnh rỗi nhiều
- Giải quyết mẫu thuẫn trong nhóm hợp lý và tìm ra giải pháp tối ưu để tránh xung đột.