Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển và được ứng dụng sâu rộng vào công tác quản lý giáo dục, việc chuyển đổi từ hình thức lưu trữ hồ sơ giấy sang hệ thống phần mềm là yêu cầu tất yếu nhằm giảm tải áp lực hành chính cho cơ sở đào tạo. Tại Khoa Công nghệ Thông tin thuộc Trường Đại học Công nghệ TP.HCM (HUTECH), mỗi học kỳ có quy mô gần 500 lớp môn học. Thực tế khảo sát cho thấy công tác quản lý điểm và theo dõi sinh viên tại đơn vị còn tồn tại nhiều bất cập:

  • Giảng viên phải mở bảng điểm theo dõi và thống kê toàn bộ kết quả học tập của sinh viên một cách thủ công vào cuối mỗi kỳ học, gây tốn kém thời gian và dễ phát sinh sai sót.
  • Ban lãnh đạo khoa chưa thể theo dõi kịp thời số lượng sinh viên vắng mặt trong từng ca học theo ngày, theo tuần hoặc theo tháng để đưa ra các giải pháp quản lý cụ thể.
  • Việc lưu trữ dữ liệu điểm bằng sổ sách thủ công tiềm ẩn rủi ro thất lạc, thiếu sót thông tin và thiếu tính minh bạch khách quan trong quá trình đánh giá.

Xuất phát từ thực trạng trên, đồ án môn học Công nghệ phần mềm với đề tài "Xây dựng phần mềm quản lý điểm sinh viên" được nhóm tác giả thực hiện nhằm giải quyết 4 nhiệm vụ nghiên cứu và phát triển cụ thể:

  1. Tìm hiểu quy trình quản lý điểm sinh viên thông qua các khảo sát thực trạng tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP.HCM.
  2. Nghiên cứu ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu Microsoft SQL Server trong việc hỗ trợ xây dựng ứng dụng web.
  3. Lập trình xây dựng website tích hợp các tính năng hỗ trợ giảng viên theo đúng quy trình nghiệp vụ và yêu cầu quản lý của khoa.
  4. Đảm bảo website vận hành ổn định, đáp ứng tốt các tác vụ cơ bản và duy trì hiệu suất xử lý khi khối lượng dữ liệu gia tăng.

Về đối tượng và phạm vi nghiên cứu:

  • Đối tượng sử dụng: Giảng viên, giáo viên phụ trách trực tiếp công tác quản lý điểm và theo dõi tình hình học tập của sinh viên/học viên tại các lớp học.
  • Phạm vi không gian: Nghiên cứu và áp dụng thực nghiệm tại Khoa Công nghệ Thông tin – Trường Đại học Công nghệ TP.HCM (HUTECH).
  • Phạm vi thời gian và dữ liệu: Dữ liệu khảo sát và các lớp môn học trong học kỳ năm học 2023.

Cơ sở lý thuyết và công nghệ áp dụng

Đồ án được xây dựng dựa trên mô hình kiến trúc web phân tầng, kết hợp giữa giao diện người dùng (Front-end), khối xử lý nghiệp vụ máy chủ (Back-end) và hệ thống lưu trữ dữ liệu (Database). Các nền tảng công nghệ và lý thuyết được tác giả sử dụng bao gồm:

