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

Trong bối cảnh tiến bộ khoa học công nghệ và viễn thông được ứng dụng mạnh mẽ vào giáo dục - đào tạo, việc chuyển đổi từ các phương thức quản lý thủ công trên giấy tờ sang các phần mềm chuyên dụng là yêu cầu thực tiễn nhằm nâng cao tốc độ xử lý, giảm thiểu công sức và đảm bảo độ chính xác của dữ liệu. Đối với các đơn vị đào tạo như trung tâm tin học, khối lượng công việc liên quan đến ghi danh, theo dõi thông tin học viên, quản lý giảng viên, điều phối lớp học và khóa học đòi hỏi phải có một công cụ tin học hóa mang tính hệ thống.

Báo cáo chuyên đề học phần "Đồ án Lập trình .NET" với đề tài "Phân tích và thiết kế hệ thống quản lý học viên trung tâm tin học" do nhóm sinh viên Trương Văn Hưng, Ngô Văn Hiển và Nguyễn Văn Hạnh thực hiện dưới sự hướng dẫn của giảng viên Đặng Trần Đức tại Khoa Công nghệ Thông tin, Trường Đại học Điện lực (tháng 12/2021).

Văn bản đặt ra các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  1. Tổng hợp cơ sở lý thuyết về ngôn ngữ lập trình C#, nền tảng phát triển ứng dụng giao diện đồ họa Windows Forms trên .NET Framework và hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server.
  2. Khảo sát nghiệp vụ, mô tả bài toán quản trị thông tin học viên, nhân sự và khóa học tại trung tâm tin học.
  3. Xác định các tác nhân (Actor) và ca sử dụng (Use case) tổng quát; xây dựng ma trận phân quyền người dùng trong hệ thống.
  4. Lập đặc tả ca sử dụng chi tiết, xây dựng hệ thống biểu đồ phân tích UML bao gồm Biểu đồ ca sử dụng (Use Case Diagram), Biểu đồ hoạt động (Activity Diagram) và Biểu đồ trình tự (Sequence Diagram) cho từng chức năng.
  5. Thiết kế giao diện người dùng (GUI) và mô hình cơ sở dữ liệu lưu trữ (bảng dữ liệu quan hệ).

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

  • Đối tượng nghiên cứu: Quy trình phân tích, thiết kế phần mềm và cấu trúc dữ liệu phục vụ công tác quản lý đào tạo (học viên, giảng viên, nhân viên, lớp học, khóa học).
  • Phạm vi không gian: Áp dụng cho mô hình trung tâm tin học, thực hiện trong khuôn khổ học phần chuyên ngành Công nghệ phần mềm tại Trường Đại học Điện lực (Hà Nội).
  • Phạm vi thời gian: Báo cáo được hoàn thành vào tháng 12 năm 2021 (thuộc khóa đào tạo 2019–2024).
  • Ghi nhận về mặt văn bản: Trong phần đặt vấn đề của tài liệu có sự không đồng nhất cục bộ giữa phần lời cảm ơn (nhắc tới lập trình Web/ASP.NET), phần mô tả thực trạng (trích dẫn bài toán quản lý sinh viên nội trú ký túc xá Đại học Điện lực quy mô 20.000 sinh viên và khu nội trú 1.000 chỗ ở) với toàn bộ nội dung phân tích chi tiết xuyên suốt báo cáo là hệ thống quản lý trung tâm tin học trên Windows Forms.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ

