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

Đề tài "Xây dựng hệ thống Website quản lý lịch công tác của nhân viên trong dự án công ty SDTECH" được tác giả Phạm Ngọc Anh 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 Sư phạm Kỹ thuật – Đại học Đà Nẵng, dưới sự hướng dẫn của TS. Hoàng Thị Mỹ Lệ (hoàn thành tháng 6/2022).

Xuất phát từ bối cảnh thực tế trong quá trình làm việc tại Công ty Cổ phần Công nghệ số Thông Minh SDTECH, tác giả ghi nhận nhiều khó khăn và bất cập trong công tác quản trị nội bộ. Cụ thể, việc theo dõi dự án, giám sát nhân sự tham gia từng dự án, quản lý lịch trình công tác cũng như kiểm soát các khoản chi phí phát sinh trong quá trình đi công tác đang bộc lộ nhiều điểm nghẽn. Khi quy mô công việc và số lượng dự án gia tăng, các phương thức quản lý thủ công gây lãng phí thời gian, phát sinh chi phí vận hành và tiêu tốn công sức lao động. Do đó, nhu cầu tin học hóa quy trình quản lý lịch trình và công tác phí trở thành một đòi hỏi cấp thiết nhằm tăng tốc độ truy xuất dữ liệu, minh bạch hóa các khoản chi và nâng cao hiệu quả phối hợp giữa các bộ phận.

Mục tiêu tổng quát của đồ án là thiết kế và xây dựng một hệ thống website phục vụ việc quản lý lịch công tác của nhân viên trong dự án tại công ty SDTECH, đáp ứng các mục tiêu phân quyền chuyên biệt cho từng nhóm đối tượng sử dụng:

  1. Đối với Quản trị viên (trưởng phòng): Cập nhật thông tin nhân viên, dự án, cuộc bình chọn, lịch làm việc ngoài giờ của nhân viên và vai trò của nhân viên trong từng dự án.
  2. Đối với Nhân viên: Tra cứu thông tin cá nhân, dự án, lịch công tác, tham gia bình chọn và đăng ký lịch làm việc ngoài giờ.
  3. Đối với Người phụ trách công tác: Cập nhật danh sách nhân viên đi công tác và quản lý các khoản chi phí, hóa đơn công tác.
  4. Đối với Người quản lý dự án: Phê duyệt kế hoạch làm việc ngoài giờ và xét duyệt các khoản chi phí công tác phát sinh.

Nhiệm vụ nghiên cứu được xác định qua 7 nội dung chính:

  1. Khảo sát nghiệp vụ thực tế tại công ty SDTECH.
  2. Phân tích và thiết kế các chức năng của hệ thống.
  3. Thiết kế giao diện cho các chức năng tương tác.
  4. Phân tích và thiết kế cơ sở dữ liệu.
  5. Xây dựng và lập trình hệ thống website.
  6. Kiểm thử và cài đặt ứng dụng.
  7. Hoàn thành bài báo cáo đồ án tốt nghiệp.
  • Đối tượng nghiên cứu: Lịch công tác của nhân viên trong các dự án.
  • Phạm vi nghiên cứu: Quy trình nghiệp vụ và dữ liệu thực tế tại Công ty Cổ phần Công nghệ số Thông Minh SDTECH.
  • Sản phẩm bàn giao dự kiến: Hệ thống website quản lý lịch công tác hoạt động hoàn chỉnh và bản báo cáo đồ án tốt nghiệp (nộp ngày 20/06/2022).

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

Đồ án áp dụng tiến trình nghiên cứu gồm 6 bước tuần tự: (1) Khảo sát và phân tích bài toán; (2) Lên ý tưởng giải quyết bài toán; (3) Nghiên cứu các công nghệ sẽ sử dụng; (4) Phân tích thiết kế hệ thống; (5) Xây dựng hệ thống; (6) Thử nghiệm và ứng dụng.