1. Khung lý thuyết và công nghệ nền tảng

  • Ngôn ngữ lập trình C#: Ngôn ngữ lập trình thuần hướng đối tượng (OOP) do Microsoft phát triển từ năm 2000, vận hành trên nền tảng Common Language Infrastructure (CLI) với môi trường thực thi Common Language Runtime (CLR). C# kế thừa cú pháp từ C++ và Java, hỗ trợ đầy đủ 4 đặc tính OOP (trừu tượng hóa, đóng gói, đa hình, kế thừa) và sử dụng tập hợp từ khóa tinh gọn (khoảng 80 từ khóa).
  • Kiến trúc ASP.NET MVC: Nền tảng ứng dụng web phân chia cấu trúc mã nguồn thành 3 thành phần độc lập: Model (dữ liệu và logic nghiệp vụ), View (giao diện hiển thị), Controller (tiếp nhận và điều phối request). ASP.NET hỗ trợ cơ chế biên dịch các trang động thành tập tin DLL, tích hợp hệ thống xác thực (Authentication) và Master Page.
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MS SQL Server): Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) tiêu chuẩn, hỗ trợ quản lý phân quyền bảo mật và xử lý giao dịch.
  • Công nghệ Front-end (HTML, CSS, JavaScript):
    • HTML: Ngôn ngữ đánh dấu siêu văn bản định dạng cấu trúc các phần tử trang web.
    • CSS: Ngôn ngữ định kiểu được W3C phát triển từ năm 1996, hỗ trợ quản lý giao diện, màu sắc, bố cục và lưu trữ bộ nhớ cache trên trình duyệt.
    • JavaScript: Ngôn ngữ kịch bản phía client hỗ trợ xử lý tương tác giao diện người dùng, kiểm tra dữ liệu đầu vào (Input) trước khi gửi về máy chủ và tương tác với các đối tượng lưu trữ cục bộ (sessionStorage, localStorage).
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio (phiên bản hỗ trợ VS 2015 và các bản cập nhật), cung cấp công cụ soạn thảo mã nguồn IntelliSense, thiết kế giao diện trực quan và công cụ gỡ lỗi (Debug).

2. Tổng hợp ưu điểm và hạn chế của các công nghệ theo phân tích của tác giả

Công nghệ Ưu điểm ghi nhận trong đồ án Hạn chế ghi nhận trong đồ án
C# & .NET Cấu trúc gần gũi, hướng đối tượng hoàn chỉnh, hỗ trợ thư viện .NET phong phú, khả năng tương thích cao trên Windows. Khả năng biên dịch và vận hành tối ưu chủ yếu trên môi trường hệ điều hành Windows.
ASP.NET MVC Kiến trúc nhẹ, dễ kiểm thử, tự động sinh mã HTML cho Server Control, biên dịch DLL cho hiệu năng xử lý cao. Khó khăn khi triển khai trên hệ điều hành Linux; phụ thuộc nhiều vào môi trường Visual Studio.
MS SQL Server Cho phép cài đặt nhiều phiên bản trên cùng máy, phân quyền bảo mật độc lập, duy trì môi trường phát triển và thử nghiệm riêng biệt. Chỉ chạy trên hệ điều hành Windows; yêu cầu chi phí bản quyền (license) khi mở rộng nhiều cơ sở dữ liệu.
JavaScript Dễ tiếp cận, tương thích đa trình duyệt, phản hồi giao diện tức thì, giảm tải lưu lượng xử lý cho máy chủ qua xác nhận dữ liệu đầu vào. Chỉ thực thi trên trình duyệt, dễ bị can thiệp mã độc, cách thức hiển thị có thể không đồng nhất giữa các thiết bị.
CSS & HTML Tách biệt nội dung và định dạng, tối ưu băng thông qua cache trình duyệt, mã nguồn mở, cộng đồng hỗ trợ lớn. CSS hiển thị không đồng nhất trên các trình duyệt cũ; việc căn chỉnh vị trí dọc (vertical) phức tạp; HTML thuần thiếu tính năng động.
Visual Studio Hỗ trợ đa ngôn ngữ, công cụ debug trực quan từng dòng lệnh, thiết kế giao diện kéo thả thuận tiện cho người lập trình. Chiếm dung lượng ổ cứng lớn, yêu cầu cấu hình phần cứng cao, tiêu tốn nhiều bộ nhớ RAM khi vận hành.

Thiết kế và triển khai hệ thống

1. Yêu cầu thiết kế giao diện và phi chức năng

Hệ thống được thiết kế hướng đến sự đơn giản, bố cục gọn gàng, hỗ trợ hiển thị thông tin rõ ràng cho giảng viên. Tiêu chuẩn kiểu chữ tuân thủ các font Unicode chuẩn gồm Arial, Verdana, Tahoma và Times New Roman. Các biểu mẫu (form) nhập liệu được thiết kế tối giản, hỗ trợ thao tác nhanh cho người dùng trên diện rộng.