Báo cáo dựa trên nền tảng kỹ thuật phần mềm hướng đối tượng và công nghệ phát triển ứng dụng của Microsoft:

  • Ngôn ngữ lập trình C#: Ngôn ngữ hướng đối tượng hiện đại được phát triển từ năm 2000, kế thừa nền tảng của C++ và Java, loại bỏ các yếu tố phức tạp như macro hay đa kế thừa trực tiếp. C# hỗ trợ 4 đặc tính cơ bản của lập trình hướng đối tượng (OOP): tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance). Cơ chế thực thi dựa trên việc biên dịch mã nguồn thành mã trung gian MSIL (Microsoft Intermediate Language) trước khi Common Language Runtime (CLR) chuyển đổi thành mã máy thực thi (native code).
  • Nền tảng Windows Forms (WinForms): Framework xây dựng giao diện đồ họa người dùng (GUI) trên hệ điều hành Windows, hoạt động dựa trên mô hình điều khiển sự kiện (event-driven) với các thành phần giao diện kéo - thả, hỗ trợ liên kết dữ liệu trực quan qua TextBox, MessageBox và DataGridView kết nối cơ sở dữ liệu.
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server: Hệ quản trị CSDL quan hệ (RDBMS) sử dụng ngôn ngữ Transact-SQL (T-SQL). Báo cáo phân tích cấu trúc kiến trúc của SQL Server bao gồm hai thành phần nền tảng là Database Engine và SQLOS, cùng các dịch vụ mở rộng: Integration Services (SSIS - chuyển đổi, sao chép dữ liệu), Analysis Services (SSAS - khai thác dữ liệu và khối đa chiều), Notification Services (gửi thông báo), Reporting Services (SSRS - tạo báo cáo), Full Text Search Service (tìm kiếm văn bản không cấu trúc) và Service Broker (môi trường lập trình truyền thông điệp).
  • Ngôn ngữ mô hình hóa UML: Công cụ chuẩn hóa việc phân tích và thiết kế phần mềm, sử dụng các biểu đồ ca sử dụng, biểu đồ hoạt động và biểu đồ trình tự để mô tả luồng dữ liệu, hành vi và sự tương tác giữa các đối tượng.

Phương pháp nghiên cứu

  • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD): Trích xuất các thực thể nghiệp vụ, chuẩn hóa thành các lớp đối tượng và ca sử dụng.
  • Phương pháp mô hình hóa trực quan: Xây dựng 3 dạng biểu đồ UML (Use case, Activity, Sequence) cho 6 phân hệ chức năng.
  • Phương pháp thiết kế giao diện và dữ liệu quan hệ: Ánh xạ các trường thông tin quản lý thành các bảng lưu trữ vật lý trong SQL Server và các form nhập liệu tương ứng trên giao diện WinForms.

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

Phân quyền người dùng và ca sử dụng tổng quát

Hệ thống được thiết kế với cơ cấu tổ chức tập trung vào quyền quản trị (Admin/Nhân viên) và người dùng ngoài (Khách). Ma trận phân quyền được xác định trong tài liệu như sau:

Chức năng hệ thống Quyền Quản trị (Admin) Quyền Khách
Xem Dashboard Có Không
Thêm / Sửa / Xóa người dùng Có Không
Xem cây thư mục Có Không
Xem danh sách học viên Có Không
Thêm / Sửa / Xóa học viên Có Không
Thêm / Sửa / Xóa giảng viên Có Không
Xem danh sách khóa học Có Có
Chỉnh sửa khóa học Có Không

Đặc tả kỹ thuật 6 phân hệ chức năng