Về mặt công nghệ và lý thuyết nền tảng, đồ án dựa trên các thành phần kỹ thuật sau:

  • Ngôn ngữ lập trình Java: Ngôn ngữ hướng đối tượng được sáng lập bởi James Gosling tại Sun Microsystems (1991, phát hành 1994, được Oracle mua lại năm 2010), xây dựng trên nguyên lý "Viết một lần, thực thi khắp nơi" (WORA). Java kế thừa cú pháp của C/C++ nhưng lược bỏ con trỏ, toán tử quá tải (overload), lệnh goto, cấu trúc struct và union để tăng độ an toàn. Chương trình vận hành thông qua cơ chế vừa biên dịch (tạo mã bytecode) vừa thông dịch (thông qua Java Virtual Machine - JVM sang machine code). Java tích hợp cơ chế thu gom rác tự động (Garbage Collection) trên bộ nhớ heap, hỗ trợ xử lý đa luồng (multithread) và quản lý bảo mật 4 cấp độ. Nền tảng sử dụng ấn bản Java SE với môi trường JRE và bộ phát triển JDK.
  • Nền tảng Cổng điện tử Liferay Portal (phiên bản 7.2): Giải pháp portal mã nguồn mở doanh nghiệp hoạt động trên nền tảng J2EE, hỗ trợ kiến trúc hướng dịch vụ (SOA) và công nghệ Web 2.0. Liferay đáp ứng các tiêu chuẩn công nghiệp: SOAP, LDAP, XML/XSL, SSL, JSR 170, WSRP, đặc biệt là chuẩn phát triển portlet JSR 168 và JSR 286. Văn bản dẫn chiếu việc Liferay đáp ứng các tiêu chuẩn kỹ thuật ứng dụng công nghệ thông tin trong cơ quan nhà nước tại Việt Nam theo Công văn số 1654/BTTTT-ƯDCNTT (ngày 27/05/2008) và Quyết định số 20/2008/QĐ-BTTTT (ngày 09/04/2008) của Bộ Thông tin và Truyền thông. Phiên bản Liferay 7.2 cung cấp cấu trúc mô-đun hóa dựa trên chuẩn OSGi (đóng gói dạng tệp JAR), hỗ trợ cơ chế khai báo điểm mở rộng qua interface và annotation @Component, hệ thống API cấu hình mới, quản trị người dùng, tùy biến layout và kéo thả portlet.
  • Framework Spring Boot và mô hình MVC: Áp dụng mô hình thiết kế Model – View – Controller nhằm phân tách giữa tầng dữ liệu (Model), tầng giao diện (View) và tầng logic điều khiển (Controller), giúp tinh giản cấu hình và chuẩn hóa quy trình xử lý luồng yêu cầu trong hệ sinh thái Spring.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị CSDL quan hệ server-based, kiến trúc storage-engine, tuân thủ giao dịch ACID, hỗ trợ khóa mức dòng (row-level locking), kết nối bảo mật SSL/SSH, tương thích giao tiếp qua ODBC và cung cấp các tiện ích sao lưu/phục hồi dữ liệu logic cũng như vật lý.
  • Công cụ hỗ trợ triển khai: StarUML (mô hình hóa hệ thống), IntelliJ IDEA (môi trường lập trình), XAMPP (môi trường máy chủ dịch vụ và cơ sở dữ liệu thử nghiệm).

Thiết kế và triển khai

Hệ thống được thiết kế hướng tới việc phân quyền chặt chẽ theo 4 tác nhân (Actors) tương ứng với các nhóm người dùng trong tổ chức:

Tác nhân (Actor) Quyền hạn và Chức năng chính trên hệ thống
Quản trị viên (Trưởng phòng) Quản lý thông tin nhân viên; quản lý danh mục dự án; thiết lập vai trò nhân viên dự án; quản lý bài viết - tin tức nội bộ; quản lý các cuộc bình chọn; duyệt hoàn ứng công tác phí.
Quản lý dự án Khởi tạo và cập nhật đợt công tác cho dự án; phê duyệt hoặc từ chối chi phí đi công tác của nhân sự; phê duyệt hoặc từ chối lịch làm việc ngoài giờ (OT).
Người phụ trách công tác Cập nhật danh sách nhân viên tham gia đợt công tác; khai báo và đính kèm hóa đơn chi phí công tác; chỉnh sửa chi phí thực tế và gửi báo cáo quyết toán cho Quản lý dự án.
Nhân viên Xem thông tin cá nhân; theo dõi dự án tham gia; tra cứu lịch công tác và chi phí liên quan; đăng ký lịch làm việc ngoài giờ; tham gia bình chọn trực tuyến; xem tin tức, sự kiện.

