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

Trong bối cảnh chuyển đổi số và tự động hóa quy trình quản trị, việc ứng dụng công nghệ thông tin vào công tác quản trị doanh nghiệp đóng vai trò then chốt nhằm nâng cao hiệu suất làm việc, tối ưu hóa nguồn lực và duy trì tính linh hoạt trong điều hành. Đồ án tốt nghiệp "Xây dựng hệ thống quản lý công ty" do hai sinh viên Nguyễn Văn Quốc Tuấn và Nguyễn Thành Đa thực hiện dưới sự hướng dẫn của ThS. Mai Anh Thơ tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (tháng 7/2024), tập trung giải quyết bài toán quản trị vận hành nội bộ thông qua việc xây dựng một nền tảng website tích hợp.

Theo tác giả, nhu cầu xây dựng hệ thống xuất phát từ các yêu cầu thực tiễn sau:

  1. Tăng cường hiệu suất làm việc: Cung cấp công cụ phân chia công việc, theo dõi tiến độ dự án theo thời gian thực và quản lý lịch biểu nhằm đồng bộ hóa quy trình phối hợp giữa các thành viên.
  2. Quản lý thông tin hiệu quả: Tập trung hóa dữ liệu trên môi trường trực tuyến, hỗ trợ tìm kiếm, phân loại và bảo mật tài liệu doanh nghiệp, giảm thiểu thời gian truy xuất thông tin thủ công.
  3. Hiện đại hóa môi trường làm việc: Tạo dựng môi trường số hóa linh hoạt, tiết kiệm thời gian, giảm chi phí vận hành và mở rộng khả năng tương tác nội bộ.

Mục tiêu chính của đề tài là phân tích, thiết kế và lập trình hoàn chỉnh một hệ thống website quản trị công ty với 13 chức năng cốt lõi. Nhiệm vụ của đề tài được phân công cụ thể giữa hai tác giả:

  • Sinh viên Nguyễn Văn Quốc Tuấn: Khảo sát hiện trạng, xây dựng lược đồ Use Case, thiết kế Mockup, lập trình giao diện người dùng (Front-end) và thực hiện kiểm thử phần mềm.
  • Sinh viên Nguyễn Thành Đa: Thiết kế cơ sở dữ liệu, xây dựng các giao diện lập trình ứng dụng (RESTful API ở Back-end), kiểm thử phần mềm và hoàn thiện báo cáo thuyết minh.

Đối tượng và phạm vi nghiên cứu của đề tài được xác định gồm:

  • Đối tượng sử dụng: Hệ thống phân định 3 nhóm người dùng gồm Nhân viên công ty (nhận nhiệm vụ, nộp kết quả công việc, tra cứu tài liệu liên quan), Quản lý và lãnh đạo (điều hành nhân sự, dự án, phê duyệt công việc, tính lương, xem báo cáo), và Cán bộ quản trị hệ thống - Admin (quản lý tài khoản, cấu hình quyền hạn và bảo trì hệ thống).
  • Phạm vi nghiên cứu: Tập trung vào quy trình vận hành nội bộ của các tổ chức, doanh nghiệp vừa và nhỏ có nhu cầu chuẩn hóa quản lý nhân sự, dự án và tài liệu số; tham chiếu các giải pháp kỹ thuật từ chuyên gia CNTT và khung chính sách, quy định của cơ quan quản lý nhà nước về dữ liệu.

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

Nhóm tác giả áp dụng phương pháp nghiên cứu kỹ thuật phần mềm kết hợp khảo sát, phân tích đối chuẩn (benchmarking) các nền tảng quản trị công việc thương mại hiện có trên thị trường gồm Monday.com, Trello và Basecamp để làm căn cứ xác lập yêu cầu hệ thống.