2. Mô hình dữ liệu và danh sách thực thể

Cơ sở dữ liệu của phần mềm được mô hình hóa qua sơ đồ quan hệ thực thể (ERD) với hai thực thể trọng tâm:

  • Thực thể Student (Sinh viên): Lưu trữ hồ sơ học tập của sinh viên, bao gồm các trường dữ liệu:
    • Mã sinh viên (MSSV): Khóa định danh duy nhất của từng sinh viên.
    • Họ tên: Họ và tên đầy đủ của sinh viên.
    • Khoa: Thông tin khoa/đơn vị quản lý sinh viên.
    • Điểm trung bình: Kết quả điểm trung bình tích lũy của sinh viên.
  • Thực thể Faculty (Khoa): Lưu trữ danh mục các khoa và môn học trong học kỳ:
    • Mã khoa: Khóa định danh khoa.
    • Tên khoa: Tên gọi đầy đủ của khoa chuyên môn.

3. Đặc tả luồng nghiệp vụ các chức năng chính (Use-case)

  • Chức năng Tìm kiếm sinh viên: Giảng viên nhập Mã số sinh viên (MSSV) vào thanh công cụ tìm kiếm. Hệ thống tiếp nhận yêu cầu, truy xuất cơ sở dữ liệu để đối soát. Nếu không tìm thấy, hệ thống hiển thị thông báo lỗi và yêu cầu nhập lại MSSV; nếu tìm thấy, hệ thống trả về biểu mẫu chứa toàn bộ thông tin chi tiết của sinh viên.
  • Chức năng Cập nhật/Sửa điểm: Giảng viên chọn xem bảng điểm và chọn chức năng cập nhật. Hệ thống kích hoạt biểu mẫu đăng nhập phân quyền yêu cầu nhập mật khẩu (password). Sau khi mật khẩu được xác thực chính xác, hệ thống hiển thị danh sách điểm cho phép chỉnh sửa. Giảng viên thực hiện thay đổi và nhấn xác nhận, hệ thống sẽ lưu dữ liệu vào cơ sở dữ liệu và thông báo cập nhật thành công.
  • Chức năng Xóa sinh viên: Giảng viên tìm kiếm sinh viên cần xóa thông qua MSSV. Hệ thống truy xuất và hiển thị thông tin để xác nhận. Khi người dùng chọn lệnh xóa, hệ thống gửi hộp thoại xác nhận; nếu chọn đồng ý, hệ thống xóa bản ghi trong cơ sở dữ liệu và hiển thị thông báo thành công.
  • Chức năng Sắp xếp điểm: Giảng viên chọn xem danh sách điểm và lựa chọn tiêu chí sắp xếp theo điểm trung bình (tăng dần hoặc giảm dần). Hệ thống gửi thông báo xác nhận thao tác, sau khi người dùng đồng ý, hệ thống thực hiện sắp xếp lại thứ tự trong cơ sở dữ liệu và hiển thị bảng điểm mới ra màn hình.
  • Chức năng Thêm sinh viên: Giảng viên mở biểu mẫu thêm mới, điền các thông tin (Mã sinh viên, Họ tên, Khoa, Điểm trung bình). Hệ thống thực hiện kiểm tra tính hợp lệ của dữ liệu đầu vào (validation). Nếu dữ liệu sai định dạng, hệ thống trả về thông báo lỗi; nếu hợp lệ, hệ thống ghi dữ liệu vào cơ sở dữ liệu và thông báo thêm thành công.
  • Chức năng Thêm điểm: Cho phép giảng viên nhập bổ sung cột điểm môn học hoặc điểm quá trình cho sinh viên vào danh sách điểm lớp học.

Nội dung chính theo từng chương

Chương 1. Khảo sát thực trạng và xác định yêu cầu

