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

Đồ án tốt nghiệp đại học với đề tài "Nghiên cứu Odoo và phát triển hệ thống quản lý nhân sự" được thực hiện bởi nhóm sinh viên Ong Thị Hải Linh (MSSV: 0194266), Nguyễn Thị Phương Anh (MSSV: 0210366) và Nguyễn Quang Huy (MSSV: 0000166) thuộc Lớp 66MHT, Khoa Công nghệ Thông tin, Trường Đại học Xây dựng Hà Nội (năm 2024), dưới sự hướng dẫn của các giảng viên Lê Thị Thùy Dương và Vương Quang Huy.

Trong bối cảnh chuyển đổi số doanh nghiệp, công tác quản trị nguồn nhân lực đòi hỏi sự đồng bộ hóa từ hồ sơ cá nhân, phân quyền phòng ban, quản lý hợp đồng lao động, chấm công - phân ca, xử lý đơn từ giải trình, đến quản lý cơ sở vật chất hành chính (phòng họp) và chế độ đãi ngộ. Việc nghiên cứu nền tảng mã nguồn mở Odoo nhằm xây dựng một hệ thống quản lý nhân sự tùy biến (đặt tên là "HAPPY HRM") đáp ứng đầy đủ các nghiệp vụ hành chính - nhân sự theo đặc thù quản lý tại doanh nghiệp Việt Nam.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định cụ thể:

  1. Nghiên cứu kiến trúc nền tảng Odoo và khả năng mở rộng, tùy biến các phân hệ quản trị.
  2. Phân tích yêu cầu nghiệp vụ và mô hình hóa chi tiết các ca sử dụng (Use Cases) cho 10 phân hệ chức năng: Quản lý tài khoản, Quản lý phòng ban, Quản lý chức vụ, Quản lý hợp đồng, Quản lý nhân sự, Quản lý đơn/giải trình, Đặt phòng họp, Quản lý ca làm, Báo cáo tuần và Đãi ngộ nhân viên.
  3. Thiết kế cơ sở dữ liệu quan hệ hoàn chỉnh, định nghĩa kiểu dữ liệu, khóa chính, khóa ngoại và các ràng buộc toàn vẹn cho 19 bảng thực thể.
  4. Thiết kế nguyên mẫu giao diện người dùng chi tiết (UI/UX) cho hệ thống, bao gồm giao diện xác thực, màn hình bảng điều khiển trung tâm (Dashboard) và các màn hình quản trị chức năng.

Đối tượng nghiên cứu là quy trình nghiệp vụ quản lý nhân sự và nền tảng phần mềm Odoo. Phạm vi nghiên cứu về mặt không gian và thời gian được thực hiện trong khuôn khổ đồ án tốt nghiệp đại học ngành Công nghệ Thông tin tại Trường Đại học Xây dựng Hà Nội năm 2024.


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

Đồ án ứng dụng các cơ sở lý thuyết, mô hình và công nghệ phần mềm sau:

  • Khung nền tảng Odoo: Khung ứng dụng mã nguồn mở phục vụ xây dựng và tùy biến các module quản trị doanh nghiệp (ERP/HRM).
  • Hệ thống lưu trữ đối tượng MinIO: Sử dụng MinIO làm nền tảng lưu trữ tệp dữ liệu số cho các báo cáo tuần đính kèm do nhân viên tải lên hệ thống (url_minio, name_file_mino).
  • Mô hình phân quyền người dùng (Role-Based Access Control): Xác định 3 nhóm tác nhân chính (Actor) tương tác với hệ thống: Nhân viên, Trưởng bộ phận và Admin (Quản trị viên hệ thống).
  • Phương pháp phân tích và mô hình hóa ca sử dụng (Use Case Modeling): Đặc tả chi tiết từng Use Case theo mẫu chuẩn kỹ thuật phần mềm gồm: Tên Use Case, Actor, Mô tả, Tiền điều kiện, Hậu điều kiện, Luồng sự kiện chính (Main Flow) và Luồng sự kiện phụ/ngoại lệ (Sub/Alternative Flow).
  • Phương pháp thiết kế cơ sở dữ liệu quan hệ (RDBMS): Chuẩn hóa và đặc tả chi tiết cấu trúc các bảng dữ liệu, trường thông tin, kiểu dữ liệu (String, Integer, Char, Date, Boolean, Selection, Text, Float), ràng buộc khóa chính/khóa ngoại và ràng buộc bắt buộc (Not null).
  • Nguồn dữ liệu: Dữ liệu đầu vào phục vụ mô hình hóa bao gồm các thông tin hồ sơ nhân sự thực tế theo quy chuẩn Việt Nam (Số định danh CMND/CCCD, ngày/nơi cấp, Mã số thuế, Số sổ BHXH, tài khoản ngân hàng BIDV, địa chỉ thường trú/tạm trú, thông tin phương tiện, thông tin thân nhân).