Báo cáo xây dựng đặc tả chi tiết kèm theo 3 loại biểu đồ (Use Case, Biểu đồ hoạt động, Biểu đồ trình tự) cho từng phân hệ:

  1. Chức năng Đăng nhập:
    • Tác nhân: Người dùng hệ thống.
    • Điều kiện: Người dùng chưa đăng nhập hoặc vừa đăng xuất; đã có tài khoản trên hệ thống.
    • Luồng sự kiện: Hệ thống hiển thị form đăng nhập $\rightarrow$ Người dùng nhập Username và Password $\rightarrow$ Hệ thống kiểm tra xác thực $\rightarrow$ Chuyển hướng vào trang Dashboard điều khiển.
    • Xử lý ngoại lệ: Nhập sai thông tin sẽ hiển thị cảnh báo và yêu cầu nhập lại; trường hợp chọn "Quên mật khẩu", hệ thống thực hiện chuyển tiếp xử lý.
  2. Chức năng Quản lý học viên:
    • Tác nhân: Nhân viên / Admin.
    • Nghiệp vụ thực hiện: Thêm mới học viên, Sửa thông tin (họ tên, mã học viên, số điện thoại...), Xóa học viên.
    • Luồng xử lý chung: Bật popup QLHV $\rightarrow$ Nhập/chọn thông tin $\rightarrow$ Kiểm tra tính hợp lệ của dữ liệu $\rightarrow$ Cập nhật vào cơ sở dữ liệu $\rightarrow$ Tải lại danh sách hiển thị trên DataGridView.
  3. Chức năng Quản lý giảng viên:
    • Tác nhân: Nhân viên / Admin.
    • Nghiệp vụ thực hiện: Thêm giảng viên, Sửa thông tin giảng viên (mã giảng viên, họ tên, số điện thoại...), Xóa giảng viên.
    • Quy trình: Kích hoạt giao diện qua nút QLGV, kiểm tra tính toàn vẹn dữ liệu trước khi thực hiện ghi nhận vào CSDL.
  4. Chức năng Quản lý nhân viên:
    • Tác nhân: Quản trị viên.
    • Nghiệp vụ thực hiện: Thêm nhân viên, Sửa thông tin nhân viên (mã nhân viên, họ tên, tài khoản đăng nhập, mật khẩu), Xóa tài khoản nhân viên.
    • Quy trình: Kích hoạt qua nút QLNV, phân phối và cập nhật thông tin tài khoản bảo mật.
  5. Chức năng Quản lý khóa học:
    • Tác nhân: Nhân viên / Admin.
    • Nghiệp vụ thực hiện: Thêm khóa học mới, Sửa thông tin khóa học (mã khóa học, tên khóa học, số buổi học...), Xóa khóa học khỏi hệ thống qua nút QLKH.
  6. Chức năng Quản lý lớp học:
    • Tác nhân: Nhân viên / Admin.
    • Nghiệp vụ thực hiện: Thêm lớp học, Sửa thông tin lớp học (mã lớp học, tên lớp học, giá/học phí...), Xóa lớp học qua nút QLLH.

Thiết kế lưu trữ (Cơ sở dữ liệu)

Hệ thống thiết kế 6 bảng dữ liệu quan hệ trong SQL Server phục vụ việc lưu trữ thông tin:

  • Bảng học viên: Lưu trữ mã học viên, họ tên, số điện thoại và các trường thông tin cá nhân.
  • Bảng giảng viên: Lưu trữ mã giảng viên, họ tên, số điện thoại, thông tin liên hệ.
  • Bảng lớp học: Lưu trữ mã lớp học, tên lớp học, thông tin học phí/giá.
  • Bảng lịch học: Quản lý thời gian, phòng học và lịch trình đào tạo.
  • Bảng khóa học: Lưu trữ mã khóa học, tên khóa học, tổng số buổi học.
  • Bảng nhân viên: Lưu trữ mã nhân viên, họ tên, tên tài khoản đăng nhập và mật khẩu hệ thống.

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

Chương 1 : Tổng quan và mô tả hệ thống

Chương này tập trung trình bày cơ sở lý thuyết công nghệ và bài toán nghiệp vụ:

  • Giới thiệu ngôn ngữ C#, kiến trúc .NET Framework, quy trình biên dịch qua MSIL và vai trò của CLR. Phân tích ưu điểm của Windows Forms (giao diện kéo thả trực quan, gắn sự kiện nhanh chóng, dễ tích hợp với CSDL, phù hợp cho phần mềm quản lý vừa và nhỏ) cùng nhược điểm (phụ thuộc môi trường desktop Windows, đồ họa không đa dạng bằng nền tảng web).
  • Trình bày kiến trúc hệ quản trị SQL Server, Database Engine, ngôn ngữ T-SQL và các dịch vụ bổ trợ phân tích, báo cáo.
  • Nêu bài toán ứng dụng công nghệ thông tin vào quản lý trung tâm tin học nhằm tự động hóa các khâu lưu trữ hồ sơ, ghi danh và tra cứu thông tin.

Chương 2 : Phân tích thiết kế hệ thống