Quy trình nghiệp vụ của hệ thống được chuẩn hóa qua các kịch bản tương tác và luồng email thông báo tự động:

  • Nghiệp vụ phê duyệt làm việc ngoài giờ (OT): Nhân viên lập đơn đăng ký trên hệ thống, kích hoạt email gửi tới Quản lý dự án. Người quản lý dự án tiến hành xem xét và đưa ra quyết định duyệt hoặc từ chối; hệ thống sẽ phản hồi kết quả trực tiếp qua email thông báo cho nhân viên.
  • Nghiệp vụ quản lý và quyết toán công tác phí: Quản lý dự án tạo mới đợt công tác. Người quản lý công tác/Admin duyệt tạm ứng chi phí. Người phụ trách công tác cập nhật danh sách nhân sự đi công tác, khai báo các khoản chi và cập nhật hình ảnh hóa đơn chứng từ sau chuyến đi. Quản lý dự án tiến hành duyệt hoặc từ chối chi phí (có kèm email giải trình lý do nếu từ chối). Sau khi Quản lý dự án phê duyệt, Người phụ trách hoàn tất hồ sơ hoàn ứng và hệ thống gửi thông báo cho Quản trị viên/Admin thực hiện kiểm duyệt và tất toán tài chính.
  • Nghiệp vụ truyền thông và khảo sát nội bộ: Hệ thống cung cấp cổng thông tin gồm trang chủ, giới thiệu, bài viết, sự kiện, trang tuyển dụng và chi tiết tuyển dụng. Chức năng bình chọn hỗ trợ tổng hợp và trực quan hóa số liệu kết quả theo thời gian thực dưới dạng biểu đồ tròn và biểu đồ cột.

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

Chương 1: Cơ sở lý thuyết

Chương 1 trình bày chi tiết nền tảng công nghệ và lý thuyết được vận dụng trong đồ án. Tác giả phân tích lịch sử hình thành, đặc tính kỹ thuật và các phiên bản của ngôn ngữ Java (Java SE, Java EE, Java ME), đi sâu vào cơ chế độc lập phần cứng nhờ JVM, cơ chế giải phóng bộ nhớ tự động Heap, khả năng lập trình đa luồng và 4 mức độ bảo mật. Phần tiếp theo giới thiệu tổng quan về Liferay Portal 7.2, làm rõ kiến trúc J2EE, mô hình chuẩn OSGi, sự tuân thủ các chuẩn mở (SOAP, LDAP, XML/XSL, SSL, WSRP, JSR 168/286) và cơ sở pháp lý theo tiêu chuẩn Việt Nam (Công văn 1654/BTTTT-ƯDCNTT và Quyết định 20/2008/QĐ-BTTTT). Chương này cũng phân tích các đặc trưng của MySQL về hiệu năng, tính năng bảo mật, hỗ trợ giao dịch ACID và cấu trúc luồng của mô hình Model - View - Controller (MVC) trong Spring Boot.

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

Chương 2 tập trung đặc tả yêu cầu phần mềm và mô hình hóa hệ thống bằng ngôn ngữ UML. Tác giả thiết lập sơ đồ tổng quát Use-case cho 4 tác nhân và xây dựng chi tiết 19 bảng kịch bản Use-case (từ Bảng 2.1 đến Bảng 2.19) xác định rõ mục đích, tác nhân, dữ liệu đầu vào, dữ liệu đầu ra và các bước thực hiện tuần tự:

Ký hiệu bảng Tên kịch bản Use-case Tác nhân thực hiện
Bảng 2.1 Kịch bản cập nhật nhân viên Quản trị viên
Bảng 2.2 Kịch bản cập nhật vai trò nhân viên Quản trị viên
Bảng 2.3 Kịch bản cập nhật bài viết – tin tức Quản trị viên
Bảng 2.4 Cập nhật bình chọn (câu hỏi, câu trả lời) Quản trị viên
Bảng 2.5 Kịch bản bình chọn Nhân viên
Bảng 2.6 Kịch bản xem lịch làm việc ngoài giờ Nhân viên
Bảng 2.7 Kịch bản xem thông tin dự án mình tham gia Nhân viên
Bảng 2.8 Kịch bản xem thông tin lịch công tác của dự án Nhân viên
Bảng 2.9 Kịch bản xem thông tin cá nhân Nhân viên
Bảng 2.10 Kịch bản xem nhân viên đi công tác trong dự án Nhân viên
Bảng 2.11 Kịch bản xem chi phí đi công tác trong dự án Nhân viên
Bảng 2.12 Kịch bản xem vai trò của nhân viên trong dự án Nhân viên
Bảng 2.13 Kịch bản xem bài viết – tin tức Nhân viên
Bảng 2.14 Kịch bản đăng ký lịch làm việc ngoài giờ Nhân viên
Bảng 2.15 Kịch bản cập nhật nhân viên đi công tác qua website Người phụ trách công tác
Bảng 2.16 Kịch bản cập nhật chi phí đi công tác qua website Người phụ trách công tác
Bảng 2.17 Kịch bản cập nhật công tác cho dự án qua website Người quản lý dự án
Bảng 2.18 Kịch bản phê duyệt lịch làm việc ngoài giờ Người quản lý dự án
Bảng 2.19 Kịch bản phê duyệt chi phí đi công tác qua website Người quản lý dự án

Cùng với kịch bản Use-case, chương 2 xây dựng hệ thống 22 sơ đồ hoạt động (Activity Diagrams, đánh số từ Hình 2.3 đến Hình 2.22 trong danh mục đồ án), mô tả chi tiết luồng điều khiển cho từng hành vi như: đăng nhập, bình chọn, đăng ký/phê duyệt làm việc ngoài giờ, cập nhật đợt công tác, kiểm tra chi phí và duyệt hóa đơn công tác phí.

Chương 3: Xây dựng chương trình

