Bối cảnh và vấn đề nghiên cứu
Đồ án "Quản lý sinh viên" được thực hiện trong khuôn khổ học phần Đồ án Công nghệ Thiết kế Web nâng cao, thuộc Khoa Công nghệ Thông tin – Trường Đại học Xây dựng. Nhóm tác giả thực hiện gồm 06 sinh viên thuộc lớp 66PM4: Nguyễn Tiến Dũng (mã sinh viên: 018366), Đỗ Văn Dương (mã sinh viên: 0184866), Đỗ Hùng Minh (mã sinh viên: 0196466), Nguyễn Lê Huy (mã sinh viên: 0191966), Phạm Minh Hoàng (mã sinh viên: 0191266) và Ngô Trí Dũng (mã sinh viên: 0183366), dưới sự hướng dẫn của giảng viên Nguyễn Hải Dương.
Về bối cảnh thực tiễn, tác giả chỉ ra rằng trong thời đại công nghệ 4.0, ứng dụng công nghệ thông tin đã thâm nhập vào nhiều lĩnh vực hoạt động nhằm nâng cao năng suất và hiệu quả công việc. Đối với lĩnh vực giáo dục và học tập, nhu cầu số hóa các quy trình quản lý thông tin là cần thiết nhằm thay thế cho phương thức xử lý dữ liệu thủ công truyền thống vốn tồn tại nhiều bất cập và hạn chế trong việc tra cứu, cập nhật dữ liệu.
Nhiệm vụ trọng tâm của đề tài được xác định là:
- Xây dựng một hệ thống phần mềm web "Quản lý sinh viên" hoàn chỉnh dựa trên mô hình kiến trúc Model-View-Controller (MVC).
- Tạo ra giải pháp quản lý dữ liệu học tập có tính hiệu quả, cấu trúc rõ ràng và dễ dàng mở rộng khi phát sinh nhu cầu trong tương lai.
- Hỗ trợ người dùng thao tác quản lý và kiểm soát thông tin cá nhân cũng như dữ liệu học tập một cách thuận tiện, giảm thiểu thao tác thủ công.
Mục tiêu cụ thể của hệ thống bao gồm:
- Theo dõi và quản lý thông tin chi tiết của sinh viên, bao gồm họ tên, mã số sinh viên, ngày sinh và các trường thông tin liên quan.
- Quản lý điểm số học tập và thông tin cá nhân của từng sinh viên.
- Quản lý từng lớp học riêng lẻ trong toàn trường.
- Quản lý thông tin về đội ngũ giảng viên, bao gồm họ tên, mã số giảng viên và các dữ liệu liên quan.
- Cung cấp giao diện trực tuyến cho phép sinh viên trực tiếp tra cứu điểm số và lịch học của bản thân.
Đối tượng nghiên cứu của đề tài là quy trình quản lý thông tin học tập và dữ liệu hồ sơ trong môi trường đại học (bao gồm sinh viên, giảng viên, môn học, khoa, lớp học, lịch học và kết quả điểm số). Phạm vi nghiên cứu tập trung vào việc thiết kế và phát triển ứng dụng web trên nền tảng công nghệ ASP.NET MVC kết hợp hệ quản trị cơ sở dữ liệu SQL Server, phục vụ hai nhóm đối tượng người dùng chính là Quản trị viên (Admin) và Sinh viên.
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng mô hình kiến trúc phần mềm ba lớp Model-View-Controller (ASP.NET MVC) làm khung nền tảng lý thuyết và kỹ thuật để tổ chức cấu trúc mã nguồn:
- Model: Đảm nhiệm vai trò xử lý logic dữ liệu (business logic), tương tác và truy xuất cơ sở dữ liệu, quản lý trạng thái và cấu trúc của các thực thể đối tượng trong hệ thống như Sinh viên, Giảng viên, Lớp học, Khoa, Môn học, Lịch học và Điểm số.
- View: Đảm nhiệm chức năng kết xuất và hiển thị dữ liệu đến người dùng cuối, được xây dựng dựa trên nền tảng giao diện HTML, CSS và mẫu giao diện quản trị.
- Controller: Đóng vai trò điều phối toàn bộ luồng tương tác giữa Model và View; tiếp nhận yêu cầu gửi đến từ người dùng (HTTP requests), thực thi xử lý logic tương ứng thông qua Model và trả kết quả hiển thị về View.
Phương pháp nghiên cứu và kỹ thuật thực tế được nhóm tác giả triển khai bao gồm:
- Phương pháp phân tích hệ thống hướng ca sử dụng (Use Case Analysis): Nhóm tác giả sử dụng công cụ Draw.NET để mô hình hóa sơ đồ Use Case tổng thể của hệ thống và các sơ đồ Use Case phân hệ chi tiết (Quản lý Sinh viên, Quản lý Giáo viên, Quản lý Điểm, Quản lý Khoa, Quản lý Lịch học, Quản lý Lớp học, Quản lý Môn học).
- Phương pháp thiết kế và xây dựng giao diện người dùng: Ứng dụng mẫu giao diện quản trị AdminLTE.io nhằm chuẩn hóa bảng điều khiển (dashboard) và hệ thống thanh điều hướng (sidebar navigation).
- Phương pháp kiểm thử chức năng và ngoại lệ: Kiểm thử trực tiếp luồng thao tác người dùng trên giao diện web, kiểm tra xử lý các ngoại lệ tại biểu mẫu đăng nhập và kiểm thử tính toàn vẹn của các thao tác thêm, sửa, xóa, tìm kiếm dữ liệu.
Nguồn dữ liệu của hệ thống được tổ chức, lưu trữ tập trung trên hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server. Dữ liệu tài khoản người dùng trong hệ thống hiện được cấu hình theo dạng cấp phát định danh sẵn.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế và triển khai dựa trên các công cụ, nền tảng công nghệ cụ thể:
- Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio.
- Ngôn ngữ và nền tảng kiến trúc: ASP.NET MVC.
- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.
- Công cụ vẽ sơ đồ mô hình hóa: Draw.NET.
- Thư viện giao diện quản trị: AdminLTE.io.
Phân quyền chức năng hệ thống
Hệ thống thiết lập ma trận phân quyền chi tiết giữa hai vai trò người dùng: Quản trị viên (Admin) và Sinh viên.
| Phân hệ chức năng |
Quyền hạn của Quản trị viên (Admin) |
Quyền hạn của Sinh viên |
| Quản lý Giảng viên |
Thêm, sửa, xóa, tìm kiếm, hiển thị danh sách giảng viên |
Không có quyền truy cập |
| Quản lý Sinh viên |
Thêm, sửa, xóa, tìm kiếm, lọc sinh viên theo lớp |
Hiển thị và cập nhật thông tin cá nhân |
| Quản lý Môn học |
Thêm, sửa, xóa, tìm kiếm, hiển thị thông tin môn học |
Không có quyền quản trị |
| Quản lý Khoa |
Thêm, sửa, xóa, tìm kiếm, cập nhật thông tin khoa |
Không có quyền truy cập |
| Quản lý Lớp học |
Thêm, sửa, xóa, tìm kiếm, hiển thị danh sách lớp |
Xem danh sách lớp học thông qua lịch học |
| Quản lý Lịch học |
Thêm, sửa, xóa, lọc, tìm kiếm lịch học sinh viên |
Xem thông tin lịch học cá nhân |
| Quản lý Điểm số |
Thêm, sửa, xóa, tìm kiếm, hiển thị điểm và khen thưởng |
Tìm kiếm và xem kết quả điểm của bản thân |
Luồng xử lý giao diện và kiểm tra ngoại lệ
Quá trình kiểm tra hệ thống tập trung vào các luồng thao tác chính:
-
Xử lý đăng nhập và ngoại lệ tài khoản:
- Hệ thống vận hành với cơ chế tài khoản cấp sẵn. Khi người dùng nhập đúng tên tài khoản và mật khẩu, hệ thống cho phép truy cập vào bảng điều khiển.
- Xử lý ngoại lệ 1: Nhập sai tên tài khoản $\rightarrow$ Giao diện hiển thị dòng chữ cảnh báo màu đỏ, yêu cầu người dùng nhập lại.
- Xử lý ngoại lệ 2: Nhập đúng tên tài khoản nhưng sai mật khẩu $\rightarrow$ Giao diện xuất hiện thông báo lỗi chữ đỏ và bắt buộc nhập lại mật khẩu.
- Xử lý ngoại lệ 3: Bỏ trống trường tên đăng nhập hoặc mật khẩu $\rightarrow$ Hệ thống kích hoạt cảnh báo thiếu trường thông tin tương ứng.
-
Trang chủ quản trị (Dashboard):
- Sau khi đăng nhập thành công vào vai trò quản trị, màn hình trang chủ hiển thị các khối thống kê số lượng sinh viên và giảng viên hiện có trong cơ sở dữ liệu.
- Thanh điều hướng bên trái (sidebar) liệt kê danh mục các chức năng quản trị.
-
Cơ chế thực thi CRUD và đồng bộ dữ liệu:
- Thao tác Thêm mới (Create): Người dùng bấm nút "Create" dưới mục "Managing", nhập thông tin vào biểu mẫu rồi nhấn "Save". Dữ liệu được lưu vào bảng cơ sở dữ liệu, đồng thời chỉ số đếm số lượng sinh viên/giảng viên tại trang chủ tự động tăng thêm 1 đơn vị.
- Thao tác Lọc và Tìm kiếm: Cho phép tra cứu nhanh sinh viên thông qua bộ lọc theo lớp học.
- Thao tác Chỉnh sửa (Edit): Cho phép cập nhật lại các trường thông tin của đối tượng đã chọn.
- Thao tác Xem chi tiết (Detail): Hiển thị đầy đủ thông tin cá nhân kèm theo siêu dữ liệu gồm ngày tạo và ngày chỉnh sửa thông tin gần nhất; cho phép chuyển nhanh sang chế độ Edit.
- Thao tác Xóa (Delete): Nhấn nút "Delete" tại dòng dữ liệu tương ứng để mở giao diện xác nhận; khi bấm xác nhận xóa, toàn bộ dữ liệu của bản ghi sẽ bị loại bỏ khỏi cơ sở dữ liệu.
- Đăng xuất: Nút "Log out" cho phép kết thúc phiên làm việc và quay về màn hình đăng nhập.
Nội dung chính theo từng chương
Chương I: Đặt vấn đề
Chương mở đầu trình bày lý do lựa chọn đề tài gắn với xu hướng ứng dụng công nghệ thông tin trong giáo dục thời kỳ cách mạng công nghiệp 4.0. Tác giả nêu rõ nhiệm vụ xây dựng hệ thống quản lý sinh viên ứng dụng mô hình MVC để khắc phục hạn chế của phương pháp thủ công. Chương I định rõ các công cụ sử dụng (Visual Studio, Draw.NET, AdminLTE.io, SQL Server), phân tích nguyên lý hoạt động của kiến trúc ASP.NET MVC (Model, View, Controller), xác định mục tiêu tổng quát, mục tiêu cụ thể và liệt kê danh mục 07 nhóm chức năng nghiệp vụ của hệ thống (Quản lý giáo viên, Quản lý sinh viên, Quản lý môn học, Quản lý khoa, Quản lý điểm, Quản lý lịch học, Quản lý lớp học).
Chương II: Phân tích hệ thống
Chương II là chương trọng tâm của báo cáo, mô tả chi tiết toàn bộ các thành phần phân tích và hiện thực hóa phần mềm:
- Hệ thống hóa danh sách sơ đồ Use Case bao gồm: Use Case hệ thống tổng thể và các Use Case chi tiết cho từng nghiệp vụ (Điểm, Giáo viên, Khoa, Lịch học, Lớp học, Môn học, Sinh viên).
- Phân tích chi tiết giao diện và chức năng của phân hệ Admin: Đăng nhập quản trị, Quản lý Sinh viên (hiển thị, cập nhật, tìm kiếm, thêm mới, xem chi tiết, xóa, lọc theo lớp), Quản lý Giảng viên (hiển thị, cập nhật, tìm kiếm, thêm mới), Cập nhật khoa, Quản lý Môn học (hiển thị, tìm kiếm, cập nhật, thêm mới), Quản lý Lớp học (hiển thị, tìm kiếm, cập nhật, thêm mới), Quản lý Lịch học (hiển thị, cập nhật, lọc, thêm mới), Quản lý Điểm học (hiển thị, cập nhật).
- Phân tích giao diện và chức năng của phân hệ Sinh viên: Đăng nhập sinh viên, Thông tin sinh viên (hiển thị, cập nhật thông tin cá nhân), Hiển thị lớp học, Hiển thị lịch học và Hiển thị điểm học.
- Trình bày kết quả phân tích và kiểm tra: Cơ chế xác thực tài khoản đăng nhập, xử lý các trường hợp ngoại lệ nhập liệu (sai tên, sai mật khẩu, thiếu thông tin), kiểm tra chức năng thống kê số lượng trên Dashboard, quy trình hoạt động của các nút chức năng Create, Edit, Detail, Delete và Log out.
Chương III: Kết luận
Chương III tổng kết lại toàn bộ kết quả thực hiện đồ án, đánh giá tổng quan các ưu điểm đạt được, các mặt nhược điểm còn tồn tại trong hệ thống, nhận định khả năng ứng dụng thực tế của phần mềm và liệt kê danh mục tư liệu tham khảo phục vụ quá trình nghiên cứu.
Kết quả và đóng góp
Về kết quả kỹ thuật, đồ án đã hiện thực hóa được một hệ thống phần mềm web hoàn chỉnh với các kết quả cụ thể:
- Xây dựng đầy đủ 08 mô hình Use Case bao gồm Use Case hệ thống tổng quát và 07 Use Case phân hệ nghiệp vụ chuyên biệt.
- Thiết lập cơ chế xác thực phân quyền 2 tác nhân (Admin và Sinh viên), kiểm soát chính xác quyền đọc/ghi trên từng module chức năng.
- Hoàn thiện bộ tính năng CRUD (Thêm, Xem chi tiết, Chỉnh sửa, Xóa) đồng bộ trên 07 danh mục dữ liệu quản lý (Sinh viên, Giảng viên, Môn học, Khoa, Lớp học, Lịch học, Điểm số).
- Hiện thực hóa chức năng thống kê định lượng tự động tại trang chủ Dashboard: khi thêm mới một bản ghi sinh viên hoặc giảng viên qua biểu mẫu Create, hệ số đếm tổng số lượng lưu trữ trong cơ sở dữ liệu sẽ tự động tăng thêm 1 đơn vị.
- Tích hợp khả năng lưu vết quản lý thông tin với các trường thời gian (ngày tạo và ngày sửa đổi) trong giao diện xem chi tiết bản ghi.
Về mặt giải pháp, đồ án đề xuất việc ứng dụng mô hình MVC trên nền tảng web ASP.NET kết hợp cơ sở dữ liệu SQL Server nhằm số hóa công tác quản trị trường học, thay thế quy trình quản lý hồ sơ và điểm số bằng sổ sách thủ công. Đóng góp của đề tài thể hiện ở việc nhóm tác giả đã tự chủ trong việc tiếp cận và bước đầu làm chủ mô hình phát triển web ASP.NET MVC, xây dựng được hệ thống quản trị dữ liệu có tính module hóa, cho phép mở rộng và liên kết thông tin giữa các thực thể trong quản lý đào tạo.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên tự đánh giá của nhóm tác giả trong văn bản, đồ án còn một số hạn chế:
- Nhóm tác giả lần đầu tiếp cận và trải nghiệm mô hình ASP.NET MVC nên việc tổ chức cấu trúc và tối ưu hệ thống còn nhiều bỡ ngỡ.
- Công tác chuẩn bị trước buổi bảo vệ đồ án chưa thật sự kỹ càng, dẫn đến việc còn tồn tại nhiều thiếu sót trong thiết kế giao diện người dùng và nội dung tài liệu báo cáo.
- Cơ chế quản lý người dùng đang dừng lại ở mức sử dụng các tài khoản được định danh và cấp phát sẵn trong cơ sở dữ liệu, chưa triển khai các quy trình đăng ký tài khoản tự động hoặc cơ chế phục hồi mật khẩu trực tuyến.
Về hướng phát triển tiếp theo dựa trên phạm vi nghiên cứu:
- Tiếp tục hoàn thiện và trau chuốt giao diện người dùng dựa trên framework AdminLTE để tối ưu hóa trải nghiệm thao tác.
- Bổ sung và hoàn thiện các tài liệu báo cáo phân tích thiết kế hệ thống.
- Mở rộng các tính năng nghiệp vụ nâng cao trong quản lý đào tạo và tự động hóa quy trình phân quyền tài khoản người dùng.
Giá trị tham khảo
Đồ án là tài liệu tham khảo phù hợp cho:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang học các học phần về Thiết kế Web nâng cao, Lập trình Web hoặc chuẩn bị thực hiện đồ án môn học liên quan đến nền tảng ASP.NET MVC.
- Người học cần tìm hiểu phương pháp phân rã ca sử dụng (Use Case) cho hệ thống quản lý đào tạo/sinh viên bằng công cụ Draw.NET.
- Các nhà phát triển bắt đầu làm quen với việc tích hợp mẫu giao diện quản trị AdminLTE.io vào ứng dụng ASP.NET MVC và xử lý các thao tác CRUD kết nối cơ sở dữ liệu SQL Server.
Nội dung có giá trị tham khảo nổi bật trong văn bản bao gồm:
- Ma trận phân định quyền hạn rõ ràng giữa Quản trị viên và Sinh viên đối với từng module dữ liệu.
- Kịch bản kiểm thử luồng đăng nhập và xử lý các ngoại lệ giao diện khi người dùng nhập sai/thiếu thông tin xác thực.
- Quy trình chuẩn hóa thao tác CRUD kết hợp tự động cập nhật số liệu thống kê trên Dashboard.
Câu hỏi thường gặp
1. Đồ án sử dụng các công cụ và công nghệ nào để phát triển hệ thống?
Đồ án sử dụng môi trường phát triển Microsoft Visual Studio, công cụ vẽ sơ đồ Draw.NET, mẫu giao diện quản trị AdminLTE.io, hệ quản trị cơ sở dữ liệu Microsoft SQL Server và xây dựng trên nền tảng kiến trúc ASP.NET MVC.
2. Quyền hạn giữa Quản trị viên (Admin) và Sinh viên khác nhau như thế nào đối với chức năng Điểm số và Lịch học?
Đối với phân hệ Điểm số, Admin có toàn quyền xem, thêm, sửa, xóa và tìm kiếm điểm cũng như thông tin khen thưởng của sinh viên; trong khi Sinh viên chỉ có quyền tra cứu và xem điểm của chính mình. Đối với Lịch học, Admin có quyền xem, thêm, sửa, xóa và tìm kiếm lịch học của toàn bộ sinh viên; Sinh viên chỉ được phép xem thông tin lịch học cá nhân.
3. Hệ thống xử lý các trường hợp ngoại lệ tại màn hình đăng nhập như thế nào?
Khi người dùng nhập sai tên tài khoản, hệ thống hiển thị dòng chữ đỏ báo lỗi và yêu cầu nhập lại. Khi nhập đúng tên tài khoản nhưng sai mật khẩu, hệ thống hiển thị cảnh báo đỏ bắt buộc nhập lại mật khẩu. Khi người dùng bỏ trống một trong hai trường hoặc cả hai trường tên đăng nhập/mật khẩu, hệ thống sẽ kích hoạt dòng cảnh báo thiếu thông tin tương ứng.
4. Khi Quản trị viên thêm mới một sinh viên hoặc giảng viên thành công, hệ thống có phản hồi gì trên giao diện?
Sau khi nhập thông tin tại giao diện Create và nhấn nút "Save", thông tin bản ghi sẽ được lưu trữ vào bảng dữ liệu trong SQL Server, đồng thời chỉ số đếm số lượng sinh viên hoặc giảng viên tại bảng thống kê trên trang chủ Dashboard sẽ tự động tăng lên 1 đơn vị.
5. Mô hình ASP.NET MVC được nhóm tác giả phân chia nhiệm vụ cụ thể ra sao trong đồ án?
Mô hình được phân định thành ba thành phần: Model phụ trách xử lý logic dữ liệu, truy cập cơ sở dữ liệu và quản lý các đối tượng (Sinh viên, Lớp học, Điểm số...); View đảm nhiệm việc hiển thị giao diện người dùng dựa trên HTML, CSS; Controller đóng vai trò điều phối tương tác giữa Model và View, xử lý yêu cầu từ người dùng và cập nhật dữ liệu.
Kết luận
Đồ án "Quản lý sinh viên" của nhóm sinh viên lớp 66PM4, Khoa Công nghệ Thông tin – Trường Đại học Xây dựng đã xây dựng thành công ứng dụng web quản lý đào tạo dựa trên mô hình kiến trúc ASP.NET MVC và cơ sở dữ liệu SQL Server. Hệ thống đáp ứng đầy đủ các chức năng nghiệp vụ quản lý sinh viên, giảng viên, khoa, lớp, môn học, lịch học và điểm số với cơ chế phân quyền rõ ràng giữa Admin và Sinh viên. Mặc dù còn một số hạn chế về giao diện và tài liệu do nhóm tác giả lần đầu tiếp cận công nghệ mới, đồ án đã hoàn thành các mục tiêu đề ra và cung cấp tài liệu tham khảo thực tế cho các bài toán phát triển ứng dụng quản lý web cơ bản.