Tiêu chí so sánh Monday.com Trello Basecamp
Giao diện Trực quan, tính linh hoạt cao Thân thiện, đơn giản, dễ tiếp cận Phức tạp hơn, nhiều tính năng tùy biến
Tốc độ tải trang Tải nhanh Nhanh, phản hồi mượt Nhanh, xử lý ổn định
Khả năng điều hướng Phân công việc, theo dõi tiến độ rõ ràng Quản lý dạng bảng và thẻ (card), di chuyển linh hoạt Tích hợp nhiệm vụ, lịch biểu, trao đổi nhóm
Hỗ trợ thiết bị Đa nền tảng (PC, điện thoại, máy tính bảng) Đa nền tảng, có ứng dụng di động hoàn chỉnh Đa nền tảng, đồng bộ trên nhiều thiết bị
Quản lý nội dung Tạo, chỉnh sửa, đính kèm tệp vào từng tác vụ Hỗ trợ đính kèm tệp tin trên từng thẻ công việc Tích hợp sâu với các ứng dụng văn phòng
Tính năng đặc thù Kanban Board thời gian thực, báo cáo phân tích Kanban Board trực quan, tích hợp Google Drive, Slack Quản trị dự án toàn diện, chat nội bộ, tệp tin
Đối tượng tiếp cận Doanh nghiệp nhỏ, lớn, giáo dục, phi lợi nhuận Cá nhân, nhóm làm việc nhỏ, doanh nghiệp Tập trung vào doanh nghiệp và tổ chức

Từ kết quả khảo sát đối chuẩn, nhóm tác giả rút ra các yêu cầu kỹ thuật cho hệ thống đề xuất:

  • Yêu cầu phi chức năng: Giao diện trực quan, hạn chế tối đa phát sinh lỗi trên giao diện, thời gian phản hồi nhanh và thao tác thân thiện với người dùng.
  • Yêu cầu chức năng: Bao gồm 13 module chức năng chuẩn hóa: (1) Đăng nhập, (2) Lấy lại mật khẩu, (3) Đổi mật khẩu tài khoản, (4) Quản lý phòng ban, (5) Quản lý thông tin tài khoản cá nhân, (6) Quản lý danh sách tài khoản, (7) Quản lý tài liệu, (8) Phân quyền tài liệu, (9) Tìm kiếm tài liệu, (10) Quản lý dự án, (11) Quản lý công việc dự án, (12) Quản lý thành viên dự án, (13) Quản lý lương nhân sự.

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

Hệ thống được thiết kế theo kiến trúc 3 tầng truyền thống (3-tier architecture): Tầng hiển thị (Front-end), Tầng ứng dụng xử lý nghiệp vụ (Back-end) và Tầng cơ sở dữ liệu (Database).

Luồng tương tác của hệ thống diễn ra qua 6 bước: Client gửi yêu cầu thông qua giao diện Front-end; Front-end chuyển tiếp HTTP request đến Back-end; Back-end tiếp nhận, xử lý logic nghiệp vụ và truy xuất cơ sở dữ liệu MySQL; MySQL trả về tập kết quả dữ liệu; Back-end đóng gói dữ liệu phản hồi trả về cho Front-end; Front-end render thông tin hiển thị lên trình duyệt của người dùng.