Chương 2 là phần trọng tâm của báo cáo, mô hình hóa toàn bộ các hoạt động nghiệp vụ:

  • Xác định Actor (Admin, Khách) và xây dựng biểu đồ Use Case tổng thể cùng bảng ma trận phân quyền chi tiết.
  • Trình bày đặc tả use case, vẽ biểu đồ Use Case riêng biệt, Biểu đồ hoạt động (Activity Diagram) và Biểu đồ trình tự (Sequence Diagram) cho từng thao tác:
    • Phân hệ Đăng nhập: Luồng kiểm tra mật khẩu, ngoại lệ sai thông tin và quên mật khẩu.
    • Phân hệ Quản lý học viên: Luồng thêm, sửa thông tin cá nhân, xóa học viên và tự động nạp lại danh sách.
    • Phân hệ Quản lý giảng viên: Quy trình cập nhật thông tin giảng viên và mã giảng viên.
    • Phân hệ Quản lý nhân viên: Quy trình quản trị tài khoản, phân quyền mật khẩu.
    • Phân hệ Quản lý khóa học: Quy trình cập nhật mã khóa học và số buổi học.
    • Phân hệ Quản lý lớp học: Quy trình điều chỉnh danh sách lớp học và mức học phí.

Chương 4 : Thiết kế

Chương này hoàn thiện thiết kế vật lý và giao diện tương tác của phần mềm:

  • Thiết kế giao diện: Thiết kế các màn hình đồ họa bao gồm: Giao diện Đăng nhập, Giao diện Quản lý tổng thể (Dashboard), Giao diện Quản lý học viên, Giao diện Quản lý giảng viên, Giao diện Quản lý lớp học, Giao diện Quản lý khóa học, Giao diện Quản lý nhân viên.
  • Thiết kế lưu trữ: Thiết kế chi tiết cấu trúc 6 bảng dữ liệu quan hệ trong Microsoft SQL Server (Bảng học viên, Bảng giảng viên, Bảng lớp học, Bảng lịch học, Bảng khóa học, Bảng nhân viên).

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

Kết quả chính

  • Hoàn thành đầy đủ bộ tài liệu phân tích thiết kế hệ thống theo chuẩn UML cho một ứng dụng quản lý trung tâm tin học.
  • Xây dựng chi tiết 6 bộ hồ sơ đặc tả chức năng bao gồm 6 biểu đồ ca sử dụng thành phần, 16 biểu đồ hoạt động và 16 biểu đồ trình tự mô tả chính xác các hành vi thêm, sửa, xóa dữ liệu.
  • Thiết kế hoàn chỉnh 7 mẫu giao diện người dùng trên nền Windows Forms và cấu trúc 6 bảng cơ sở dữ liệu quan hệ trên Microsoft SQL Server.

Đóng góp của đề tài

  • Đề tài đóng góp một giải pháp tin học hóa quy trình quản lý cho các trung tâm tin học vừa và nhỏ, thay thế phương pháp ghi chép sổ sách thủ công.
  • Cung cấp tài liệu tham khảo hoàn chỉnh về phương pháp luận phân tích thiết kế hệ thống thông tin bằng UML kết hợp với công nghệ lập trình C# .NET WinForms và SQL Server trong chương trình đào tạo chuyên ngành Công nghệ phần mềm.

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

Hạn chế được ghi nhận từ văn bản

  • Tính nhất quán của văn bản: Tài liệu xuất hiện sự sai lệch giữa tiêu đề môn học ("Đồ án Lập trình .NET" ở trang bìa nhưng ghi "Đồ án Lập trình Web nâng cao" ở lời cảm ơn) và phần mô tả bài toán (đoạn văn bản mô tả ký túc xá Đại học Điện lực bị đưa nhầm vào bài toán quản lý trung tâm tin học).
  • Phạm vi nền tảng: Ứng dụng xây dựng trên Windows Forms chạy cục bộ (Desktop), chỉ hoạt động trên hệ điều hành Windows, chưa hỗ trợ truy cập từ xa qua trình duyệt hay thiết bị di động.
  • Mức độ kiểm thử và đánh giá: Báo cáo chưa trình bày các kịch bản kiểm thử phần mềm (Unit Test, Integration Test), chưa có số liệu đo lường hiệu năng hoặc mức độ bảo mật dữ liệu ngoài các luồng ngoại lệ cơ bản.