Chương 1 trình bày tổng quan về lịch sử phát triển của công nghệ thông tin từ các mốc ra đời của máy tính ENIAC (1945), máy tính cá nhân IBM (1981) đến kỷ nguyên mạng Internet toàn cầu. Trọng tâm của chương đi sâu vào khảo sát thực trạng công tác quản lý điểm tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP.HCM với quy mô gần 500 lớp học mỗi kỳ. Tác giả chỉ ra các hạn chế trong việc quản lý điểm thủ công, tình trạng lãnh đạo khoa không nắm được sĩ số vắng mặt theo ca học, và sự cần thiết phải xây dựng một ứng dụng web quản lý điểm. Đồng thời, chương 1 xác định rõ mục tiêu, 4 nhiệm vụ của đồ án, đối tượng áp dụng là giảng viên và phạm vi nghiên cứu tại cơ sở đào tạo.

Chương 2. Cơ sở lý thuyết và mô hình hóa hệ thống

Chương 2 tập trung phân tích các nền tảng công nghệ được lựa chọn để xây dựng website bao gồm ngôn ngữ C#, framework ASP.NET MVC, hệ quản trị cơ sở dữ liệu MS SQL Server, ngôn ngữ kịch bản JavaScript, HTML, CSS và IDE Visual Studio. Tác giả phân tích chi tiết ưu điểm và nhược điểm kỹ thuật của từng công nghệ. Phần tiếp theo của chương trình bày việc xác định yêu cầu hệ thống, bao gồm yêu cầu giao diện (chuẩn font Arial, Verdana, Tahoma, Times New Roman) và yêu cầu chức năng của giảng viên. Chương này cũng trình bày hệ thống sơ đồ Use-case, mô hình thực thể ERD (Student, Faculty), các bảng cấu trúc dữ liệu và đặc tả luồng xử lý chi tiết cho 6 chức năng nghiệp vụ cốt lõi.

Chương 3. Kết quả thực nghiệm

Chương 3 công bố kết quả hiện thực hóa phần mềm thông qua hệ thống các màn hình giao diện thực tế được xây dựng và kiểm thử:

  • Giao diện thêm mới sinh viên (màn hình nhập liệu và màn hình thông báo đã thêm mới thành công).
  • Giao diện tra cứu thông tin sinh viên theo mã số và màn hình trả về kết quả tìm kiếm.
  • Giao diện thay đổi thông tin hồ sơ sinh viên.
  • Giao diện sắp xếp danh sách điểm theo điểm trung bình tăng dần và giảm dần.
  • Giao diện đăng nhập xác thực quyền sửa điểm và màn hình thao tác chỉnh sửa bảng điểm.
  • Giao diện xóa sinh viên khỏi danh sách lớp.
  • Giao diện nhập thêm điểm cho sinh viên.

Chương này cũng xác định rõ hai thành phần kiến trúc đã hoàn thiện là thành phần chức năng (các nút thao tác giao diện) và thành phần xử lý (kết nối và thực thi câu lệnh cơ sở dữ liệu).

Chương 4. Đánh giá kết quả và hướng phát triển

Chương 4 tổng kết các kết quả đã đạt được, chỉ ra những điểm còn tồn tại và đề xuất định hướng hoàn thiện phần mềm trong tương lai. Tác giả tự đánh giá mức độ hoàn thành dựa trên các yêu cầu nghiệp vụ đặt ra ban đầu và xác định phạm vi cần mở rộng khi tiếp cận các công nghệ mới.


Kết quả và đóng góp

1. Kết quả kỹ thuật đạt được

Đồ án đã xây dựng hoàn chỉnh phần mềm quản lý điểm sinh viên chạy trên môi trường web với các kết quả cụ thể:

  • Thiết lập thành công giao diện làm việc chuyên biệt dành cho giảng viên.
  • Tích hợp cơ chế xác thực phân quyền thông qua mã giảng viên và mật khẩu khi thực hiện các tác vụ can thiệp điểm số.
  • Hoàn thiện đầy đủ các chức năng nghiệp vụ cơ bản: thêm mới sinh viên, sửa đổi thông tin sinh viên, xóa sinh viên, tìm kiếm thông tin theo MSSV, thêm điểm, sửa điểm và sắp xếp điểm trung bình theo thứ tự tăng/giảm.
  • Thiết lập liên kết dữ liệu ổn định giữa giao diện ASP.NET MVC và hệ quản trị cơ sở dữ liệu MS SQL Server.