Thiết kế và triển khai

Hệ thống quản lý nhân sự HAPPY HRM được thiết kế với kiến trúc phân tầng rõ ràng, kết hợp cơ chế kiểm soát truy cập và phân định trách nhiệm chặt chẽ:

[ Giao diện Web / Dashboard HAPPY HRM ]
[ Phân quyền tác nhân: Admin | Trưởng bộ phận | Nhân viên ]
[ Module nghiệp vụ: Tài khoản, Nhân sự, Công ca, Báo cáo, Phòng họp, Đãi ngộ ]
[ Cơ sở dữ liệu quan hệ ]   [ Dịch vụ lưu trữ MinIO ]
 (19 Bảng thực thể)         (Tệp đính kèm Báo cáo tuần)

Kiến trúc phân quyền và luồng xử lý nghiệp vụ

  1. Phân quyền 3 cấp độ:
    • Nhân viên: Đăng ký tài khoản, gửi đơn giải trình, tạo yêu cầu đổi ca/nghỉ việc/đổi quản lý, nộp báo cáo tuần tải lên MinIO, tạo yêu cầu đặt phòng họp, xem chế độ ưu đãi.
    • Trưởng bộ phận: Quản lý ca làm, tìm kiếm hồ sơ, duyệt sơ bộ (Cấp 1) đơn đặt phòng họp, theo dõi báo cáo tuần của nhân viên cấp dưới.
    • Admin: Toàn quyền cấu hình phòng ban, chức vụ, quản lý hợp đồng, thêm/sửa/xóa nhân viên, duyệt đơn giải trình công ca, duyệt chung cuộc đơn đặt phòng họp, cấu hình danh mục phòng họp và thiết lập chế độ đãi ngộ theo cấp bậc.
  2. Quy trình phê duyệt hai cấp: Áp dụng cho nghiệp vụ đặt phòng họp (Trưởng bộ phận phê duyệt bước đầu $\rightarrow$ Chuyển Admin duyệt cấp cuối để xác nhận lịch khả dụng).

Thiết kế cơ sở dữ liệu tổng hợp

Hệ thống thiết kế chi tiết 19 cấu trúc bảng dữ liệu, được tổng hợp tóm tắt theo bảng sau:

STT Tên bảng / Phụ lục Khóa chính Khóa ngoại Mô tả nghiệp vụ chính
1 employee (4.4 a) employee_id department_id Quản lý thông tin toàn diện về hồ sơ, nhân thân, tài khoản BIDV, BHXH, xe cộ
2 department (4.4 b) department_id company_id, manage_id, parent_id Quản lý danh mục phòng ban, số lượng nhân viên, người quản lý, thư ký
3 contract (4.4 c) name employee_id, contract_type_id Quản lý hợp đồng lao động, mức lương, ngày bắt đầu/kết thúc, hình thức kiêm nhiệm
4 contract_type (4.4 d) contract_type_code - Phân loại hợp đồng (Thử việc, Chính thức)
5 meeting_room (4.4 e) name - Danh mục phòng họp và trạng thái khả dụng (check_availability)
6 reserved_room (4.4 f) reserved_room_id name Quản lý đơn đặt phòng họp, thời gian bắt đầu/kết thúc, mục đích và trạng thái
7 account/user (4.4 g, h) login employee_id Thông tin đăng nhập, mật khẩu, trạng thái kích hoạt tài khoản (active)
8 holiday_status (4.4 i) Code holiday_status_name Danh mục các loại đơn nghỉ/ngày nghỉ
9 explanation (4.4 k, l) id employee_id Quản lý đơn giải trình công ca, lý do, giờ bắt đầu/kết thúc ca làm việc
10 registration (4.4 m) id company_id, job_id Tiếp nhận và đăng ký thông tin nhân sự mới, liên kết lịch làm việc
11 shift_change (4.4 n) id employee_id, new_shift_id Đơn xin đổi ca làm việc theo từng thứ trong tuần (Monday - Sunday)
12 resignation (4.4 o) id employee_id Đơn xin nghỉ việc / nghỉ tạm thời
13 change_manager (4.4 p) id approval_uid Đơn xin thay đổi người quản lý trực tiếp
14 weekly_report (4.4 q) id employee_id Báo cáo công việc tuần, liên kết đường dẫn lưu trữ tệp tin trên MinIO
15 reward_content (4.4 r) id creat_uid Danh mục nội dung ưu đãi, phân loại hình thức ưu đãi (reward_type)
16 employee_level (4.4 s) id creat_uid Cấp bậc nhân sự trong doanh nghiệp

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

Chương 4: Phân tích thiết kế

Chương 4 tập trung vào việc mô hình hóa các yêu cầu chức năng thành các ca sử dụng (Use Cases) cụ thể và thiết kế cơ sở dữ liệu quan hệ chi tiết:

  • Phân hệ Quản lý tài khoản (4.2): Đặc tả các ca sử dụng Đăng nhập, Thêm tài khoản và Quên mật khẩu. Khi tạo tài khoản mới, hệ thống yêu cầu nhập đầy đủ 13 nhóm trường thông tin (Họ tên, Giới tính, CMND/CCCD 2 mặt, Ngày/Nơi cấp, BHXH, Địa chỉ thường trú/hiện tại, Thông tin BIDV, Ngày vào làm, Ngày sinh, Số nhân thân). Quy trình quên mật khẩu sử dụng cơ chế xác minh qua Email và Ngày sinh để gửi mã thiết lập lại.
  • Phân hệ Quản lý phòng ban (4.3): Bao gồm 5 ca sử dụng: Xem, Sửa, Xóa, Thêm mới và Tìm kiếm. Ràng buộc toàn vẹn quan trọng: hệ thống không cho phép xóa phòng ban nếu đang tồn tại nhân viên thuộc phòng ban đó.
  • Phân hệ Quản lý chức vụ (4.4): Định nghĩa 5 Use Case tương ứng. Cung cấp cơ chế phân cấp chức vụ, môi trường làm việc độc hại, cấp bậc. Tương tự, hệ thống kích hoạt thông báo lỗi và ngăn chặn hành động xóa nếu chức vụ đang được gắn với nhân viên hiện hữu.
  • Phân hệ Quản lý hợp đồng (4.5): Quản lý toàn diện các trạng thái hợp đồng (Khởi tạo là "Mới", cập nhật tỷ lệ hưởng lương, tiền công, lương tháng, số phút làm việc/ngày, loại hợp đồng không xác định thời hạn hoặc có xác định thời hạn, cấu hình chấm công đầu cuối).
  • Phân hệ Quản lý nhân sự (4.6): Đây là phân hệ lõi với khối lượng dữ liệu lớn. Hệ thống kiểm soát chặt chẽ tính duy nhất của trường Id vân tay (hiển thị cảnh báo "Id vân tay này đã tồn tại" nếu phát hiện trùng lặp). Quản lý chi tiết thông tin kiêm nhiệm (công ty, phòng ban, chức vụ kiêm nhiệm), tình trạng hôn nhân, trình độ học vấn (bằng cấp, trường đào tạo, chứng chỉ, chuyên ngành) và phương tiện đi lại (loại xe, biển số, màu xe).
  • Phân hệ Quản lý đơn, giải trình (4.7): Hỗ trợ tạo đơn giải trình công ca khi có sai lệch chấm công. Quy trình duyệt đơn do Admin thực hiện để chuyển trạng thái từ "Chờ duyệt" sang "Đã duyệt" hoặc "Đã hủy".
  • Phân hệ Đặt phòng họp (4.8): Cho phép kiểm tra trạng thái phòng trống theo thời gian thực. Quy trình phê duyệt được thiết kế hai cấp: Trưởng bộ phận duyệt Cấp 1, sau đó Admin thực hiện duyệt Cấp 2. Cung cấp đầy đủ các chức năng quản trị danh mục phòng họp (Thêm, Sửa, Xóa).
  • Phân hệ Quản lý ca làm (4.9): Phục vụ phân ca làm việc, thiết lập thời gian bắt đầu, thời lượng ca và quản lý danh sách phân ca.
  • Phân hệ Báo cáo tuần (4.10): Cho phép nhân viên tải file mẫu báo cáo tuần về máy tính, điền nội dung theo đúng biểu mẫu định dạng và tải tệp đính kèm lên hệ thống MinIO, đồng thời chọn người nhận báo cáo và địa chỉ email CC.
  • Phân hệ Đãi ngộ nhân viên (4.11): Cấu hình các chế độ ưu đãi tương ứng với từng cấp bậc nhân sự trong tổ chức.
  • Thiết kế và đặc tả cơ sở dữ liệu (4.3 & 4.4): Chi tiết hóa toàn bộ 19 bảng dữ liệu với tên trường tiếng Anh kỹ thuật, kiểu dữ liệu, mô tả và khóa liên kết.