Hướng phát triển

  • Chuẩn hóa toàn diện mã nguồn và tích hợp các gói giao diện hiện đại (như Telerik UI hoặc DevExpress) để cải thiện trải nghiệm người dùng.
  • Mở rộng hệ thống thành ứng dụng web đa nền tảng sử dụng ASP.NET Core hoặc kiến trúc Web API kết hợp cơ sở dữ liệu phân tán để phục vụ quản lý trực tuyến từ xa.

Giá trị tham khảo

Báo cáo là tài liệu tham khảo học thuật phù hợp cho:

  • Sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm và Hệ thống thông tin: Tham khảo cấu trúc trình bày đồ án chuyên đề, phương pháp phân tích yêu cầu phần mềm, kỹ thuật vẽ biểu đồ UML (Use Case, Activity, Sequence) và quy trình thiết kế cơ sở dữ liệu quan hệ cho các bài toán quản lý thông tin.
  • Người học lập trình C# và .NET Framework: Nắm bắt cách tổ chức kiến trúc ứng dụng Windows Forms kết nối cơ sở dữ liệu SQL Server, các nguyên tắc xây dựng giao diện CRUD cơ bản.

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

1. Đồ án sử dụng những công nghệ và công cụ nào để thiết kế và xây dựng hệ thống?
Hệ thống sử dụng ngôn ngữ lập trình C# hướng đối tượng trên nền tảng .NET Framework (Windows Forms) cho giao diện người dùng, hệ quản trị cơ sở dữ liệu Microsoft SQL Server để lưu trữ dữ liệu quan hệ, và chuẩn mô hình hóa UML để phân tích thiết kế.

2. Hệ thống quản lý học viên trung tâm tin học gồm những phân hệ chức năng chính nào?
Hệ thống gồm 6 phân hệ chức năng chính: Đăng nhập hệ thống, Quản lý học viên, Quản lý giảng viên, Quản lý nhân viên, Quản lý khóa học và Quản lý lớp học. Mỗi phân hệ quản lý đều hỗ trợ đầy đủ các thao tác Thêm, Sửa và Xóa.

3. Cơ cấu người dùng và phân quyền trong hệ thống được quy định như thế nào?
Hệ thống phân định hai nhóm tác nhân: Quyền Quản trị/Nhân viên (Admin) có toàn quyền truy cập Dashboard, xem cây thư mục, quản trị người dùng và thực hiện mọi thao tác CRUD đối với học viên, giảng viên, nhân viên, khóa học, lớp học; Quyền Khách chỉ có quyền xem danh sách khóa học công khai.

4. Cơ sở dữ liệu của phần mềm được tổ chức thành những bảng nào?
Cơ sở dữ liệu bao gồm 6 bảng: Bảng học viên, Bảng giảng viên, Bảng lớp học, Bảng lịch học, Bảng khóa học và Bảng nhân viên.

5. Điểm không nhất quán nào xuất hiện trong nội dung văn bản của báo cáo?
Báo cáo có sự không nhất quán giữa tiêu đề chuyên đề học phần .NET với phần Lời cảm ơn (nhắc đến Web ASP.NET) và phần Mô tả bài toán (đưa thông tin về quản lý khu nội trú sinh viên ký túc xá Đại học Điện lực vào đề tài quản lý trung tâm tin học).


Kết luận

Báo cáo chuyên đề "Phân tích và thiết kế hệ thống quản lý học viên trung tâm tin học" của nhóm sinh viên Trường Đại học Điện lực đã hoàn thành các mục tiêu mô hình hóa nghiệp vụ và thiết kế kỹ thuật cho một ứng dụng quản lý đào tạo trên nền tảng C# WinForms và SQL Server. Toàn bộ các quy trình nghiệp vụ cốt lõi từ quản lý học viên, nhân sự đến khóa học và lớp học đều được biểu diễn chi tiết qua hệ thống biểu đồ UML và thiết kế bảng dữ liệu. Tài liệu là tài nguyên học thuật hữu ích cho sinh viên chuyên ngành Công nghệ phần mềm trong việc rèn luyện kỹ năng phân tích thiết kế hệ thống thông tin hướng đối tượng.