2. Đóng góp thực tiễn của đồ án

  • Cung cấp giải pháp số hóa thay thế quy trình quản lý và thống kê điểm thủ công trên sổ sách giấy tờ, giúp giảm thiểu thời gian xử lý bảng điểm cuối kỳ cho giảng viên tại Khoa Công nghệ Thông tin - HUTECH.
  • Hỗ trợ chuẩn hóa cấu trúc dữ liệu quản lý sinh viên và điểm số thông qua mô hình cơ sở dữ liệu quan hệ chặt chẽ (Student và Faculty).
  • Nâng cao tính chính xác và khách quan trong công tác quản lý điểm, hạn chế tối đa tình trạng thất lạc hoặc sai lệch thông tin điểm số của sinh viên.

3. Phân công nhiệm vụ thực hiện trong nhóm tác giả

STT Thành viên thực hiện Mã số sinh viên Lớp Nhiệm vụ đảm nhiệm trong đồ án
1 Đặng Văn Đạt 2180607411 21DTHD4 Phụ trách viết và tổng hợp Báo cáo đồ án
2 Nguyễn Nhân Quỳnh Như 2180608719 21DTHD4 Phụ trách xây dựng và thực hiện Demo phần mềm
3 Lương Thiện Hưng 2180607587 21DTHD4 Phụ trách Thiết kế và vẽ sơ đồ mô hình (Use-case, ERD)
4 Nguyễn Hoàng Chương 2180607334 21DTHD4 Phụ trách Định dạng và soạn thảo văn bản Word
5 Huỳnh Mỹ Nhật Mai 2180607724 21DTHD4 Phụ trách Thiết kế bài trình chiếu PowerPoint (PPT)

Hạn chế và hướng nghiên cứu tiếp

1. Các hạn chế chưa giải quyết được

Dựa trên đánh giá thực tế của nhóm tác giả tại Chương 4, hệ thống vẫn còn tồn tại một số hạn chế kỹ thuật:

  • Chưa hỗ trợ thêm danh sách sinh viên hàng loạt: Hệ thống mới chỉ cho phép thêm từng sinh viên một thông qua biểu mẫu nhập liệu thủ công, chưa có tính năng import hàng loạt từ các tệp dữ liệu ngoại vi (như Excel/CSV).
  • Chưa có tính năng lọc danh sách sinh viên: Phần mềm chưa tích hợp bộ lọc nâng cao theo lớp, theo khoa hoặc theo các tiêu chí phân loại kết quả học tập cụ thể.
  • Chưa hỗ trợ xóa nhiều người dùng cùng lúc: Thao tác xóa sinh viên hiện chỉ thực hiện đơn lẻ từng bản ghi, gây bất tiện khi cần dọn dẹp hoặc cập nhật dữ liệu quy mô lớn.

2. Hướng phát triển trong tương lai

Nhóm tác giả định hướng tiếp tục hoàn thiện và nâng cấp phần mềm theo các nội dung sau:

  • Tối ưu hóa công cụ tìm kiếm giúp việc truy xuất thông tin sinh viên trở nên nhanh chóng, linh hoạt và hỗ trợ nhiều tiêu chí tìm kiếm hơn.
  • Hoàn thiện toàn diện phân hệ quản lý điểm, bổ sung đầy đủ các công thức tính điểm thành phần, điểm tích lũy và xuất báo cáo tự động.
  • Cải thiện tốc độ xử lý mã nguồn (code performance) và nâng cao tính năng bảo mật dữ liệu cho hệ thống website.
  • Nghiên cứu và tích hợp các công nghệ mới nhằm mở rộng phạm vi ứng dụng của website trong môi trường quản lý giáo dục thực tế.

Giá trị tham khảo