Bộ công nghệ triển khai trong đồ án gồm:

  • Tầng Front-end: Sử dụng thư viện ReactJS do Meta phát triển, vận hành dựa trên cơ chế Virtual DOM (DOM ảo) và cú pháp JSX nhằm tối ưu hiệu năng render giao diện. Về giao diện, nhóm kết hợp hai bộ thư viện thành phần là Ant Design (cung cấp các component chuyên nghiệp như Layout, Button, Icon, DatePicker, LocaleProvider) và React-Bootstrap (hỗ trợ bố cục lưới và phản hồi linh hoạt).
  • Tầng Back-end: Sử dụng nền tảng Spring Boot (ngôn ngữ Java) với cơ chế tự động cấu hình (Auto-configuration) và kỹ thuật Tiêm phụ thuộc (Dependency Injection - DI). Hệ thống tổ chức theo mô hình phân tầng chặt chẽ:
    • Controller: Tiếp nhận và định tuyến các request từ client.
    • Dto: Ánh xạ và chuyển đổi dữ liệu trao đổi giữa client và server.
    • Service: Chứa toàn bộ mã nguồn xử lý logic nghiệp vụ.
    • Repository: Kế thừa các interface của Spring Data JPA để thực hiện truy vấn và tương tác với cơ sở dữ liệu.
    • Model: Định nghĩa các thực thể Java (JavaBeans) ánh xạ trực tiếp sang các bảng dữ liệu thông qua cơ chế ORM.
    • Application.java: Lớp khởi chạy chính của ứng dụng Spring Boot.
  • Thư viện và công cụ Back-end tích hợp: Dự án được khởi tạo qua Spring Initializr với các dependency: Spring Web (xây dựng RESTful API và Spring MVC chạy trên Apache Tomcat), MySQL Driver (kết nối cơ sở dữ liệu), Spring Boot DevTools (tự động LiveReload khi thay đổi code), Spring Security (bảo mật và xác thực), Validation (kiểm tra tính hợp lệ của dữ liệu đầu vào) và Spring Data JPA (thao tác dữ liệu).
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ MySQL mã nguồn mở, quản lý phân quyền theo tài khoản truy cập và lưu trữ dữ liệu thông qua các bảng có quan hệ ràng buộc khóa ngoại.

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

Chương 1: Tổng quan về đề tài

Chương 1 thiết lập cơ sở khoa học và thực tiễn của đề tài. Tác giả trình bày ba lý do chính thúc đẩy việc nghiên cứu: nâng cao hiệu suất làm việc, tối ưu hóa công tác quản lý thông tin và xây dựng môi trường làm việc hiện đại. Chương này phân tích tính cấp thiết của việc áp dụng giải pháp công nghệ thông tin trong bối cảnh các doanh nghiệp đối mặt với môi trường kinh doanh cạnh tranh, đòi hỏi khả năng phản ứng nhanh và quản trị tài nguyên chặt chẽ. Trọng tâm của chương là nghiên cứu khảo sát hiện trạng của 3 nền tảng thương mại hàng đầu gồm Monday.com, Trello và Basecamp trên 8 tiêu chí kỹ thuật và nghiệp vụ. Trên cơ sở đó, tác giả cụ thể hóa mục tiêu dự kiến với bảng danh mục 13 yêu cầu chức năng, 4 yêu cầu phi chức năng, phạm vi nghiên cứu và bảng phân công trách nhiệm cho từng thành viên trong nhóm.

Chương 2: Các công nghệ sử dụng

Chương 2 trình bày chi tiết về kiến trúc hệ thống và cơ sở kỹ thuật được lựa chọn. Tác giả mô tả mô hình kiến trúc 3 tầng, làm rõ vai trò của từng thành phần trong chu trình xử lý dữ liệu. Về Front-end, tài liệu phân tích nguyên lý hoạt động của ReactJS (DOM ảo, JSX, công cụ Chrome React Developer Tools) và cách tích hợp hai bộ UI Component là Ant Design và React-Bootstrap. Về Back-end, chương này giới thiệu tổng quan hệ quản trị cơ sở dữ liệu MySQL và Spring Boot framework, phân tích cấu trúc thư mục dự án chuẩn gồm Controller, DTO, Service, Repository, Model. Ngoài ra, tác giả thuyết minh chi tiết quy trình khởi tạo dự án bằng Spring Initializr, lựa chọn các dependency cần thiết, cấu hình kết nối cơ sở dữ liệu trong file cấu hình và quy trình kiểm thử API độc lập bằng công cụ Postman.

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

