Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh chuyển đổi số và ứng dụng công nghệ thông tin vào đời sống, lĩnh vực giáo dục và đào tạo chứng kiến sự thay đổi mạnh mẽ trong phương thức quản lý. Hoạt động giảng dạy của giáo viên và gia sư độc lập thường gặp nhiều trở ngại trong việc sắp xếp thời gian biểu, theo dõi lớp học, quản lý danh sách học viên, chấm công và tổng hợp doanh thu. Các phương pháp thủ công truyền thống dễ dẫn đến tình trạng chồng chéo lịch dạy, sai lệch thông tin và tiêu tốn thời gian quản trị.
Đề tài "Quản lý công việc cho giáo viên/gia sư dạy học" được xây dựng nhằm giải quyết bài toán tự động hóa quy trình quản trị lịch trình và công việc cho đối tượng giáo viên và gia sư.
Các mục tiêu và nhiệm vụ nghiên cứu cụ thể trong đề tài bao gồm:
- Khảo sát hiện trạng quản lý công việc giảng dạy và xác lập các yêu cầu vận hành, kỹ thuật của dự án.
- Phân tích và thiết kế hệ thống thông tin thông qua việc mô hình hóa các tác nhân (Actor), ca sử dụng (Use Case), biểu đồ hoạt động, biểu đồ tuần tự, biểu đồ cộng tác, biểu đồ trạng thái, biểu đồ lớp, biểu đồ thành phần và biểu đồ triển khai.
- Thiết kế giao diện người dùng và cấu trúc chương trình hỗ trợ các phân hệ chức năng.
- Lập trình mã nguồn phục vụ việc đăng ký, đăng nhập, quản lý học viên, quản lý giáo viên, quản lý lớp học và lịch làm việc.
- Thiết lập kế hoạch kiểm thử phần mềm, chuẩn bị môi trường và thực thi các ca kiểm thử.
- Xây dựng quy trình đóng gói và bảo trì hệ thống phần mềm sau triển khai.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình quản lý thời gian giảng dạy, sắp xếp lịch học, quản lý thông tin học viên, giáo viên, khóa học và điểm danh.
- Phạm vi không gian và thời gian: Đề tài được thực hiện trong khuôn khổ học phần Đồ án Lập trình Web nâng cao tại Khoa Công nghệ Thông tin, Trường Đại học Điện Lực (Hà Nội), hoàn thành vào tháng 5 năm 2023.
Cơ sở lý thuyết và phương pháp
Đề tài tiếp cận quy trình phát triển phần mềm theo mô hình kỹ thuật phần mềm hướng đối tượng kết hợp ngôn ngữ mô hình hóa thống nhất (UML - Unified Modeling Language).
Các phương pháp và mô hình kỹ thuật được áp dụng trong đề tài:
- Phương pháp phân tích và mô hình hóa hệ thống: Sử dụng chuẩn UML để trực quan hóa cấu trúc và hành vi hệ thống:
- Mô hình chức năng: Xác định Actor và phân rã sơ đồ Use Case tổng quát và chi tiết.
- Mô hình hành vi: Xây dựng Biểu đồ hoạt động (Activity Diagram), Biểu đồ trình tự (Sequence Diagram), Biểu đồ cộng tác (Collaboration Diagram) và Biểu đồ chuyển trạng thái (State Machine Diagram) cho từng tác vụ trọng yếu.
- Mô hình cấu trúc và kiến trúc: Sử dụng Biểu đồ lớp (Class Diagram), Biểu đồ thành phần (Component Diagram) và Biểu đồ triển khai (Deployment Diagram).
- Phương pháp khảo sát và xác lập dự án: Ước lượng quy mô dự án, chi phí, thời gian, nhân sự tham gia và lập tiến độ theo dõi dự án.
- Phương pháp kiểm thử và bảo trì phần mềm: Lập văn bản chiến lược kiểm thử, thiết kế kịch bản kiểm tra (Test Cases), chuẩn bị môi trường kiểm thử và quy trình bảo trì, khắc phục lỗi.
- Nguồn dữ liệu: Dữ liệu hoạt động thực tế từ mô hình quản lý của giáo viên, gia sư, học viên và các lớp học dạy kèm/trung tâm.
Thiết kế và triển khai
Hệ thống được thiết kế xoay quanh ba nhóm tác nhân chính với các vai trò và quyền hạn tách biệt:
| Tác nhân (Actor) |
Vai trò và nhiệm vụ chính trong hệ thống |
| Quản trị viên (Admin) |
Quản trị và điều hành toàn bộ hoạt động hệ thống: Đăng nhập; Quản lý giảng viên, học viên (thêm, sửa, xóa, tìm kiếm); Quản lý phiếu điểm danh; Quản lý doanh thu và chấm công; Lập báo cáo doanh thu gửi Ban giám đốc; Quản trị lịch làm việc. |
| Giảng viên (Teacher/Tutor) |
Đăng nhập hệ thống theo ca làm việc (ca gãy hoặc full-time); Thực hiện chấm công; Quản lý khóa học (thêm, sửa, xóa); Quản lý thông tin học viên; Cập nhật phiếu điểm danh. |
| Học viên (Student) |
Đăng nhập tài khoản; Cập nhật thông tin cá nhân; Tra cứu, xem danh sách khóa học; Tra cứu lịch học và thông tin điểm danh của bản thân. |
Hệ thống thiết lập các yêu cầu phi chức năng nhằm đảm bảo khả năng vận hành ổn định:
- Môi trường hoạt động: Tương thích trên nhiều hệ điều hành và nền tảng bao gồm DOS, macOS, iOS, Android.
- Hiệu năng hệ thống: Vận hành tin cậy, thời gian xử lý và phản hồi kết quả nhập/xuất dữ liệu không vượt quá 5 giây; hỗ trợ lưu trữ khối lượng dữ liệu lớn.
- Bảo mật: Kiểm soát quyền truy cập nghiêm ngặt thông qua cơ chế định danh tên đăng nhập và mật khẩu mã hóa.
- Văn hóa và bản quyền: Giao diện ngôn ngữ chính là tiếng Việt, tuân thủ quy định về sở hữu trí tuệ và không vi phạm bản quyền các hệ thống tương tự.
Nội dung chính theo từng chương
Chương 1: Khảo sát hiện trạng và xác lập dự án
Chương này đặt vấn đề và phân tích thực trạng sắp xếp lịch dạy, chỉ ra sự cần thiết của một phần mềm chuyên dụng hỗ trợ giáo viên và gia sư. Báo cáo đưa ra các ước lượng kỹ thuật bao gồm: ước lượng dự án, ước lượng chi phí, thời gian và nhân sự tham gia; lập kế hoạch và lịch trình theo dõi.
Về mặt tính năng, hệ thống xác định 7 phân hệ cốt lõi:
- Tạo tài khoản người dùng: Đăng ký tài khoản với tên định danh không trùng lặp và mật khẩu bảo mật.
- Đăng nhập: Kiểm thực thông tin tài khoản đăng nhập vào hệ thống.
- Quản lý người dùng: Thêm mới, điều chỉnh thông tin người dùng và hỗ trợ đăng xuất.
- Quản lý tài khoản và tài chính: Nhập số tài khoản, số tiền đầu tháng, cập nhật số dư sau giao dịch và tự động tính toán tiền tích lũy/tiết kiệm.
- Quản lý hệ thống lớp học: Thao tác thêm, sửa, xóa thông tin lớp học.
- Lập kế hoạch: Lập, xem, sửa, xóa kế hoạch giảng dạy cho các tháng tiếp theo.
- Thống kê: Tự động tổng hợp và hiển thị biểu đồ giờ giảng dạy dựa trên nhật ký quản lý công việc và giao dịch.
Chương 3: Phân tích thiết kế hệ thống
Chương 3 là phần trọng tâm về mặt kỹ thuật, chi tiết hóa toàn bộ hệ thống thông qua các sơ đồ UML:
- Mô hình hóa tác nhân và Use Case tổng quát: Định danh rõ 3 tác nhân Quản trị viên, Giảng viên, Học viên cùng mối quan hệ giữa các ca sử dụng.
- Phân rã Use Case Quản trị viên:
- Chức năng Đăng nhập: Thiết kế đầy đủ Biểu đồ hoạt động, Biểu đồ trình tự, Biểu đồ cộng tác và Biểu đồ chuyển trạng thái. Luồng sự kiện xác thực định danh tên đăng nhập và mật khẩu, phản hồi kết quả thành công hoặc thông báo lỗi khi thông tin không khớp.
- Chức năng Quản lý lịch làm việc (Thêm - Sửa - Xóa): Mô hình hóa luồng nhập thông tin lịch làm việc, kiểm tra tính hợp lệ dữ liệu, xác nhận sửa đổi qua danh mục tìm kiếm và cảnh báo xác nhận trước khi xóa lịch.
- Chức năng Quản lý giảng viên (Thêm - Sửa - Xóa): Đặc tả luồng xử lý tiếp nhận thông tin giảng viên mới, truy xuất danh sách, kiểm tra dữ liệu và cập nhật cơ sở dữ liệu.
- Chức năng Tìm kiếm dữ liệu: Thiết kế quy trình tiếp nhận từ khóa, kiểm tra tính hợp lệ và trả về danh sách dữ liệu tương ứng.
- Phân rã Use Case Học viên:
- Cập nhật thông tin cá nhân: Cho phép học viên tra cứu thông tin bản thân và thực hiện chỉnh sửa dữ liệu tương ứng.
- Tìm kiếm lịch học và khóa học: Tiếp nhận thông tin tìm kiếm, kiểm tra và hiển thị danh sách khóa học phù hợp.
- Xem khóa học và Xem điểm danh: Trực quan hóa quy trình truy xuất lịch sử tham gia lớp học và bảng điểm danh cá nhân.
- Đăng nhập học viên: Quy trình xác thực phân quyền dành riêng cho tài khoản học viên.
- Phân rã Use Case Giảng viên: Thiết kế các luồng chức năng chấm công đầu giờ theo ca làm việc, cập nhật khóa học, điểm danh học viên và tra cứu dữ liệu đào tạo.
- Biểu đồ cấu trúc: Xây dựng Biểu đồ lớp tổng quát, Biểu đồ thành phần và Biểu đồ triển khai hệ thống.
Chương 4: Sinh mã trình và thiết kế giao diện
Chương 4 trình bày bản thiết kế giao diện đồ họa người dùng (GUI). Nội dung tập trung vào:
- Thiết kế bố cục giao diện tổng thể và cấu trúc điều hướng người dùng.
- Giao diện chính của hệ thống với các bảng điều khiển tác vụ, khu vực quản lý lịch biểu, hiển thị trạng thái làm việc và thanh menu chức năng.
Chương 5: Lập trình
Chương 5 mô tả cấu trúc mã nguồn và triển khai lập trình thực tế cho các module chức năng:
- Lựa chọn môi trường và ngôn ngữ lập trình cho hệ thống.
- Cấu trúc module mã nguồn:
- Code màn hình đăng ký và đăng nhập.
- Code giao diện chính và thanh điều hướng.
- Code phân hệ tham gia khóa học/lớp học.
- Code phân hệ quản lý Học viên.
- Code phân hệ quản lý Giáo viên.
- Code phân hệ Lớp học.
- Code phân hệ Lịch làm việc.
Chương 6: Kiểm thử phần mềm
Chương này xây dựng tài liệu kỹ thuật đảm bảo chất lượng phần mềm, bao gồm:
- Văn bản chiến lược và kế hoạch kiểm thử: Phân chia các công đoạn kiểm thử rõ ràng từ kiểm thử đơn vị đến kiểm thử tích hợp.
- Chuẩn bị môi trường kiểm thử: Thiết lập cấu hình phần cứng, hệ điều hành và môi trường thực thi thử nghiệm.
- Thiết kế ca kiểm tra (Test Cases): Xây dựng bộ kịch bản kiểm tra cho từng Use Case (đăng nhập, nhập liệu, sửa/xóa dữ liệu, tìm kiếm).
- Thực hiện kiểm thử: Ghi nhận nhật ký chạy thử nghiệm, đánh giá kết quả đạt/không đạt và xử lý lỗi phát sinh.
Chương 7: Đóng gói, bảo trì phần mềm
Chương 7 đưa ra giải pháp phát hành và duy trì hệ thống:
- Đóng gói phần mềm: Hướng dẫn quy trình đóng gói chương trình thực thi phục vụ việc cài đặt và phân phối trên các hệ điều hành người dùng.
- Bảo trì phần mềm: Xác lập quy trình tiếp nhận phản hồi, kiểm tra định kỳ, vá lỗi phát sinh và kế hoạch nâng cấp tính năng trong tương lai.
Kết quả và đóng góp
Đề tài đã hoàn thành các nội dung kỹ thuật theo mục tiêu đề ra:
- Xây dựng hoàn chỉnh mô hình phân tích thiết kế: Hoàn thiện bộ tài liệu UML chi tiết gồm Biểu đồ Use Case, Biểu đồ hoạt động, Biểu đồ tuần tự, Biểu đồ cộng tác, Biểu đồ trạng thái, Biểu đồ lớp, Biểu đồ thành phần và Biểu đồ triển khai cho toàn bộ hệ thống quản lý công việc giáo viên/gia sư.
- Đặc tả chi tiết quy trình nghiệp vụ: Phân tách rõ ràng ba luồng người dùng (Quản trị viên, Giảng viên, Học viên) với các chức năng chấm công, quản lý lịch làm việc, quản lý thông tin đào tạo và báo cáo doanh thu.
- Triển khai lập trình và kiểm thử: Xây dựng đầy đủ các module mã nguồn cho giao diện chính, tài khoản, lịch làm việc, học viên, giáo viên; thiết lập quy trình kiểm thử và đóng gói phần mềm.
- Đóng góp ứng dụng: Cung cấp một giải pháp quản lý lịch dạy khoa học, giúp giáo viên và gia sư tối ưu hóa việc quản lý thời gian giảng dạy và quản lý lớp học.
Hạn chế và hướng nghiên cứu tiếp
Căn cứ trên nội dung báo cáo, đề tài có các điểm cần tiếp tục phát triển:
- Đồng bộ kiến trúc ứng dụng: Văn bản có sự đan xen giữa mục tiêu phát triển ứng dụng Web nâng cao và triển khai ứng dụng Desktop; cần thống nhất hoàn toàn kiến trúc nền tảng hoặc chuẩn hóa mô hình đa nền tảng client-server.
- Mở rộng tính năng quản trị tài chính: Phân hệ quản lý tài khoản, thu chi và tính toán tích lũy mới dừng ở mức mô hình hóa cơ bản, cần tích hợp cổng thanh toán trực tuyến hoặc các công cụ đối soát tự động chuyên sâu.
- Tối ưu hóa khả năng tương thích đa nền tảng: Tiếp tục hoàn thiện bộ đóng gói trên từng hệ điều hành chuyên biệt (macOS, iOS, Android, Windows) nhằm kiểm chứng thực tế hiệu năng < 5 giây trên môi trường dữ liệu quy mô lớn.
Giá trị tham khảo
Báo cáo là tài liệu tham khảo phù hợp cho:
- Sinh viên ngành Công nghệ thông tin, Công nghệ phần mềm: Tham khảo phương pháp xây dựng đồ án môn học, cách phân tích và vẽ đầy đủ các loại biểu đồ UML (Activity, Sequence, Collaboration, State, Class, Component, Deployment) cho một bài toán quản lý thực tế.
- Người phát triển ứng dụng giáo dục: Tham khảo mô hình phân quyền và luồng nghiệp vụ quản lý lịch dạy, chấm công ca làm việc, điểm danh và quản lý học viên/giáo viên.
Câu hỏi thường gặp
1. Hệ thống phân chia quyền hạn cho những tác nhân (Actor) nào?
Hệ thống gồm 3 tác nhân chính: Quản trị viên (quản lý toàn bộ giảng viên, học viên, lịch làm việc, điểm danh, chấm công, doanh thu), Giảng viên (đăng nhập, chấm công theo ca, quản lý khóa học, cập nhật điểm danh) và Học viên (đăng nhập, cập nhật thông tin cá nhân, tra cứu khóa học, lịch học và điểm danh).
2. Các yêu cầu phi chức năng về hiệu năng và bảo mật của hệ thống được quy định như thế nào?
Về hiệu năng, hệ thống yêu cầu vận hành tin cậy, tốc độ xử lý và trả lời kết quả nhập/xuất dữ liệu không quá 5 giây và có khả năng lưu trữ dữ liệu lớn. Về bảo mật, hệ thống bắt buộc người dùng phải sở hữu tên đăng nhập và mật khẩu hợp lệ mới được cấp quyền thao tác.
3. Phân hệ quản lý tài chính và tài khoản trong đề tài có những chức năng gì?
Phân hệ cho phép người dùng thêm số tài khoản và số tiền đầu mỗi tháng; sau mỗi giao dịch cập nhật số tiền hiện tại; số tiền còn lại sau mỗi tháng được hệ thống tự động cộng dồn vào quỹ tiết kiệm của người dùng.
4. Quy trình xử lý khi Quản trị viên xóa lịch làm việc diễn ra như thế nào?
Quản trị viên chọn giao diện xóa -> hệ thống hiển thị danh sách -> Quản trị viên tìm kiếm và chọn lịch làm việc cần xóa -> hệ thống hiển thị cảnh báo xác nhận -> Quản trị viên xác nhận xóa -> hệ thống tiến hành xóa dữ liệu và thông báo kết quả thành công.
Kết luận
Báo cáo chuyên đề học phần "Quản lý công việc cho giáo viên/gia sư dạy học" của sinh viên Khoa Công nghệ Thông tin - Trường Đại học Điện Lực đã hoàn thành việc khảo sát, phân tích thiết kế hệ thống và xây dựng phần mềm quản lý lịch biểu giảng dạy. Đề tài áp dụng đầy đủ các mô hình UML từ ca sử dụng đến biểu đồ triển khai, xây dựng mã nguồn các phân hệ chính và thiết lập quy trình kiểm thử, đóng gói phần mềm. Đây là tài liệu đồ án có giá trị tham khảo tốt về phương pháp luận phân tích thiết kế phần mềm hướng đối tượng trong lĩnh vực quản lý giáo dục.