Chương 6: Giao diện phần mềm

Chương 6 mô tả chi tiết các thành phần giao diện người dùng trên hệ thống:

  • Giao diện xác thực (6.1):
    • Màn hình Login (Phụ lục 6.1): Bao gồm các trường Tên đăng nhập, Mật khẩu, icon ẩn/hiện mật khẩu, nút "Đăng nhập", liên kết "Quên mật khẩu?" và "Tài khoản mới".
    • Màn hình Quên mật khẩu (Phụ lục 6.2): Gồm ô nhập Email làm việc, trường chọn Ngày sinh qua lịch (Calendar), nút "Reset" và "Cancel".
    • Màn hình Đăng ký tài khoản (Phụ lục 6.3 & 6.4): Gồm 22 trường/nút chức năng bao quát toàn bộ lý lịch nhân sự, hình ảnh CCCD mặt trước/mặt sau, thông tin xe, số tài khoản BIDV và form động thêm thông tin nhân thân.
  • Giao diện Dashboard (6.2 - Phụ lục 6.1): Màn hình bảng điều khiển trung tâm với nhận diện thương hiệu "HAPPY HRM":
    • Thanh điều hướng Sidebar: Logo "HAPPY HRM", Menu Button đóng/mở sidebar, các nút điều hướng nhanh: Quản lý nhân sự, Quản lý công/ca, Đãi ngộ nhân viên, Viết báo cáo, Hành chính.
    • Khu vực trung tâm: Các khối widget thống kê động gồm: Hợp đồng sắp hết hạn, Hợp đồng mới, Đơn chờ duyệt (kèm biểu đồ so sánh với tháng trước), Tổng nhân sự (phân tách tỷ lệ nam/nữ kèm biểu đồ biến động theo tháng), Kiểm tra chấm công, Danh sách đãi ngộ, Thông báo xem thêm.
    • Khu vực hiển thị bên phải: Danh sách nhân viên có sinh nhật trong tháng, Danh sách các ngày lễ trong tháng, Danh sách nhân viên chưa hoàn thành nộp báo cáo tuần.
  • Giao diện Quản lý nhân sự (6.3):
    • Quản lý phòng ban (6.1): Thanh công cụ tìm kiếm nâng cao với toán tử so sánh (có chứa, không chứa, bằng, khác), nút Import file dữ liệu phòng ban theo template mẫu, nút Thêm mới, Xóa và Pop-up trích xuất dữ liệu.
    • Quản lý chức vụ (6.2): Giao diện tìm kiếm đa tiêu chí, nút Export trường dữ liệu và quản lý danh mục chức danh.

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