Chương 3 trình bày các công cụ thực tế được sử dụng để lập trình hệ thống và minh chứng toàn bộ giao diện phần mềm đã hoàn thiện (gồm 38 hình ảnh giao diện từ Hình 3.1 đến Hình 3.38):

  • Phân hệ người dùng công chúng và nội bộ: Giao diện trang chủ (Hình 3.1), trang giới thiệu (Hình 3.2), trang tin tức và chi tiết tin tức (Hình 3.3, 3.7), trang sự kiện (Hình 3.4, 3.5), trang tuyển dụng và chi tiết tuyển dụng (Hình 3.6), giao diện hiển thị kết quả bình chọn dạng biểu đồ tròn và biểu đồ cột (Hình 3.8, 3.9).
  • Phân hệ quản trị dự án và nhân sự: Giao diện quản lý dự án dành cho Admin và Nhân viên (Hình 3.10, 3.12); chức năng thêm mới dự án (Hình 3.11); quản lý nhân viên trong dự án cho Admin và Nhân viên (Hình 3.13, 3.15); giao diện phân quyền vai trò dự án (Hình 3.30).
  • Phân hệ quản lý công tác và tài chính: Giao diện quản lý công tác của Admin (Hình 3.16); giao diện nhập tiền ứng công tác khi chi phí đã được duyệt (Hình 3.17); giao diện tạo mới công tác của Quản lý dự án (Hình 3.18, 3.19); giao diện quản lý chi tiết công tác của Người phụ trách (Hình 3.20, 3.21); giao diện tải hóa đơn chứng từ và hiệu chỉnh chi phí sau chuyến đi (Hình 3.23, 3.24); giao diện thẩm định và phê duyệt chi phí của Quản lý dự án (Hình 3.25, 3.27); màn hình quản lý và duyệt tất toán hoàn chi phí công tác của Admin (Hình 3.29).
  • Phân hệ quản lý làm việc ngoài giờ và tương tác email: Giao diện đăng ký OT của nhân viên (Hình 3.32, 3.33); giao diện danh sách đăng ký OT (Hình 3.37); cùng hệ thống hiển thị mẫu nội dung email tự động: email gửi đăng ký làm việc ngoài giờ (Hình 3.34, 3.38), email đồng ý duyệt OT (Hình 3.36), email từ chối duyệt OT (Hình 3.35), email thông báo từ chối chi phí công tác (Hình 3.22, 3.26) và email thông báo hoàn thành tất toán công tác phí gửi Admin (Hình 3.28).

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

  • Kết quả kỹ thuật đạt được:

    • Xây dựng hoàn chỉnh hệ thống website quản lý nội bộ phục vụ quy trình công tác cho Công ty Cổ phần Công nghệ số Thông Minh SDTECH, kết hợp công nghệ Java (Spring Boot, Liferay Portal) và MySQL.
    • Số hóa toàn diện 19 kịch bản Use-case thuộc 4 nhóm người dùng, hoàn thiện 38 màn hình giao diện chức năng bao gồm cả phân hệ quản trị dự án, nhân sự, tài chính công tác và truyền thông nội bộ.
    • Tích hợp thành công cơ chế gửi nhận thông báo qua email tự động trong các khâu nghiệp vụ có tính chất kiểm duyệt: thông báo đăng ký OT, thông báo phê duyệt/từ chối OT, thông báo kết quả duyệt chi phí công tác và thông báo quyết toán hoàn ứng.
    • Triển khai chức năng biểu diễn dữ liệu thống kê bình chọn trực quan qua biểu đồ dạng cột và dạng tròn.
  • Đóng góp thực tiễn theo đánh giá của tác giả:

    • Khắc phục các hạn chế trong quản lý dự án, theo dõi nhân sự và chi phí công tác thực tế tại công ty SDTECH, hỗ trợ doanh nghiệp tiết kiệm thời gian, nhân lực và chi phí quản lý gián tiếp.
    • Minh bạch hóa luồng kiểm soát chi phí công tác thông qua quy trình xét duyệt hai cấp: Quản lý dự án duyệt hạn mức/chứng từ thực tế và Quản trị viên (Trưởng phòng/Kế toán) phê duyệt tạm ứng và tất toán hoàn ứng.

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

  • Hạn chế: Hệ thống được thiết kế và kiểm thử trong phạm vi đặc thù của Công ty Cổ phần Công nghệ số Thông Minh SDTECH; các tham số nghiệp vụ được cố định theo luồng công việc nội bộ của đơn vị này. Văn bản đồ án chưa trình bày các dữ liệu thực nghiệm về kiểm thử hiệu năng chịu tải (load testing), độ trễ truy vấn khi cơ sở dữ liệu đạt quy mô lớn hoặc các đánh giá an toàn bảo mật trên môi trường production ngoài thực tế.
  • Hướng phát triển: Tác giả định hướng tiếp tục hoàn thiện, tối ưu hóa các module chức năng hiện có, nghiên cứu nâng cấp các tiện ích quản lý chuyên sâu hơn và mở rộng phạm vi áp dụng cho các mô hình doanh nghiệp khác có nhu cầu quản lý dự án và lịch trình công tác tương tự.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực tế cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm thực hiện đồ án tốt nghiệp liên quan đến đề tài số hóa quy trình quản lý doanh nghiệp, xây dựng cổng thông tin nội bộ (Intranet Portal) hoặc ứng dụng quản lý nhân sự - dự án.
  • Lập trình viên và người nghiên cứu cấu trúc Liferay Portal 7.2 kết hợp Spring Boot và MySQL, đặc biệt là các kỹ thuật phát triển mô-đun tuân thủ chuẩn OSGi và tích hợp cơ chế phân quyền đa người dùng.
  • Các nhà phát triển cần tài liệu mẫu về phân tích thiết kế phần mềm theo UML: đồ án cung cấp 19 kịch bản use-case chi tiết từ điều kiện đầu vào, đầu ra đến từng thao tác giao diện, cùng 22 sơ đồ hoạt động mô hình hóa quy trình phê duyệt công tác phí và làm việc ngoài giờ có tích hợp thông báo email hai chiều.

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

1. Hệ thống phân chia quyền hạn quản lý chi phí công tác như thế nào giữa các bên liên quan?