Chương 3 là phần trọng tâm về kỹ thuật phần mềm, tập trung mô hình hóa hệ thống thông qua ngôn ngữ UML và tài liệu đặc tả:

  • Lược đồ Use Case: Mô hình hóa các ca sử dụng tổng quát cho các nhóm tác nhân (User/Nhân viên, Quản trị viên/Admin, Trưởng dự án/Leader).
  • Đặc tả Use Case và Sơ đồ tuần tự (Sequence Diagram): Xây dựng kịch bản chi tiết bao gồm Tiền điều kiện (Pre-conditions), Hậu điều kiện (Post-conditions), Luồng sự kiện chính (Basic/Main Flow), Luồng sự kiện thay thế (Alternative Flows) và Luồng ngoại lệ (Exception Flows). Các ca sử dụng được đặc tả gồm:
    • Nhóm chức năng người dùng: Đăng nhập hệ thống (xử lý ngoại lệ E1 khi sai thông tin), Quản lý thông tin cá nhân, Tải tài liệu lên hệ thống (kiểm tra tính hợp lệ của tệp), Tải tài liệu xuống và Tìm kiếm tài liệu theo quyền truy cập.
    • Nhóm chức năng quản trị: Quản lý phòng ban (tạo mới với ngoại lệ tên phòng ban trùng lặp E1 hoặc thiếu dữ liệu E2; chỉnh sửa phòng ban; xem danh sách phòng ban).
    • Nhóm chức năng dự án: Quản lý dự án (tạo mới, sửa), Quản lý tính năng của dự án (tạo mới, sửa tính năng), Quản lý công việc (task).
    • Quy trình đổi trạng thái công việc (task): Phân định rõ thẩm quyền giữa các vai trò: Thành viên (Member) chọn biểu tượng ngọn lửa để chuyển trạng thái sang "Đang xử lý", nhấn biểu tượng dấu tích xanh để gửi biểu mẫu (form) xác nhận chuyển sang "Chờ duyệt" (hoặc chọn biểu tượng lặp lại để quay lại quy trình); Quản trị viên (Admin) hoặc Trưởng nhóm (Leader) nhấn biểu tượng dấu tích xanh để phê duyệt công việc chuyển sang trạng thái "Hoàn tất".
  • Thiết kế giao diện: Thuyết minh bố cục các màn hình ứng dụng gồm Menu Navbar, Trang quản trị người dùng, Trang quản lý và tìm kiếm tài liệu, Cấu hình nhóm quyền và quyền hạn, Trang quản lý dự án, tính năng, thành viên, danh sách task, và giao diện quản lý bảng lương định kỳ.

Chương 4: Kiểm thử và cài đặt hệ thống

Chương 4 trình bày kế hoạch kiểm tra chất lượng phần mềm và các bước triển khai ứng dụng. Kế hoạch kiểm thử xác định rõ mục đích nhằm rà soát các chức năng đã xây dựng so với đặc tả yêu cầu, thiết lập lịch trình kiểm thử và phân định phạm vi kiểm thử (phân định rõ ràng các chức năng được kiểm thử và các chức năng chưa được kiểm thử trong giai đoạn này). Về triển khai cài đặt, tài liệu hướng dẫn từng bước thiết lập môi trường:

  • Phía Front-end: Cài đặt source code, chạy lệnh cài đặt thư viện phụ thuộc (package) và lệnh khởi chạy máy chủ phát triển để hiển thị giao diện trên trình duyệt.
  • Phía Back-end: Cấu hình tệp nguồn kết nối cơ sở dữ liệu MySQL, biên dịch mã nguồn và thực thi lệnh chạy ứng dụng Spring Boot.

Chương 5: Kết luận

Chương 5 tổng kết lại toàn bộ khối lượng công việc đã hoàn thành so với mục tiêu đề ra ban đầu, tự đánh giá tính ổn định và khả năng đáp ứng của hệ thống, chỉ ra các hạn chế kỹ thuật hiện tại và đề xuất định hướng nghiên cứu, nâng cấp phần mềm trong tương lai.

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