Báo cáo đồ án mang lại giá trị tham khảo thiết thực cho các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Tài liệu cung cấp mẫu tham khảo chuẩn về cấu trúc báo cáo đồ án môn học Công nghệ phần mềm, cách thức trình bày các mục tiêu, cơ sở lý thuyết và quy trình kiểm thử giao diện thực nghiệm.
  • Người học và lập trình viên ứng dụng web ASP.NET MVC / C#: Cung cấp tài liệu tham khảo về phương pháp phân tích yêu cầu nghiệp vụ, cách thức xây dựng sơ đồ phân rã chức năng (Use-case), thiết kế sơ đồ quan hệ thực thể (ERD) và phân tích ưu - nhược điểm của các công nghệ Microsoft (.NET, MS SQL Server, Visual Studio).
  • Các phần nội dung đáng tham khảo nhất trong văn bản:
    • Bảng đặc tả luồng xử lý chi tiết của từng chức năng (tìm kiếm, sửa điểm, xóa, thêm mới, sắp xếp) trong Chương 2.
    • Cấu trúc các thực thể dữ liệu Student và Faculty.
    • Bộ tổng hợp phân tích kỹ thuật về ưu/nhược điểm của các công nghệ lập trình web căn bản (C#, ASP.NET, MS SQL Server, JavaScript, CSS, HTML).

Câu hỏi thường gặp

1. Đồ án khảo sát thực trạng quản lý điểm tại đơn vị nào và số lượng lớp học mỗi kỳ là bao nhiêu?
Đồ án tiến hành khảo sát thực trạng quản lý điểm tại Khoa Công nghệ Thông tin thuộc Trường Đại học Công nghệ TP.HCM (HUTECH), nơi có quy mô gần 500 lớp môn học trong mỗi học kỳ.

2. Hệ thống sử dụng những công nghệ và ngôn ngữ nào để phát triển Back-end và Front-end?
Hệ thống sử dụng ngôn ngữ C# và framework ASP.NET MVC trên môi trường Microsoft Visual Studio để xử lý Back-end; sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server; phía Front-end sử dụng kết hợp HTML, CSS và ngôn ngữ kịch bản JavaScript.

3. Cơ sở dữ liệu của hệ thống quản lý các thực thể nào và gồm những trường thông tin gì?
Cơ sở dữ liệu gồm hai thực thể chính: thực thể Student (chứa các trường: Mã sinh viên, Họ tên, Khoa, Điểm trung bình) và thực thể Faculty (chứa các trường: Mã khoa, Tên khoa).

4. Quy trình bảo mật khi giảng viên thực hiện sửa điểm sinh viên diễn ra như thế nào?
Khi giảng viên chọn chức năng cập nhật điểm, hệ thống kích hoạt biểu mẫu đăng nhập phân quyền và yêu cầu nhập mật khẩu. Hệ thống tiến hành xác thực mật khẩu; nếu đúng, hệ thống mới cho phép truy cập cơ sở dữ liệu để sửa điểm và lưu thay đổi vào cơ sở dữ liệu.

5. Những tính năng nào nhóm tác giả xác định là chưa giải quyết được trong phạm vi đồ án?
Các tính năng chưa giải quyết được gồm có: tính năng thêm danh sách sinh viên (hàng loạt), tính năng lọc danh sách sinh viên theo tiêu chí, và tính năng xóa nhiều người dùng cùng một lúc.


Kết luận

Đồ án môn học Công nghệ phần mềm "Xây dựng phần mềm quản lý điểm sinh viên" của nhóm sinh viên Trường Đại học Công nghệ TP.HCM đã giải quyết bài toán số hóa quy trình quản lý điểm cho giảng viên Khoa Công nghệ Thông tin. Dựa trên nền tảng ASP.NET MVC, C# và Microsoft SQL Server, nhóm tác giả đã thiết kế và triển khai thành công các chức năng cốt lõi như tra cứu, sửa điểm có xác thực, thêm mới, xóa và sắp xếp điểm sinh viên. Mặc dù vẫn còn một số hạn chế về tính năng xử lý dữ liệu hàng loạt và bộ lọc nâng cao, đồ án đã hoàn thành các nhiệm vụ nghiên cứu và thực nghiệm đề ra ban đầu, tạo tiền đề cho các hướng phát triển và tối ưu hóa hệ thống trong tương lai.