Kết quả chính đạt được

  1. Đặc tả hoàn chỉnh hệ thống quản lý nhân sự: Xây dựng thành công tài liệu phân tích thiết kế chi tiết gồm 10 phân hệ chức năng bao quát trọn vẹn nghiệp vụ HRM tại doanh nghiệp.
  2. Xây dựng mô hình dữ liệu quan hệ chuẩn hóa: Thiết kế chi tiết 19 bảng cơ sở dữ liệu với các ràng buộc khóa và logic nghiệp vụ chặt chẽ, loại bỏ hoàn toàn hiện tượng xóa nhầm dữ liệu ràng buộc (phòng ban đang có nhân viên, chức vụ đang có người đảm nhiệm).
  3. Thiết kế giao diện Dashboard HAPPY HRM tích hợp: Hoàn thiện nguyên mẫu giao diện trung tâm trực quan, tích hợp các biểu đồ so sánh biến động nhân sự, theo dõi công ca, nhắc nhở sinh nhật, ngày lễ và kiểm soát tiến độ nộp báo cáo tuần.

Giải pháp và kỹ thuật đề xuất

  • Tích hợp giải pháp lưu trữ MinIO: Đề xuất giải pháp tách biệt việc lưu trữ tệp đính kèm báo cáo tuần ra hệ thống MinIO (url_minio), giảm tải dung lượng cho cơ sở dữ liệu chính.
  • Quy trình duyệt phòng họp 2 cấp: Đưa ra cơ chế phối hợp giữa Trưởng bộ phận (xác nhận nhu cầu nội bộ) và Admin (điều phối tài nguyên dùng chung của doanh nghiệp).
  • Kiểm soát tính duy nhất qua phần cứng/mã định danh: Ràng buộc chặt chẽ mã vân tay (hr_employee_time_recorder_code_ids) và số định danh công dân để tránh trùng lặp hồ sơ nhân sự.

Đóng góp so với các nghiên cứu trước

Đồ án đã cụ thể hóa việc nghiên cứu nền tảng Odoo vào bài toán thực tiễn của doanh nghiệp Việt Nam, bổ sung đầy đủ các trường dữ liệu mang tính đặc thù nội địa như tài khoản ngân hàng BIDV, số định danh CCCD có phân tách 2 mặt ảnh chụp xác thực, bảo hiểm xã hội, mã số thuế cá nhân và thông tin đăng ký phương tiện gửi xe.


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

  • Hạn chế: Nội dung văn bản tập trung chủ yếu vào phần phân tích thiết kế ca sử dụng (Chương 4) và đặc tả giao diện (Chương 6); chưa cung cấp các số liệu đo kiểm hiệu năng hệ thống dưới tải lớn, mã nguồn triển khai chi tiết trên môi trường thực tế cũng như kết quả kiểm thử bảo mật.
  • Hướng nghiên cứu tiếp:
    • Hoàn thiện việc lập trình tích hợp trực tiếp API kết nối với các thiết bị máy chấm công vân tay phần cứng theo thời gian thực.
    • Phát triển phân hệ tính lương tự động liên kết trực tiếp giữa dữ liệu chấm công, loại hợp đồng và tỷ lệ hưởng lương.
    • Tối ưu hóa hiệu năng lưu trữ và truy xuất tệp trên nền tảng MinIO khi quy mô nhân sự tăng cao.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin, Kỹ thuật phần mềm: Cung cấp tài liệu mẫu mực về phương pháp viết đặc tả Use Case, thiết kế cơ sở dữ liệu quan hệ chuẩn mực và quy chuẩn thiết kế giao diện phần mềm quản trị doanh nghiệp.
  • Kỹ sư phần mềm phát triển module trên nền tảng Odoo: Tham khảo cấu trúc bảng dữ liệu và luồng xử lý các nghiệp vụ quản lý nhân sự, quản lý ca kíp, đơn giải trình và quy trình phê duyệt nhiều cấp.
  • Phần đáng tham khảo nhất: Hệ thống đặc tả cơ sở dữ liệu 19 bảng (Phụ lục 4.4) và quy trình mô hình hóa các luồng sự kiện ngoại lệ (Alternative Flows) trong phân hệ quản lý nhân sự và đặt phòng họp.

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