Hệ thống đã hiện thực hóa thành công các kết quả kỹ thuật cụ thể được ghi nhận trong văn bản:

  1. Xây dựng hoàn chỉnh ứng dụng web quản lý nội bộ vận hành theo kiến trúc 3 tầng với 13 module chức năng, đáp ứng đầy đủ các yêu cầu nghiệp vụ về quản trị người dùng, cơ cấu tổ chức (phòng ban), quản lý dự án, phân rã tính năng, giao và giám sát công việc (task).
  2. Xây dựng phân hệ quản trị tài liệu nội bộ hỗ trợ tải lên, tải xuống, tìm kiếm và phân quyền chia sẻ tài liệu theo nhóm quyền người dùng.
  3. Thiết lập quy trình luân chuyển trạng thái công việc chặt chẽ có sự phối hợp giữa thành viên thực hiện và cấp quản lý (Chưa thực hiện -> Đang xử lý -> Chờ duyệt -> Hoàn tất).
  4. Chuẩn hóa kiến trúc mã nguồn Back-end trên nền tảng Spring Boot theo cấu trúc phân lớp rõ ràng (Controller - Dto - Service - Repository - Model), hỗ trợ xác thực bằng Spring Security và kiểm tra dữ liệu đầu vào bằng Bean Validation.

Về mặt đóng góp, đề tài cung cấp một giải pháp phần mềm mã nguồn mở nội bộ tích hợp đa chức năng (kết hợp quản lý dự án kiểu Kanban/Task với quản lý nhân sự, tài liệu và bảng lương), giúp các tổ chức nhỏ có thể quản lý tập trung thay vì phải sử dụng rời rạc nhiều phần mềm độc lập.

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

Dựa trên các nội dung được trình bày trong văn bản và phạm vi kiểm thử thực tế của đồ án:

  • Hạn chế: Theo nội dung chương 4, hệ thống vẫn tồn tại các chức năng nằm trong danh mục "Những chức năng không được kiểm thử", cho thấy việc kiểm thử chưa bao phủ toàn diện 100% các trường hợp sử dụng. Các phân hệ nâng cao như quản lý bảng lương định kỳ, chi tiết kỳ lương và cơ chế phân quyền chia sẻ tài liệu phức tạp mới dừng lại ở mức giao diện và xử lý cơ bản, chưa được kiểm thử tải lớn hay đánh giá an toàn thông tin chuyên sâu.
  • Hướng phát triển: Hoàn thiện quy trình kiểm thử tự động cho toàn bộ các chức năng còn lại; nâng cấp và tự động hóa công thức tính lương theo ngày công thực tế; tăng cường cơ chế bảo mật nâng cao cho tài liệu lưu trữ; và tối ưu hóa hiệu năng truy vấn dữ liệu khi quy mô nhân sự và dự án tăng cao.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện đồ án tốt nghiệp hoặc đề tài phát triển ứng dụng web full-stack.

Những nội dung có giá trị tham khảo cao trong tài liệu bao gồm:

  • Phương pháp khảo sát và lập bảng so sánh đối chuẩn các phần mềm công nghiệp (Monday.com, Trello, Basecamp).
  • Quy trình phân tích nghiệp vụ và lập tài liệu đặc tả Use Case đầy đủ các luồng sự kiện (Basic, Alternative, Exception Flows), đặc biệt là quy trình điều khiển luồng trạng thái tác vụ giữa các vai trò Member, Leader và Admin.
  • Cấu trúc tổ chức mã nguồn chuẩn của dự án Spring Boot kết hợp Spring Data JPA và RESTful API kết nối với ReactJS và Ant Design.

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