Quy trình quản lý chi phí công tác được phân định rõ ràng giữa 3 bên: Người quản lý dự án có thẩm quyền phê duyệt hoặc từ chối các khoản chi phí và hóa đơn do Người phụ trách công tác khai báo (nếu từ chối phải phản hồi lý do qua email). Người phụ trách công tác chịu trách nhiệm thêm mới, chỉnh sửa chi tiết chi phí, cập nhật hóa đơn sau chuyến đi và lập hồ sơ hoàn chi phí. Quản trị viên (Admin/Trưởng phòng) thực hiện thêm mới tiền tạm ứng cho đợt công tác khi chi phí đã được Quản lý dự án duyệt, đồng thời là cấp cuối cùng phê duyệt tất toán sau khi người phụ trách hoàn tất thủ tục.

2. Nền tảng Liferay Portal trong đồ án được dẫn chiếu tuân thủ những tiêu chuẩn kỹ thuật nào tại Việt Nam?

Theo văn bản, Liferay Portal đáp ứng các tiêu chuẩn kỹ thuật nêu trong Công văn số 1654/BTTTT-ƯDCNTT (ban hành ngày 27/05/2008) và Danh mục tiêu chuẩn về ứng dụng Công nghệ thông tin trong cơ quan nhà nước ban hành kèm Quyết định số 20/2008/QĐ-BTTTT (ngày 09/04/2008) của Bộ Thông tin và Truyền thông, bao gồm các chuẩn kết nối (HTTP, FTP, LDAP, DNS, POP3, TCP/IP) và chuẩn tích hợp dữ liệu (XML, XSL, RDF, UTF-8).

3. Quy trình đăng ký và phê duyệt làm việc ngoài giờ (OT) được thực hiện như thế nào trên website?

Nhân viên truy cập mục "Quản lý làm việc ngoài giờ", chọn thêm mới, điền thông tin ca làm việc ngoài giờ và nhấn gửi để hệ thống tự động phát email thông báo đến Người quản lý dự án. Người quản lý dự án nhận được yêu cầu sẽ xem xét và thực hiện phê duyệt hoặc từ chối trực tiếp trên hệ thống; kết quả phê duyệt sẽ kích hoạt email phản hồi tự động về hòm thư của nhân viên đăng ký.

4. Hệ thống trực quan hóa kết quả bình chọn của nhân viên bằng những hình thức nào?

Tại phân hệ bình chọn, sau khi Quản trị viên khởi tạo câu hỏi và các phương án trả lời, nhân viên tham gia biểu quyết trực tuyến. Dữ liệu kết quả bình chọn được hệ thống trực quan hóa dưới 2 dạng: giao diện bình chọn hiển thị biểu đồ tròn (Hình 3.8) và giao diện bình chọn hiển thị biểu đồ cột (Hình 3.9).

5. Những công cụ lập trình và thiết kế chính nào đã được tác giả sử dụng để hoàn thành đồ án?

Tác giả sử dụng StarUML để phân tích và vẽ sơ đồ Use-case, sơ đồ hoạt động; sử dụng môi trường phát triển tích hợp (IDE) IntelliJ IDEA để lập trình mã nguồn website; sử dụng gói phần mềm XAMPP để thiết lập môi trường máy chủ cục bộ và quản trị cơ sở dữ liệu MySQL; hệ thống vận hành trên nền tảng ngôn ngữ Java kết hợp Spring Boot và framework Liferay Portal 7.2.

Kết luận

Đồ án tốt nghiệp của sinh viên Phạm Ngọc Anh tại Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng đã giải quyết bài toán nghiệp vụ thực tiễn về quản lý lịch trình công tác và chi phí phát sinh tại Công ty Cổ phần Công nghệ số Thông Minh SDTECH. Tác giả đã hoàn thành khối lượng công việc toàn diện từ khảo sát nghiệp vụ, phân tích mô hình hóa UML với 19 kịch bản use-case, đến lập trình xây dựng 38 giao diện hệ thống trên nền tảng Java, Liferay Portal 7.2, Spring Boot và MySQL. Công trình cung cấp giải pháp chuyển đổi quy trình thủ công sang số hóa, đồng thời đóng vai trò tài liệu tham khảo chi tiết về phân tích thiết kế hệ thống thông tin quản lý nội bộ doanh nghiệp.