1. Hệ thống quản lý nhân sự HAPPY HRM xác định những vai trò người dùng nào?
Hệ thống thiết lập 3 nhóm tác nhân (Actor) chính: Nhân viên (sử dụng các chức năng tự phục vụ cá nhân, gửi đơn, nộp báo cáo), Trưởng bộ phận (quản lý ca làm, xem danh sách, duyệt sơ bộ đặt phòng) và Admin (quản trị toàn bộ danh mục hệ thống, phê duyệt đơn giải trình, quản lý hợp đồng và phân quyền).

2. Quy trình phê duyệt đơn đặt phòng họp được thiết kế như thế nào?
Đơn đặt phòng họp trải qua quy trình 2 cấp: Đầu tiên, Trưởng bộ phận thực hiện duyệt Cấp 1 để chuyển trạng thái từ "Chờ duyệt" sang trạng thái trung gian. Sau đó, Admin xem xét chi tiết và thực hiện "Duyệt đơn" hoặc "Từ chối" ở Cấp 2 để cập nhật trạng thái khả dụng của phòng họp.

3. Hệ thống lưu trữ tệp báo cáo tuần của nhân viên bằng công nghệ gì?
Hệ thống sử dụng nền tảng lưu trữ MinIO. Trong bảng cơ sở dữ liệu báo cáo tuần (weekly_report), hệ thống lưu trữ đường dẫn tệp thông qua trường url_minio và tên tệp báo cáo qua trường name_file_mino.

4. Khi thêm mới một nhân viên vào hệ thống, những ràng buộc kiểm tra nào được kích hoạt?
Hệ thống kiểm tra bắt buộc các trường thông tin cá nhân và công việc; đồng thời kiểm tra tính duy nhất của trường Id vân tay. Nếu mã vân tay đã tồn tại trong cơ sở dữ liệu, hệ thống sẽ chặn thao tác và hiển thị thông báo "Id vân tay này đã tồn tại".

5. Giao diện Dashboard của HAPPY HRM cung cấp những tiện ích theo dõi nào?
Dashboard hiển thị thanh điều hướng sidebar, khu vực trung tâm với các widget thống kê hợp đồng sắp hết hạn, hợp đồng mới, đơn chờ duyệt kèm biểu đồ thay đổi theo tháng, tổng số nhân sự phân tách nam/nữ; và khu vực bên phải nhắc nhở sinh nhật nhân viên trong tháng, ngày lễ và danh sách nhân sự chưa hoàn thành báo cáo tuần.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu Odoo và phát triển hệ thống quản lý nhân sự" của nhóm tác giả tại Trường Đại học Xây dựng Hà Nội đã hoàn thành việc khảo sát, phân tích yêu cầu nghiệp vụ và thiết kế toàn diện hệ thống phần mềm quản lý nhân sự HAPPY HRM. Bằng việc xây dựng 10 phân hệ ca sử dụng chi tiết cùng 19 bảng cơ sở dữ liệu chuẩn hóa và giao diện bảng điều khiển trực quan, đồ án đã giải quyết tốt bài toán số hóa quy trình quản trị nhân sự, chấm công và hành chính doanh nghiệp. Đây là tài liệu kỹ thuật có giá trị thực tiễn cao cho việc nghiên cứu, phát triển và tùy biến các giải pháp HRM trên nền tảng ERP mã nguồn mở.