1. Hệ thống quản lý công ty trong đồ án sử dụng kiến trúc và công nghệ nền tảng nào? Hệ thống được xây dựng theo mô hình kiến trúc 3 tầng truyền thống: tầng hiển thị Front-end sử dụng thư viện ReactJS kết hợp Ant Design và React-Bootstrap; tầng xử lý nghiệp vụ Back-end sử dụng Spring Boot framework (ngôn ngữ Java); tầng cơ sở dữ liệu sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL kết nối qua Spring Data JPA.

2. Quy trình đổi trạng thái công việc (task) giữa các tác nhân được quy định như thế nào? Thành viên dự án (Member) nhấn biểu tượng ngọn lửa để chuyển trạng thái công việc sang "Đang xử lý", sau đó nhấn biểu tượng dấu tích xanh để mở biểu mẫu nộp công việc và chuyển trạng thái sang "Chờ duyệt". Quản trị viên (Admin) hoặc Trưởng nhóm (Leader) sẽ kiểm tra và nhấn biểu tượng dấu tích xanh để xác nhận chuyển trạng thái task sang "Hoàn tất". Trường hợp cần chỉnh sửa lại, người dùng có thể kích hoạt luồng thay thế thông qua biểu tượng lặp lại.

3. Nhóm tác giả đã khảo sát những ứng dụng tương tự nào để xây dựng yêu cầu chức năng? Nhóm tác giả đã tiến hành khảo sát, phân tích hiện trạng và so sánh 3 ứng dụng quản trị công việc phổ biến trên thị trường gồm: Monday.com, Trello và Basecamp dựa trên các tiêu chí về giao diện, tốc độ tải trang, khả năng điều hướng, tính tương thích thiết bị, khả năng quản lý nội dung, SEO, khả năng nâng cấp và phân loại chức năng Kanban/quản lý dự án.

4. Phía Back-end Spring Boot sử dụng những dependency cốt lõi nào? Back-end của hệ thống tích hợp các dependency chính thông qua Spring Initializr gồm: Spring Web (xây dựng RESTful web service trên máy chủ Apache Tomcat), MySQL Driver (kết nối cơ sở dữ liệu MySQL), Spring Boot DevTools (hỗ trợ LiveReload khi phát triển), Spring Security (bảo mật hệ thống), Validation (kiểm tra tính hợp lệ dữ liệu) và Spring Data JPA (ánh xạ đối tượng - quan hệ ORM).

5. Phạm vi đối tượng người dùng của hệ thống được phân chia thành những nhóm nào? Hệ thống phân định quyền hạn và giao diện phục vụ 3 nhóm đối tượng chính trong doanh nghiệp gồm: Nhân viên công ty (thực hiện công việc, quản lý thông tin cá nhân, tra cứu và tải tài liệu), Quản lý và lãnh đạo (quản lý nhân sự, dự án, phê duyệt tiến độ công việc, quản lý lương và tài liệu chiến lược), và Cán bộ quản trị hệ thống (cấu hình tham số, quản lý người dùng, phân quyền phòng ban và bảo trì dữ liệu).

Kết luận

Đồ án tốt nghiệp "Xây dựng hệ thống quản lý công ty" của sinh viên Nguyễn Văn Quốc Tuấn và Nguyễn Thành Đa đã hoàn thành việc nghiên cứu, phân tích nghiệp vụ và lập trình một nền tảng quản trị doanh nghiệp nội bộ hoàn chỉnh. Hệ thống được triển khai bài bản trên nền tảng kiến trúc 3 tầng kết hợp giữa Spring Boot, ReactJS và MySQL, đáp ứng 13 nhóm chức năng từ quản lý phòng ban, phân quyền tài liệu đến điều hành dự án và công việc. Mặc dù vẫn còn một số chức năng cần tiếp tục kiểm thử mở rộng và tối ưu hóa hiệu năng, đề tài đã đáp ứng tốt các yêu cầu kỹ thuật của một khóa luận tốt nghiệp kỹ sư Công nghệ Thông tin và có giá trị ứng dụng thực tiễn trong công tác số hóa quản lý tại các doanh nghiệp.